From: Ian Jackson Date: Fri, 9 Jul 2021 00:38:38 +0000 (+0100) Subject: jstest: lower: wip X-Git-Tag: otter-0.7.2~220 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=22bd9d7ef61d85e52960002ef2937278a35cd402;p=otter.git jstest: lower: wip Signed-off-by: Ian Jackson --- diff --git a/jstest/jst-lower.rs b/jstest/jst-lower.rs index 46c18d82..8b3424b2 100644 --- a/jstest/jst-lower.rs +++ b/jstest/jst-lower.rs @@ -55,6 +55,25 @@ pub struct TestsAccumulator { tera: tera::Tera, } +impl Test { + #[throws(Explode)] + pub fn check(&self) { + let mut updated: HashMap = default(); + for l in BufReader::new( + fs::File::open(format!("{}.did",self.name))? + ).lines() { + let l = l?; + let (op, id, z) = l.splitn(3,' ').collect_tuple().unwrap(); + assert_eq!(op, "setz"); + let id = id.try_into()?; + let z = z.parse()?; + let was = updated.insert(id, z); + assert!(was.is_none(), "{:?}", id); + } + dbg!(updated); + } +} + static TEMPLATE: &'static str = r#" //-------------------- {{ name }} -------------------- @@ -167,10 +186,14 @@ fn main() { ])?; let tests = ta.finalise()?; -eprintln!("TESTS={:?}", &tests); let mut cmd = Command::new(opts.nodejs); cmd.arg(opts.script); let status = cmd.status()?; assert!(status.success(), "{}", status); + + for test in tests.tests.values() { + println!("checking results for {:?}", &test.name); + test.check()?; + } }