chiark / gitweb /
jstest: improve debugging output
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 10 Jul 2021 11:59:36 +0000 (12:59 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 10 Jul 2021 11:59:36 +0000 (12:59 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
jstest/jst-lower.rs

index 6e26c4c0df7b28d8ab76c8cb3e8b7e792cf0e1ea..bfa9fbb25e26c017ed550ab8e770ae45c5493a37 100644 (file)
@@ -245,7 +245,7 @@ impl TestsAccumulator {
                      pieces: Vec<StartPieceSpec>,
                      targets: Vec<T>) where T: TryInto<Vpid> + Copy + Debug {
     let mut zm = ZCoord::default().clone_mut();
-    let pieces = pieces.into_iter().map(
+    let pieces: IndexMap<Vpid,StartPiece> = pieces.into_iter().map(
       |StartPieceSpec { id, pinned, moveable }| {
         let id = id.try_into().unwrap();
         let z = zm.increment().unwrap();
@@ -253,10 +253,19 @@ impl TestsAccumulator {
       }
     ).collect();
 
-    let targets = targets.into_iter().map(
+    let targets: IndexSet<_> = targets.into_iter().map(
       |s| s.try_into().map_err(|_|s).unwrap()
     ).collect();
 
+    eprintln!("-------------------- {} --------------------", name);
+    for (id,p) in pieces.iter() {
+      eprintln!("    {:5} {}{}- {}",
+                id.to_string(),
+                if targets.contains(id) { "T" } else { "_" },
+                if p.bottom()           { "B" } else { "_" },
+                p.z.as_str());
+    }
+
     let test = Test {
       name: name.into(),
       pieces, targets,
@@ -273,6 +282,8 @@ impl TestsAccumulator {
 fn main() {
   let opts = Opts::from_args();
 
+  eprintln!("==================== building ====================");
+
   let mut ta = TestsAccumulator::new(&opts)?;
 
   ta.add_test("simple", vec![
@@ -307,13 +318,16 @@ fn main() {
   
   let tests = ta.finalise()?;
 
+  eprintln!("==================== running ====================");
+
   let mut cmd = Command::new(opts.nodejs);
   cmd.arg(opts.script);
   let status = cmd.status()?;
   assert!(status.success(), "{}", status);
 
+  eprintln!("==================== checking ====================");
+
   for test in tests.tests.values() {
-    println!("checking results for {:?}", &test.name);
     test.check()?;
   }
 }