From e06143d3373293d0490df482261cd4a842f1a5c5 Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Thu, 3 Oct 2019 16:51:34 +0200 Subject: [PATCH] Fix libtest compilation --- src/libtest/lib.rs | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs index 8b76080..9e65de2 100644 --- a/src/libtest/lib.rs +++ b/src/libtest/lib.rs @@ -52,7 +52,7 @@ use std::fmt; use std::fs::File; use std::io; use std::io::prelude::*; -use std::panic::{self, catch_unwind, AssertUnwindSafe, PanicInfo}; +use std::panic::{self, PanicInfo}; use std::path::PathBuf; use std::process; use std::process::{ExitStatus, Command, Termination}; @@ -1493,7 +1493,7 @@ pub fn run_test( fn run_test_inner( desc: TestDesc, monitor_ch: Sender, - testfn: Box, + testfn: Box, opts: TestRunOpts, ) { let concurrency = opts.concurrency; @@ -1509,7 +1509,7 @@ pub fn run_test( // If the platform is single-threaded we're just going to run // the test synchronously, regardless of the concurrency // level. - let supports_threads = !cfg!(target_os = "emscripten") && !cfg!(target_arch = "wasm32"); + let supports_threads = false; if concurrency == Concurrent::Yes && supports_threads { let cfg = thread::Builder::new().name(name.as_slice().to_owned()); cfg.spawn(runtest).unwrap(); @@ -1531,17 +1531,8 @@ pub fn run_test( (benchfn.clone())(harness) }); } - DynTestFn(f) => { - match strategy { - RunStrategy::InProcess => (), - _ => panic!("Cannot run dynamic test fn out-of-process"), - }; - run_test_inner( - desc, - monitor_ch, - Box::new(move || __rust_begin_short_backtrace(f)), - test_run_opts, - ); + DynTestFn(_f) => { + unimplemented!(); } StaticTestFn(f) => run_test_inner( desc, @@ -1604,10 +1592,10 @@ fn get_result_from_exit_code(desc: &TestDesc, code: i32) -> TestResult { fn run_test_in_process( desc: TestDesc, nocapture: bool, report_time: bool, - testfn: Box, + testfn: Box, monitor_ch: Sender, time_opts: Option, ) { // Buffer for capturing standard I/O let data = Arc::new(Mutex::new(Vec::new())); @@ -1623,7 +1611,7 @@ fn run_test_in_process(desc: TestDesc, } else { None }; - let result = catch_unwind(AssertUnwindSafe(testfn)); + let result = Ok::<(), Box>(testfn()); let exec_time = start.map(|start| { let duration = start.elapsed(); TestExecTime(duration) @@ -1688,10 +1676,10 @@ fn spawn_test_subprocess(desc: TestDesc, report_time: bool, monitor_ch: Sender, + testfn: Box, ) -> ! { let builtin_panic_hook = panic::take_hook(); let record_result = Arc::new(move |panic_info: Option<&'_ PanicInfo<'_>>| { let test_result = match panic_info { -- 2.20.1