about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-07-30 21:57:28 -0700
committerBrian Anderson <banderson@mozilla.com>2011-08-02 10:39:12 -0700
commit39d3b93a38e613e013d6087cde8343607ac7317d (patch)
tree6056de41a6f920b3ce118c79e039e32c3cee90bc /src
parent4e8ab8b3a8fa324754023feeb4406482c4643feb (diff)
downloadrust-39d3b93a38e613e013d6087cde8343607ac7317d.tar.gz
rust-39d3b93a38e613e013d6087cde8343607ac7317d.zip
Pretty-print tests only run on .rs files. Issue #789
The pretty-printer can't handle .rc files currently
Diffstat (limited to 'src')
-rw-r--r--src/test/compiletest/compiletest.rs27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/test/compiletest/compiletest.rs b/src/test/compiletest/compiletest.rs
index 8e90c921fa6..ab1eb989b29 100644
--- a/src/test/compiletest/compiletest.rs
+++ b/src/test/compiletest/compiletest.rs
@@ -125,16 +125,33 @@ fn make_tests(cx: &cx) -> tests_and_conv_fn {
     let tests = ~[];
     for file: str  in fs::list_dir(cx.config.src_base) {
         log #fmt("inspecting file %s", file);
-        if is_test(file) { tests += ~[make_test(cx, file, configport)]; }
+        if is_test(cx.config, file) {
+            tests += ~[make_test(cx, file, configport)];
+        }
     }
     ret {tests: tests, to_task: bind closure_to_task(cx, configport, _)};
 }
 
-fn is_test(testfile: &str) -> bool {
+fn is_test(config: &config, testfile: &str) -> bool {
+    // Pretty-printer does not work with .rc files yet
+    let valid_extensions = alt config.mode {
+      mode_pretty. { ~[".rs"] }
+      _ { ~[".rc", ".rs"] }
+    };
+    let invalid_prefixes = ~[".", "#", "~"];
     let name = fs::basename(testfile);
-    (str::ends_with(name, ".rs") || str::ends_with(name, ".rc")) &&
-        !(str::starts_with(name, ".") || str::starts_with(name, "#") ||
-              str::starts_with(name, "~"))
+
+    let valid = false;
+
+    for ext in valid_extensions {
+        if str::ends_with(name, ext) { valid = true }
+    }
+
+    for pre in invalid_prefixes {
+        if str::starts_with(name, pre) { valid = false }
+    }
+
+    ret valid;
 }
 
 fn make_test(cx: &cx, testfile: &str, configport: &port[str]) ->