diff --git a/Cargo.lock b/Cargo.lock index 13cf4cb8..e744098c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -2732,9 +2732,9 @@ dependencies = [ [[package]] name = "libz-ng-sys" -version = "1.1.16" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4436751a01da56f1277f323c80d584ffad94a3d14aecd959dd0dff75aa73a438" +checksum = "8f0f7295a34685977acb2e8cc8b08ee4a8dffd6cf278eeccddbe1ed55ba815d5" dependencies = [ "cmake", "libc", diff --git a/src/report/mod.rs b/src/report/mod.rs index 754a629f..ad9d5382 100644 --- a/src/report/mod.rs +++ b/src/report/mod.rs @@ -228,12 +228,11 @@ pub fn generate_report( .iter() .map(|krate| { // Any errors here will turn into unknown results - let crate_results = ex.toolchains.iter().map(|tc| -> Fallible { - let res = db - .load_test_result(ex, tc, krate)? - .ok_or_else(|| err_msg("no result"))?; + let mut crate_results = ex.toolchains.iter().map(|tc| -> Option { + // Convert errors to None with ok() + let res = db.load_test_result(ex, tc, krate).ok()??; - Ok(BuildTestResult { + Some(BuildTestResult { res, log: crate_to_path_fragment(tc, krate, SanitizationContext::Url) .to_str() @@ -241,8 +240,6 @@ pub fn generate_report( .replace('\'', "/"), // Normalize paths in reports generated on Windows }) }); - // Convert errors to Nones - let mut crate_results = crate_results.map(|r| r.ok()); let crate1 = crate_results.next().unwrap(); let crate2 = crate_results.next().unwrap(); let comp = compare( diff --git a/src/results/db.rs b/src/results/db.rs index 72f2e147..475168aa 100644 --- a/src/results/db.rs +++ b/src/results/db.rs @@ -133,6 +133,10 @@ impl<'a> DatabaseDB<'a> { res: &TestResult, log: EncodedLog, ) -> Fallible { + log::info!( + "insert {krate:?} for ex={ex:?} with tc={toolchain:?}; result={res:?}", + ex = &ex.name + ); self.db.execute( "INSERT INTO results (experiment, crate, toolchain, result, log, encoding) \ VALUES (?1, ?2, ?3, ?4, ?5, ?6);", diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 11ba4cd6..9a86c408 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -95,5 +95,5 @@ fn is_backtrace_runtime_enabled() -> bool { std::env::var("RUST_BACKTRACE") .ok() .and_then(|s| i32::from_str(&s).ok()) - .map_or(false, |val| val != 0) + .is_some_and(|val| val != 0) }