about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-19 14:43:56 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-19 17:54:21 -0800
commit6d4884d983fbf931740be064dfe5b9b01e6118c3 (patch)
treee983dbef1ee0dfa7d630b2fd91e1cf7365885daa /src/libstd
parent928e55815c8ec773d465a367605fa95832cce7d4 (diff)
downloadrust-6d4884d983fbf931740be064dfe5b9b01e6118c3.tar.gz
rust-6d4884d983fbf931740be064dfe5b9b01e6118c3.zip
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.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/test.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libstd/test.rs b/src/libstd/test.rs
index 88601ebb19e..7fc63c015ee 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] {