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,
|
||||
experimental: bool,
|
||||
fragment_identifier: Option<String>,
|
||||
resolution: Option<String>,
|
||||
}
|
||||
|
||||
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 experimental = false;
|
||||
let mut fragment_identifier = None;
|
||||
let mut resolution = None;
|
||||
for condition in conditions_list {
|
||||
match condition {
|
||||
"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=") {
|
||||
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 {
|
||||
|
@ -219,6 +224,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
|
|||
is_flaky: render_mode.intersects(flakiness),
|
||||
experimental: experimental,
|
||||
fragment_identifier: fragment_identifier,
|
||||
resolution: resolution,
|
||||
};
|
||||
|
||||
tests.push(make_test(reftest));
|
||||
|
@ -265,6 +271,10 @@ fn capture(reftest: &Reftest, side: usize) -> (u32, u32, Vec<u8>) {
|
|||
if reftest.experimental {
|
||||
command.arg("--experimental");
|
||||
}
|
||||
if let Some(ref resolution) = reftest.resolution {
|
||||
command.arg("--resolution");
|
||||
command.arg(resolution);
|
||||
}
|
||||
let retval = match command.status() {
|
||||
Ok(status) => status,
|
||||
Err(e) => panic!("failed to execute process: {}", e),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue