mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Allow reftest to take 0 or more testname arguments
This commit is contained in:
parent
e2048d57c4
commit
0c6bb6125c
1 changed files with 16 additions and 9 deletions
25
tests/reftest.rs
vendored
25
tests/reftest.rs
vendored
|
@ -48,11 +48,10 @@ fn main() {
|
||||||
let harness_args = parts.next().unwrap(); // .split() is never empty
|
let harness_args = parts.next().unwrap(); // .split() is never empty
|
||||||
let servo_args = parts.next().unwrap_or(&[]);
|
let servo_args = parts.next().unwrap_or(&[]);
|
||||||
|
|
||||||
let (render_mode_string, base_path, testname) = match harness_args {
|
let (render_mode_string, base_path, testnames) = match harness_args {
|
||||||
[] | [_] => panic!("USAGE: cpu|gpu base_path [testname regex]"),
|
[ref render_mode_string, ref base_path, testnames..] =>
|
||||||
[ref render_mode_string, ref base_path] => (render_mode_string, base_path, None),
|
(render_mode_string, base_path, testnames),
|
||||||
[ref render_mode_string, ref base_path, ref testname, ..] =>
|
_ => panic!("USAGE: cpu|gpu base_path [testname ...]"),
|
||||||
(render_mode_string, base_path, Some(testname.clone())),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let mut render_mode = match &**render_mode_string {
|
let mut render_mode = match &**render_mode_string {
|
||||||
|
@ -79,7 +78,8 @@ fn main() {
|
||||||
match maybe_extension {
|
match maybe_extension {
|
||||||
Some(extension) => {
|
Some(extension) => {
|
||||||
if extension == OsStr::new("list") && file.is_file() {
|
if extension == OsStr::new("list") && file.is_file() {
|
||||||
let mut tests = parse_lists(&file, servo_args, render_mode, all_tests.len());
|
let len = all_tests.len();
|
||||||
|
let mut tests = parse_lists(&file, testnames, servo_args, render_mode, len);
|
||||||
println!("\t{} [{} tests]", file.display(), tests.len());
|
println!("\t{} [{} tests]", file.display(), tests.len());
|
||||||
all_tests.append(&mut tests);
|
all_tests.append(&mut tests);
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
let test_opts = TestOpts {
|
let test_opts = TestOpts {
|
||||||
filter: testname,
|
filter: None,
|
||||||
run_ignored: false,
|
run_ignored: false,
|
||||||
logfile: None,
|
logfile: None,
|
||||||
run_tests: true,
|
run_tests: true,
|
||||||
|
@ -165,7 +165,12 @@ struct TestLine<'a> {
|
||||||
file_right: &'a str,
|
file_right: &'a str,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_offset: usize) -> Vec<TestDescAndFn> {
|
fn parse_lists(file: &Path,
|
||||||
|
filters: &[String],
|
||||||
|
servo_args: &[String],
|
||||||
|
render_mode: RenderMode,
|
||||||
|
id_offset: usize)
|
||||||
|
-> Vec<TestDescAndFn> {
|
||||||
let mut tests = Vec::new();
|
let mut tests = Vec::new();
|
||||||
let contents = {
|
let contents = {
|
||||||
let mut f = File::open(file).unwrap();
|
let mut f = File::open(file).unwrap();
|
||||||
|
@ -254,7 +259,9 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
|
||||||
pixel_ratio: pixel_ratio,
|
pixel_ratio: pixel_ratio,
|
||||||
};
|
};
|
||||||
|
|
||||||
tests.push(make_test(reftest));
|
if filters.is_empty() || filters.iter().any(|pattern| reftest.name.contains(pattern)) {
|
||||||
|
tests.push(make_test(reftest));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
tests
|
tests
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue