mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Kill Servo instead of displaying about:failure when running content tests
Fixes #1380.
This commit is contained in:
parent
bcc0ae6316
commit
e349bfadb7
3 changed files with 8 additions and 1 deletions
|
@ -39,6 +39,7 @@ pub struct Opts {
|
||||||
|
|
||||||
output_file: Option<~str>,
|
output_file: Option<~str>,
|
||||||
headless: bool,
|
headless: bool,
|
||||||
|
hard_fail: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_usage(app: &str, opts: &[groups::OptGroup]) {
|
fn print_usage(app: &str, opts: &[groups::OptGroup]) {
|
||||||
|
@ -59,6 +60,7 @@ pub fn from_cmdline_args(args: &[~str]) -> Opts {
|
||||||
groups::optflagopt("p", "profile", "Profiler flag and output interval", "10"),
|
groups::optflagopt("p", "profile", "Profiler flag and output interval", "10"),
|
||||||
groups::optflag("x", "exit", "Exit after load flag"),
|
groups::optflag("x", "exit", "Exit after load flag"),
|
||||||
groups::optflag("z", "headless", "Headless mode"),
|
groups::optflag("z", "headless", "Headless mode"),
|
||||||
|
groups::optflag("f", "hard-fail", "Exit on task failure instead of displaying about:failure"),
|
||||||
groups::optflag("h", "help", "Print this message")
|
groups::optflag("h", "help", "Print this message")
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -127,5 +129,6 @@ pub fn from_cmdline_args(args: &[~str]) -> Opts {
|
||||||
exit_after_load: opt_match.opt_present("x"),
|
exit_after_load: opt_match.opt_present("x"),
|
||||||
output_file: opt_match.opt_str("o"),
|
output_file: opt_match.opt_str("o"),
|
||||||
headless: opt_match.opt_present("z"),
|
headless: opt_match.opt_present("z"),
|
||||||
|
hard_fail: opt_match.opt_present("f"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,7 @@ impl Pipeline {
|
||||||
|
|
||||||
// Wrap task creation within a supervised task so that failure will
|
// Wrap task creation within a supervised task so that failure will
|
||||||
// only tear down those tasks instead of ours.
|
// only tear down those tasks instead of ours.
|
||||||
|
let hard_fail = opts.hard_fail;
|
||||||
let failure_chan = constellation_chan.clone();
|
let failure_chan = constellation_chan.clone();
|
||||||
let mut supervised_task = task::task();
|
let mut supervised_task = task::task();
|
||||||
let task_port = supervised_task.future_result();
|
let task_port = supervised_task.future_result();
|
||||||
|
@ -139,6 +140,9 @@ impl Pipeline {
|
||||||
match task_port.recv() {
|
match task_port.recv() {
|
||||||
Ok(*) => (),
|
Ok(*) => (),
|
||||||
Err(*) => {
|
Err(*) => {
|
||||||
|
if hard_fail {
|
||||||
|
fail!("Pipeline failed in hard-fail mode");
|
||||||
|
}
|
||||||
failure_chan.send(FailureMsg(id, subpage_id));
|
failure_chan.send(FailureMsg(id, subpage_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,7 @@ fn run_test(file: ~str) {
|
||||||
|
|
||||||
let config = ProcessConfig {
|
let config = ProcessConfig {
|
||||||
program: "./servo",
|
program: "./servo",
|
||||||
args: [~"-z", infile.clone()],
|
args: [~"-z", ~"-f", infile.clone()],
|
||||||
env: None,
|
env: None,
|
||||||
cwd: None,
|
cwd: None,
|
||||||
io: [Ignored, stdout, stderr]
|
io: [Ignored, stdout, stderr]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue