mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Add support for changing the viewport size in reftests.
Usage example, in `*.list` files: resolution=200x300 == something.html something_ref.html
This commit is contained in:
parent
bc1c44bbc2
commit
c066377fc5
1 changed files with 10 additions and 0 deletions
|
@ -136,6 +136,7 @@ struct Reftest {
|
||||||
is_flaky: bool,
|
is_flaky: bool,
|
||||||
experimental: bool,
|
experimental: bool,
|
||||||
fragment_identifier: Option<String>,
|
fragment_identifier: Option<String>,
|
||||||
|
resolution: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct TestLine<'a> {
|
struct TestLine<'a> {
|
||||||
|
@ -195,6 +196,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
|
||||||
let mut flakiness = RenderMode::empty();
|
let mut flakiness = RenderMode::empty();
|
||||||
let mut experimental = false;
|
let mut experimental = false;
|
||||||
let mut fragment_identifier = None;
|
let mut fragment_identifier = None;
|
||||||
|
let mut resolution = None;
|
||||||
for condition in conditions_list {
|
for condition in conditions_list {
|
||||||
match condition {
|
match condition {
|
||||||
"flaky_cpu" => flakiness.insert(CPU_RENDERING),
|
"flaky_cpu" => flakiness.insert(CPU_RENDERING),
|
||||||
|
@ -207,6 +209,9 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
|
||||||
if condition.starts_with("fragment=") {
|
if condition.starts_with("fragment=") {
|
||||||
fragment_identifier = Some(condition.slice_from("fragment=".len()).to_string());
|
fragment_identifier = Some(condition.slice_from("fragment=".len()).to_string());
|
||||||
}
|
}
|
||||||
|
if condition.starts_with("resolution=") {
|
||||||
|
resolution = Some(condition.slice_from("resolution=".len()).to_string());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let reftest = Reftest {
|
let reftest = Reftest {
|
||||||
|
@ -219,6 +224,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
|
||||||
is_flaky: render_mode.intersects(flakiness),
|
is_flaky: render_mode.intersects(flakiness),
|
||||||
experimental: experimental,
|
experimental: experimental,
|
||||||
fragment_identifier: fragment_identifier,
|
fragment_identifier: fragment_identifier,
|
||||||
|
resolution: resolution,
|
||||||
};
|
};
|
||||||
|
|
||||||
tests.push(make_test(reftest));
|
tests.push(make_test(reftest));
|
||||||
|
@ -265,6 +271,10 @@ fn capture(reftest: &Reftest, side: usize) -> (u32, u32, Vec<u8>) {
|
||||||
if reftest.experimental {
|
if reftest.experimental {
|
||||||
command.arg("--experimental");
|
command.arg("--experimental");
|
||||||
}
|
}
|
||||||
|
if let Some(ref resolution) = reftest.resolution {
|
||||||
|
command.arg("--resolution");
|
||||||
|
command.arg(resolution);
|
||||||
|
}
|
||||||
let retval = match command.status() {
|
let retval = match command.status() {
|
||||||
Ok(status) => status,
|
Ok(status) => status,
|
||||||
Err(e) => panic!("failed to execute process: {}", e),
|
Err(e) => panic!("failed to execute process: {}", e),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue