From 22697f0c0c858bc013ec5c7d8b3ea50f000246dd Mon Sep 17 00:00:00 2001 From: Laurenz Date: Tue, 13 Oct 2020 12:34:11 +0200 Subject: [PATCH] =?UTF-8?q?Simple=20regression=20testing=20with=20file-bas?= =?UTF-8?q?ed=20comparisons=20=E2=9C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- Cargo.toml | 1 + benches/benchmarks.rs | 2 +- tests/README.md | 7 +++++ tests/ref/coma.png | Bin 0 -> 125591 bytes tests/{ => typ}/coma.typ | 0 tests/typeset.rs | 63 +++++++++++++++++++++++++++++---------- 7 files changed, 58 insertions(+), 18 deletions(-) create mode 100644 tests/README.md create mode 100644 tests/ref/coma.png rename tests/{ => typ}/coma.typ (100%) diff --git a/.gitignore b/.gitignore index 8e7317ba8..064a0a815 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,6 @@ /target **/*.rs.bk Cargo.lock -tests/out +tests/png +tests/pdf _things diff --git a/Cargo.toml b/Cargo.toml index 4589eb6dc..b31e9dbc5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,6 +19,7 @@ serde = { version = "1", features = ["derive"], optional = true } [dev-dependencies] criterion = "0.3" +memmap = "0.7" raqote = { version = "0.8", default-features = false } [profile.dev.package."*"] diff --git a/benches/benchmarks.rs b/benches/benchmarks.rs index ea7fc6521..ea37ff0f2 100644 --- a/benches/benchmarks.rs +++ b/benches/benchmarks.rs @@ -11,7 +11,7 @@ use typst::parse::parse; use typst::typeset; const FONT_DIR: &str = "fonts"; -const COMA: &str = include_str!("../tests/coma.typ"); +const COMA: &str = include_str!("../tests/typ/coma.typ"); fn benchmarks(c: &mut Criterion) { let state = State::default(); diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 000000000..3ae908af0 --- /dev/null +++ b/tests/README.md @@ -0,0 +1,7 @@ +# Tests + +- `typ`: Input files +- `pdf`: PDF files produced by tests +- `png`: PNG files produced by tests +- `ref`: Reference images which the PNGs are compared to byte-wise to determine + whether the test passed or failed diff --git a/tests/ref/coma.png b/tests/ref/coma.png new file mode 100644 index 0000000000000000000000000000000000000000..642759a8d9122291b5adab3bb61c93d3dbc263eb GIT binary patch literal 125591 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 z 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 Ay#N3J literal 0 HcmV?d00001 diff --git a/tests/coma.typ b/tests/typ/coma.typ similarity index 100% rename from tests/coma.typ rename to tests/typ/coma.typ diff --git a/tests/typeset.rs b/tests/typeset.rs index c2deca6a3..b3080a529 100644 --- a/tests/typeset.rs +++ b/tests/typeset.rs @@ -7,6 +7,7 @@ use std::path::Path; use std::rc::Rc; use fontdock::fs::{FsIndex, FsSource}; +use memmap::Mmap; use raqote::{DrawTarget, PathBuilder, SolidSource, Source, Transform, Vector}; use ttf_parser::OutlineBuilder; @@ -20,9 +21,11 @@ use typst::parse::LineMap; use typst::shaping::Shaped; use typst::typeset; -const TEST_DIR: &str = "tests"; -const OUT_DIR: &str = "tests/out"; const FONT_DIR: &str = "fonts"; +const TYP_DIR: &str = "tests/typ"; +const PDF_DIR: &str = "tests/pdf"; +const PNG_DIR: &str = "tests/png"; +const REF_DIR: &str = "tests/ref"; const BLACK: SolidSource = SolidSource { r: 0, g: 0, b: 0, a: 255 }; const WHITE: SolidSource = SolidSource { r: 255, g: 255, b: 255, a: 255 }; @@ -31,16 +34,19 @@ fn main() { let filter = TestFilter::new(env::args().skip(1)); let mut filtered = Vec::new(); - for entry in fs::read_dir(TEST_DIR).unwrap() { - let path = entry.unwrap().path(); - if path.extension() != Some(OsStr::new("typ")) { + for entry in fs::read_dir(TYP_DIR).unwrap() { + let src_path = entry.unwrap().path(); + if src_path.extension() != Some(OsStr::new("typ")) { continue; } - let name = path.file_stem().unwrap().to_string_lossy().to_string(); + let name = src_path.file_stem().unwrap().to_string_lossy().to_string(); + let pdf_path = Path::new(PDF_DIR).join(&name).with_extension("pdf"); + let png_path = Path::new(PNG_DIR).join(&name).with_extension("png"); + let ref_path = Path::new(REF_DIR).join(&name).with_extension("png"); + if filter.matches(&name) { - let src = fs::read_to_string(&path).unwrap(); - filtered.push((name, path, src)); + filtered.push((name, src_path, pdf_path, png_path, ref_path)); } } @@ -53,7 +59,8 @@ fn main() { println!("Running {} tests", len); } - fs::create_dir_all(OUT_DIR).unwrap(); + fs::create_dir_all(PDF_DIR).unwrap(); + fs::create_dir_all(PNG_DIR).unwrap(); let mut index = FsIndex::new(); index.search_dir(FONT_DIR); @@ -64,14 +71,40 @@ fn main() { descriptors, ))); - for (name, path, src) in filtered { - test(&name, &src, &path, &loader) + let mut ok = true; + + for (name, src_path, pdf_path, png_path, ref_path) in filtered { + print!("Testing {}.", name); + test(&src_path, &pdf_path, &png_path, &loader); + + let png_file = File::open(&png_path).unwrap(); + let ref_file = match File::open(&ref_path) { + Ok(file) => file, + Err(_) => { + println!(" Failed to open reference image. ❌"); + ok = false; + continue; + } + }; + + let a = unsafe { Mmap::map(&png_file).unwrap() }; + let b = unsafe { Mmap::map(&ref_file).unwrap() }; + + if *a != *b { + println!(" Does not match reference image. ❌"); + ok = false; + } else { + println!(" Okay. ✔"); + } + } + + if !ok { + std::process::exit(1); } } -fn test(name: &str, src: &str, src_path: &Path, loader: &SharedFontLoader) { - println!("Testing {}.", name); - +fn test(src_path: &Path, pdf_path: &Path, png_path: &Path, loader: &SharedFontLoader) { + let src = fs::read_to_string(src_path).unwrap(); let state = State::default(); let Pass { output: layouts, @@ -99,11 +132,9 @@ fn test(name: &str, src: &str, src_path: &Path, loader: &SharedFontLoader) { let loader = loader.borrow(); - let png_path = format!("{}/{}.png", OUT_DIR, name); let surface = render(&layouts, &loader, 3.0); surface.write_png(png_path).unwrap(); - let pdf_path = format!("{}/{}.pdf", OUT_DIR, name); let file = BufWriter::new(File::create(pdf_path).unwrap()); pdf::export(&layouts, &loader, file).unwrap(); }