test_fixture(name: &str)1fn test_fixture(name: &str) { 2 let temp = assert_fs::TempDir::new().unwrap(); 3 4 let msgs = escargot::CargoBuild::new() 5 .manifest_path(&format!("tests/fixtures/{}/Cargo.toml", name)) 6 .current_release() 7 .current_target() 8 .target_dir(temp.path()) 9 .exec() 10 .unwrap(); 11 for msg in msgs { 12 let raw_msg = msg.unwrap(); 13 let msg = raw_msg.decode(); 14 match msg { 15 Ok(msg) => println!("{:#?}", msg), 16 Err(err) => panic!("{}\nmsg=`{:#?}`", err, raw_msg), 17 } 18 } 19 } 20 21 #[test] test_bin()22fn test_bin() { 23 test_fixture("bin"); 24 } 25 26 #[test] test_lib()27fn test_lib() { 28 test_fixture("lib"); 29 } 30 31 #[test] test_bin_lib()32fn test_bin_lib() { 33 test_fixture("bin_lib"); 34 } 35 36 #[test] test_warn()37fn test_warn() { 38 test_fixture("warn"); 39 } 40 41 #[test] test_build_script()42fn test_build_script() { 43 test_fixture("script"); 44 } 45 46 #[test] test_dependency()47fn test_dependency() { 48 test_fixture("dep"); 49 } 50 51 #[test] test_error()52fn test_error() { 53 let msgs: Vec<_> = escargot::CargoBuild::new() 54 .manifest_path("tests/fixtures/error/Cargo.toml") 55 .current_release() 56 .current_target() 57 .exec() 58 .unwrap() 59 .collect(); 60 assert!(1 < msgs.len()); 61 let error_idx = msgs.len() - 1; 62 for msg in &msgs[0..error_idx] { 63 let msg = msg.as_ref().unwrap(); 64 let msg = msg.decode().unwrap(); 65 println!("{:#?}", msg); 66 } 67 assert!(msgs[error_idx].is_err()); 68 println!("```{}```", msgs[error_idx].as_ref().err().unwrap()); 69 } 70