chiark / gitweb /
apitest: make macro to make wanted_tests() method on $c
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 13 Mar 2021 13:30:31 +0000 (13:30 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 13 Mar 2021 13:30:31 +0000 (13:30 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
apitest.rs
apitest/at-otter.rs
wdriver/wdt-altergame.rs
wdriver/wdt-hand.rs
wdriver/wdt-simple.rs

index 690df4b694dd8fe028f4bbd309932308932065a0..fd333209c9249d04c35901fecf536815290ef901 100644 (file)
@@ -223,6 +223,17 @@ impl Drop for TrackWantedTests {
   }
 }
 
+#[macro_export]
+macro_rules! usual_wanted_tests {
+  ($ctx:ty, $su:ident) => {
+    impl $ctx {
+      fn wanted_tests(&mut self) -> &mut TrackWantedTests {
+        &mut self.su.wanted_tests
+      }
+    }
+  }
+}
+
 #[macro_export]
 macro_rules! test {
   ($c:expr, $tname:expr, $s:stmt) => {
index e2ce45a6a78f626b63b7e5ec3d844ce6a8af5174..5af238c7eb0cddc32d286f38a49c33914475530f 100644 (file)
@@ -15,12 +15,7 @@ struct Ctx {
   bob: Player,
 }
 deref_to_field!{Ctx, SetupCore, su}
-
-impl Ctx {
-  fn wanted_tests(&mut self) -> &mut TrackWantedTests {
-    &mut self.su.wanted_tests
-  }
-}
+usual_wanted_tests!{Ctx, su}
 
 #[derive(Debug)]
 struct Player {
index 90edfc4ed23e24b5ad6b185625aee4bfd5857f61..43dd916feb0310104c81dac769863f8bb7899410 100644 (file)
@@ -10,12 +10,9 @@ struct Ctx {
   su: Setup,
   alice: Window,
 }
+usual_wanted_tests!{Ctx, su}
 
 impl Ctx {
-  fn wanted_tests(&mut self) -> &mut TrackWantedTests {
-    &mut self.su.wanted_tests
-  }
-
   #[throws(AE)]
   fn check_link(&mut self, desc: &'static str, url: Option<&str>) {
     (||{
index 7c20e67169ac9a3bfdcc29b4b9c8a799f76715b4..74575fdf87b4838077dbcbbf01ed5dc0146ffe4c 100644 (file)
@@ -10,12 +10,7 @@ struct Ctx {
   bob: Window,
 }
 deref_to_field!{Ctx, Setup, su}
-
-impl Ctx {
-  fn wanted_tests(&mut self) -> &mut TrackWantedTests {
-    &mut self.su.wanted_tests
-  }
-}
+usual_wanted_tests!{Ctx, su}
 
 const HAND: &str = "6.1";
 const ALICE: &str = "1#1";
index 24063b088308ba360fd12754d1bb75fb2d2f8582..8116f7dd42f0da90b590782ea0cad07b55c09bd8 100644 (file)
@@ -11,12 +11,9 @@ struct Ctx {
   spec: GameSpec,
 }
 deref_to_field!{Ctx, Setup, su}
+usual_wanted_tests!{Ctx, su}
 
 impl Ctx {
-  fn wanted_tests(&mut self) -> &mut TrackWantedTests {
-    &mut self.su.wanted_tests
-  }
-
   #[throws(AE)]
   fn drag(&mut self){
     let su = &mut self.su;