From: Ian Jackson Date: Sat, 13 Mar 2021 12:08:42 +0000 (+0000) Subject: apitest: wip sort out Conflict error on claim X-Git-Tag: otter-0.4.0~129 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=92daf46afca836c985c88dcb9f6f18c10268218b;p=otter.git apitest: wip sort out Conflict error on claim Signed-off-by: Ian Jackson --- diff --git a/apitest/at-otter.rs b/apitest/at-otter.rs index dcfa1e70..8cd18a77 100644 --- a/apitest/at-otter.rs +++ b/apitest/at-otter.rs @@ -236,6 +236,15 @@ impl Session { self.api_piece_op(su, piece, "ungrab", json!({}))?; } + #[throws(AE)] + fn api_with_piece_op_synch(&mut self, su: &mut SetupCore, piece: &str, + pathfrag: &str, op: serde_json::Value) { + self.api_piece_op(su, piece, "grab", json!({}))?; + self.api_piece_op(su, piece, pathfrag, op)?; + self.synch(su)?; + self.api_piece_op(su, piece, "ungrab", json!({}))?; + } + #[throws(AE)] fn await_update< R, @@ -351,18 +360,20 @@ impl Ctx { .into_inner().unwrap(); dbg!(&pawns); + session.api_with_piece_op_synch(&mut self.su, &hand.id, "k", json!({ + "opname": "claim", + "wrc": "Unpredictable", + }))?; + for (pawn, &xoffset) in izip!(&pawns, [10,20].iter()) { session.api_with_piece_op(&self.su, &pawn.id, "m", json![ (hand.pos + PosC([xoffset, 0]))?.0 ])?; } - session.api_with_piece_op(&self.su, &hand.id, "k", json!({ - "opname": "claim", - "wrc": "Unpredictable", - }))?; - - session.synch(&mut self.su)?; + session.synchx(&mut self.su, |session, gen, k, v| { + dbgc!((k, v)); + })?; // to repro a bug, have Bob move the RHS pawn out again