mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
taking into account TESTNAME variable in reftest (see #41)
This commit is contained in:
parent
1e263f9dec
commit
e9343e4bbc
2 changed files with 49 additions and 47 deletions
|
@ -82,12 +82,12 @@ check-servo: $(foreach lib_crate,$(SERVO_LIB_CRATES),check-servo-$(lib_crate)) s
|
|||
.PHONY: check-ref-cpu
|
||||
check-ref-cpu: reftest
|
||||
@$(call E, check: reftests with CPU rendering)
|
||||
$(Q)./reftest $(S)src/test/ref/*.list -- -c
|
||||
$(Q)./reftest $(S)src/test/ref/basic.list $(TESTNAME) -- -c
|
||||
|
||||
.PHONY: check-ref-gpu
|
||||
check-ref-gpu: reftest
|
||||
@$(call E, check: reftests with GPU rendering)
|
||||
$(Q)./reftest $(S)src/test/ref/*.list
|
||||
$(Q)./reftest $(S)src/test/ref/basic.list $(TESTNAME)
|
||||
|
||||
.PHONY: check-ref
|
||||
check-ref: check-ref-cpu check-ref-gpu
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
extern crate png;
|
||||
extern crate std;
|
||||
extern crate test;
|
||||
extern crate regex;
|
||||
|
||||
use std::io;
|
||||
use std::io::{File, Reader, Command};
|
||||
|
@ -17,21 +18,24 @@ use std::io::process::ExitStatus;
|
|||
use std::os;
|
||||
use test::{DynTestName, DynTestFn, TestDesc, TestOpts, TestDescAndFn};
|
||||
use test::run_tests_console;
|
||||
use regex::Regex;
|
||||
|
||||
fn main() {
|
||||
let args = os::args();
|
||||
let mut parts = args.tail().split(|e| "--" == e.as_slice());
|
||||
|
||||
let files = parts.next().unwrap(); // .split() is never empty
|
||||
let harness_args = parts.next().unwrap(); // .split() is never empty
|
||||
let servo_args = parts.next().unwrap_or(&[]);
|
||||
|
||||
if files.len() == 0 {
|
||||
fail!("error: at least one reftest list must be given");
|
||||
}
|
||||
let (manifest, testname) = match harness_args {
|
||||
[] => fail!("error: at least one reftest list must be given"),
|
||||
[ref manifest] => (manifest, None),
|
||||
[ref manifest, ref testname, ..] => (manifest, Some(Regex::new(testname.as_slice()).unwrap())),
|
||||
};
|
||||
|
||||
let tests = parse_lists(files, servo_args);
|
||||
let tests = parse_lists(manifest, servo_args);
|
||||
let test_opts = TestOpts {
|
||||
filter: None,
|
||||
filter: testname,
|
||||
run_ignored: false,
|
||||
logfile: None,
|
||||
run_tests: true,
|
||||
|
@ -64,10 +68,9 @@ struct Reftest {
|
|||
servo_args: Vec<String>,
|
||||
}
|
||||
|
||||
fn parse_lists(filenames: &[String], servo_args: &[String]) -> Vec<TestDescAndFn> {
|
||||
fn parse_lists(file: &String, servo_args: &[String]) -> Vec<TestDescAndFn> {
|
||||
let mut tests = Vec::new();
|
||||
let mut next_id = 0;
|
||||
for file in filenames.iter() {
|
||||
let file_path = Path::new(file.clone());
|
||||
let contents = match File::open_mode(&file_path, io::Open, io::Read)
|
||||
.and_then(|mut f| {
|
||||
|
@ -112,7 +115,6 @@ fn parse_lists(filenames: &[String], servo_args: &[String]) -> Vec<TestDescAndFn
|
|||
|
||||
tests.push(make_test(reftest));
|
||||
}
|
||||
}
|
||||
tests
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue