Allow setting device-pixel-ratio for reftests

This commit is contained in:
Matt Brubeck 2015-09-18 02:14:06 -07:00
parent acde10f005
commit 186ab5aa24

12
tests/reftest.rs vendored
View file

@ -10,6 +10,7 @@
#![feature(append)] #![feature(append)]
#![feature(fs_walk)] #![feature(fs_walk)]
#![feature(path_ext)] #![feature(path_ext)]
#![feature(result_expect)]
#![feature(slice_patterns)] #![feature(slice_patterns)]
#![feature(test)] #![feature(test)]
@ -143,6 +144,7 @@ struct Reftest {
prefs: Vec<String>, prefs: Vec<String>,
fragment_identifier: Option<String>, fragment_identifier: Option<String>,
resolution: Option<String>, resolution: Option<String>,
pixel_ratio: Option<f32>,
} }
struct TestLine<'a> { struct TestLine<'a> {
@ -201,6 +203,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
let mut prefs = vec![]; let mut prefs = vec![];
let mut fragment_identifier = None; let mut fragment_identifier = None;
let mut resolution = None; let mut resolution = None;
let mut pixel_ratio = 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),
@ -220,6 +223,10 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
if condition.starts_with("resolution=") { if condition.starts_with("resolution=") {
resolution = Some(condition["resolution=".len() ..].to_string()); resolution = Some(condition["resolution=".len() ..].to_string());
} }
if condition.starts_with("device-pixel-ratio=") {
pixel_ratio = Some(condition["device-pixel-ratio=".len() ..].to_string()
.parse().expect("Invalid device-pixel-ratio"));
}
} }
let reftest = Reftest { let reftest = Reftest {
@ -233,6 +240,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o
prefs: prefs, prefs: prefs,
fragment_identifier: fragment_identifier, fragment_identifier: fragment_identifier,
resolution: resolution, resolution: resolution,
pixel_ratio: pixel_ratio,
}; };
tests.push(make_test(reftest)); tests.push(make_test(reftest));
@ -287,6 +295,10 @@ fn capture(reftest: &Reftest, side: usize) -> (u32, u32, Vec<u8>) {
command.arg("--resolution"); command.arg("--resolution");
command.arg(resolution); command.arg(resolution);
} }
if let Some(pixel_ratio) = reftest.pixel_ratio {
command.arg("--device-pixel-ratio");
command.arg(pixel_ratio.to_string());
}
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),