chiark / gitweb /
apitest: Break out stop_and_restart_gameserver
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 18 May 2021 00:34:13 +0000 (01:34 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 18 May 2021 00:34:13 +0000 (01:34 +0100)
This will be for the bundle save/load test.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
apitest/at-otter.rs
apitest/main.rs

index b8b306c2b16d3a983ca1c21373787abfe3ce4fdb..46e6016a1dd9a7f60134fd0fd0a7eaf0f1938e2f 100644 (file)
@@ -192,15 +192,7 @@ impl Ctx {
 
   #[throws(Explode)]
   fn save_load(&mut self) {
-    {
-      let mut su = self.su_rc.borrow_mut();
-      let old_pid = su.server_child.id() as nix::libc::pid_t;
-      nix::sys::signal::kill(nix::unistd::Pid::from_raw(old_pid),
-                             nix::sys::signal::SIGTERM)?;
-      let st = dbgc!(su.server_child.wait()?);
-      assert_eq!(st.signal(), Some(nix::sys::signal::SIGTERM as i32));
-      su.restart_gameserver()?;
-    }
+    self.stop_and_restart_server()?;
     let alice = self.connect_player(&self.alice)?;
     let pieces = alice.pieces::<PIA>()?;
     dbgc!(pieces);
index 97e43fad615abf4ade33487b07a7b1d28b8542f7..7b726996c115a0202d7bab414bc28d50db19e5ed 100644 (file)
@@ -551,6 +551,17 @@ impl UsualCtx {
     dbgc!(&added);
     added
   }
+
+  #[throws(Explode)]
+  fn stop_and_restart_server(&mut self) {
+    let mut su = self.su_rc.borrow_mut();
+    let old_pid = su.server_child.id() as nix::libc::pid_t;
+    nix::sys::signal::kill(nix::unistd::Pid::from_raw(old_pid),
+                           nix::sys::signal::SIGTERM)?;
+    let st = dbgc!(su.server_child.wait()?);
+    assert_eq!(st.signal(), Some(nix::sys::signal::SIGTERM as i32));
+    su.restart_gameserver()?;
+  }
 }
 
 impl UsualCtx {