chiark / gitweb /
apitest: Make prepare_gameserver do the for_game call
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 3 May 2021 23:22:36 +0000 (00:22 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 3 May 2021 23:25:01 +0000 (00:25 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
apitest/apitest.rs

index f325bccaa32b2be6c1703a72e2b877decaa8f6d6..75b60de05e7bc4cd187c4ec056c3b99ce9cb8ff7 100644 (file)
@@ -595,7 +595,7 @@ pub fn prepare_tmpdir<'x>(opts: &'x Opts, mut current_exe: &'x str) -> DirSubst
 
 #[throws(AE)]
 pub fn prepare_gameserver(cln: &cleanup_notify::Handle, ds: &DirSubst)
-                      -> (MgmtChannel, Child) {
+                      -> (MgmtChannelForGame, Child) {
   let config = ds.subst(r##"
 change_directory = "@abstmp@"
 base_dir = "@build@"
@@ -635,7 +635,7 @@ _ = "error" # rocket
 
 #[throws(AE)]
 fn start_gameserver(cln: &cleanup_notify::Handle, ds: &DirSubst)
-                    -> (MgmtChannel, Child) {
+                    -> (MgmtChannelForGame, Child) {
   let server_exe = ds.subst("@target@/debug/daemon-otter")?;
   let mut cmd = Command::new(&server_exe);
   cmd
@@ -659,6 +659,11 @@ fn start_gameserver(cln: &cleanup_notify::Handle, ds: &DirSubst)
   mgmt_conn.cmd(&MgmtCommand::SetSuperuser(true))?;
   mgmt_conn.cmd(&MgmtCommand::SelectAccount("server:".parse()?))?;  
 
+  let mgmt_conn = mgmt_conn.for_game(
+    TABLE.parse()?,
+    MgmtGameUpdateMode::Online
+  );
+
   (mgmt_conn, child)
 }
 
@@ -991,11 +996,6 @@ pub fn setup_core<O>(module_paths: &[&str], early_args: EarlyArgPredicate) ->
   let (mgmt_conn, server_child) =
     prepare_gameserver(&cln, &ds).did("setup game server")?;
 
-  let mgmt_conn = mgmt_conn.for_game(
-    TABLE.parse()?,
-    MgmtGameUpdateMode::Online
-  );
-
   let instance_name =
     prepare_game(&ds, &default(), TABLE).context("setup game")?;