about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Holk <eric.holk@gmail.com>2012-06-27 22:30:08 -0700
committerEric Holk <eric.holk@gmail.com>2012-06-27 22:30:08 -0700
commit61b1875c16de39c166b0f4d54bba19f9c6777d1a (patch)
tree284b1fc2a6e52a9180dc71f7ce0ee5a153428bf7
parent6f57c61ed0e7f5c6f3b5cc9edd83c8728b2210a1 (diff)
downloadrust-61b1875c16de39c166b0f4d54bba19f9c6777d1a.tar.gz
rust-61b1875c16de39c166b0f4d54bba19f9c6777d1a.zip
make core-std respect RUST_BENCH
-rw-r--r--src/test/bench/core-std.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/test/bench/core-std.rs b/src/test/bench/core-std.rs
index af415e8fb4d..e2cacc2e6d6 100644
--- a/src/test/bench/core-std.rs
+++ b/src/test/bench/core-std.rs
@@ -11,9 +11,7 @@ import io::{reader, reader_util};
 fn main(argv: [str]/~) {
     #macro[
         [#bench[id],
-         if tests.len() == 0 || vec::contains(tests, #stringify(id)) {
-             run_test(#stringify(id), id);
-         }
+         maybe_run_test(argv, #stringify(id), id)
         ]
     ];
 
@@ -27,7 +25,16 @@ fn main(argv: [str]/~) {
     #bench[vec_push_all];
 }
 
-fn run_test(name: str, test: fn()) {
+fn maybe_run_test(argv: [str]/&, name: str, test: fn()) {
+    let mut run_test = false;
+
+    if os::getenv("RUST_BENCH").is_some() { run_test = true }
+    else if argv.len() > 0 {
+        run_test = argv.contains("all") || argv.contains(name)
+    }
+
+    if !run_test { ret }
+
     let start = precise_time_s();
     test();
     let stop = precise_time_s();