mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
reftest: Allow passing Servo args after --
This commit is contained in:
parent
cfc264d981
commit
9a4ac45061
1 changed files with 14 additions and 7 deletions
|
@ -22,13 +22,16 @@ use extra::test::run_tests_console;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let args = os::args();
|
let args = os::args();
|
||||||
if args.len() < 2 {
|
let mut parts = args.tail().split(|e| "--" == e.as_slice());
|
||||||
println("error: at least one reftest list must be given");
|
|
||||||
os::set_exit_status(1);
|
let files = parts.next().unwrap(); // .split() is never empty
|
||||||
return;
|
let servo_args = parts.next().unwrap_or(&[]);
|
||||||
|
|
||||||
|
if files.len() == 0 {
|
||||||
|
fail!("error: at least one reftest list must be given");
|
||||||
}
|
}
|
||||||
|
|
||||||
let tests = parse_lists(args.tail());
|
let tests = parse_lists(files, servo_args);
|
||||||
let test_opts = TestOpts {
|
let test_opts = TestOpts {
|
||||||
filter: None,
|
filter: None,
|
||||||
run_ignored: false,
|
run_ignored: false,
|
||||||
|
@ -57,9 +60,10 @@ struct Reftest {
|
||||||
kind: ReftestKind,
|
kind: ReftestKind,
|
||||||
files: [~str, ..2],
|
files: [~str, ..2],
|
||||||
id: uint,
|
id: uint,
|
||||||
|
servo_args: ~[~str],
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_lists(filenames: &[~str]) -> ~[TestDescAndFn] {
|
fn parse_lists(filenames: &[~str], servo_args: &[~str]) -> ~[TestDescAndFn] {
|
||||||
let mut tests: ~[TestDescAndFn] = ~[];
|
let mut tests: ~[TestDescAndFn] = ~[];
|
||||||
let mut next_id = 0;
|
let mut next_id = 0;
|
||||||
for file in filenames.iter() {
|
for file in filenames.iter() {
|
||||||
|
@ -97,6 +101,7 @@ fn parse_lists(filenames: &[~str]) -> ~[TestDescAndFn] {
|
||||||
kind: kind,
|
kind: kind,
|
||||||
files: [file_left, file_right],
|
files: [file_left, file_right],
|
||||||
id: next_id,
|
id: next_id,
|
||||||
|
servo_args: servo_args.to_owned(),
|
||||||
};
|
};
|
||||||
|
|
||||||
next_id += 1;
|
next_id += 1;
|
||||||
|
@ -123,7 +128,9 @@ fn make_test(reftest: Reftest) -> TestDescAndFn {
|
||||||
|
|
||||||
fn capture(reftest: &Reftest, side: uint) -> png::Image {
|
fn capture(reftest: &Reftest, side: uint) -> png::Image {
|
||||||
let filename = format!("/tmp/servo-reftest-{:06u}-{:u}.png", reftest.id, side);
|
let filename = format!("/tmp/servo-reftest-{:06u}-{:u}.png", reftest.id, side);
|
||||||
let args = ~[~"-f", ~"-o", filename.clone(), reftest.files[side].clone()];
|
let mut args = reftest.servo_args.clone();
|
||||||
|
args.push_all_move(~[~"-f", ~"-o", filename.clone(), reftest.files[side].clone()]);
|
||||||
|
|
||||||
let mut process = Process::new("./servo", args, ProcessOptions::new()).unwrap();
|
let mut process = Process::new("./servo", args, ProcessOptions::new()).unwrap();
|
||||||
let retval = process.finish();
|
let retval = process.finish();
|
||||||
assert!(retval == ExitStatus(0));
|
assert!(retval == ExitStatus(0));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue