From 6d4884d983fbf931740be064dfe5b9b01e6118c3 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 19 Jan 2012 14:43:56 -0800 Subject: [PATCH] libcore: Use 4x the number of scheduler threads for testing An arbitrary number. I've done no measurements but it's intended to overcome the effects of tasks randomly being scheduled to threads and no work stealing. If scheduler threads == 1 then we just use a single test task. --- src/compiletest/compiletest.rs | 1 - src/libstd/test.rs | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/compiletest/compiletest.rs b/src/compiletest/compiletest.rs index ccbafa0f1591..a86a94547f73 100644 --- a/src/compiletest/compiletest.rs +++ b/src/compiletest/compiletest.rs @@ -187,7 +187,6 @@ fn make_test_closure(cx: cx, testfile: str) -> test::test_fn { fn run_test_task(config: common::config, procsrv_chan: procsrv::reqchan, testfile: str) { - test::configure_test_task(); let procsrv = procsrv::from_chan(procsrv_chan); let cx = {config: config, procsrv: procsrv}; diff --git a/src/libstd/test.rs b/src/libstd/test.rs index 88601ebb19e0..7fc63c015ee5 100644 --- a/src/libstd/test.rs +++ b/src/libstd/test.rs @@ -227,7 +227,11 @@ fn run_tests(opts: test_opts, tests: [test_desc], } } -fn get_concurrency() -> uint { rustrt::sched_threads() } +fn get_concurrency() -> uint { + let threads = rustrt::sched_threads(); + if threads == 1u { 1u } + else { threads * 4u } +} fn filter_tests(opts: test_opts, tests: [test_desc]) -> [test_desc] {