Skip to content

Commit

Permalink
More work on reftest
Browse files Browse the repository at this point in the history
  • Loading branch information
brson committed Aug 21, 2012
1 parent 93e67d0 commit b226d43
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/reftest/rasterize.py
Expand Up @@ -14,7 +14,7 @@

driver = webdriver.Firefox()

driver.set_window_size(800, 700)
driver.set_window_size(800, 1000)
driver.get(input)

screenshot = driver.get_screenshot_as_file(output)
Expand Down
22 changes: 17 additions & 5 deletions src/reftest/reftest.rs
Expand Up @@ -67,18 +67,20 @@ fn run_test(config: Config, file: ~str) {
let servo_render = render_servo(config, file);
let ref_render = render_ref(config, file);
if servo_render != ref_render {
fail;
fail ~"rendered pages to not match";
}
}
type Render = ~[u8];
const WIDTH: uint = 800;
const HEIGHT: uint = 600;
fn render_servo(config: Config, file: ~str) -> Render {
let infile = file;
let outfile = connect(config.work_dir, basename(file) + ".png");
run_pipeline_png(infile, outfile);
let buf = io::read_whole_file(outfile).get();
return servo::image::base::load_from_memory(buf).get().data;
return sanitize_image(outfile);
}

fn render_ref(config: Config, file: ~str) -> Render {
Expand All @@ -87,8 +89,18 @@ fn render_ref(config: Config, file: ~str) -> Render {
let rasterize_path = rasterize_path(config);
let prog = run::start_program("python", ~[rasterize_path, infile, outfile]);
prog.finish();
let buf = io::read_whole_file(outfile).get();
return servo::image::base::load_from_memory(buf).get().data;
return sanitize_image(outfile);
}

fn sanitize_image(file: ~str) -> Render {
let buf = io::read_whole_file(file).get();
let image = servo::image::base::load_from_memory(buf).get();

// I don't know how to precisely control the rendered height of
// the Firefox output, so it is larger than we want. Trim it down.
assert image.width == WIDTH;
assert image.height >= HEIGHT;
vec::slice(image.data, 0, image.width * HEIGHT * 4)
}

fn install_rasterize_py(config: Config) {
Expand Down

0 comments on commit b226d43

Please sign in to comment.