From 23e50b392c15c4df74b6e79f24c444a6668461f1 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 21 Aug 2012 18:07:05 -0700 Subject: [PATCH] Move some tests to test/ref. Make ref tests ignorable --- src/reftest/reftest.rs | 36 ++++++++++++++++++-- src/test/{ => ref}/compute_height_width.html | 1 + src/test/{ => ref}/height.css | 0 src/test/{ => ref}/height_compute.html | 1 + src/test/{ => ref}/height_width.css | 0 5 files changed, 36 insertions(+), 2 deletions(-) rename src/test/{ => ref}/compute_height_width.html (94%) rename src/test/{ => ref}/height.css (100%) rename src/test/{ => ref}/height_compute.html (94%) rename src/test/{ => ref}/height_width.css (100%) diff --git a/src/reftest/reftest.rs b/src/reftest/reftest.rs index b61cda2bc8d..de045b144fb 100644 --- a/src/reftest/reftest.rs +++ b/src/reftest/reftest.rs @@ -55,14 +55,46 @@ fn find_tests(config: Config) -> ~[test_desc] { } fn make_test(config: Config, file: ~str) -> test_desc { + let directives = load_test_directives(file); + { name: file, fn: fn~() { run_test(config, file) }, - ignore: false, + ignore: directives.ignore, should_fail: false } } +struct Directives { + ignore: bool; +} + +fn load_test_directives(file: ~str) -> Directives { + let data = match io::read_whole_file_str(file) { + result::ok(data) => data, + result::err(*) => fail #fmt("unable to load directives for %s", file) + }; + + let mut ignore = false; + + for str::lines(data).each |line| { + if is_comment(line) { + if line.contains("ignore") { + ignore = true; + break; + } + } + } + + fn is_comment(line: ~str) -> bool { + line.starts_with(" diff --git a/src/test/height.css b/src/test/ref/height.css similarity index 100% rename from src/test/height.css rename to src/test/ref/height.css diff --git a/src/test/height_compute.html b/src/test/ref/height_compute.html similarity index 94% rename from src/test/height_compute.html rename to src/test/ref/height_compute.html index 89734e50fdc..d74c8c65c0f 100644 --- a/src/test/height_compute.html +++ b/src/test/ref/height_compute.html @@ -1,3 +1,4 @@ + diff --git a/src/test/height_width.css b/src/test/ref/height_width.css similarity index 100% rename from src/test/height_width.css rename to src/test/ref/height_width.css