From 39d3b93a38e613e013d6087cde8343607ac7317d Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 30 Jul 2011 21:57:28 -0700 Subject: [PATCH] Pretty-print tests only run on .rs files. Issue #789 The pretty-printer can't handle .rc files currently --- src/test/compiletest/compiletest.rs | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/test/compiletest/compiletest.rs b/src/test/compiletest/compiletest.rs index 8e90c921fa65..ab1eb989b292 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]) ->