From 3780f908a28f5f715a7c090293db53d45ad3cdc0 Mon Sep 17 00:00:00 2001 From: Lorenz Leutgeb Date: Sat, 11 Oct 2025 12:21:10 +0200 Subject: [PATCH] radicle/identity: Stabilize tests The following tests generated an unstable object ID, thus linearizing history in a different order, causing failures. Fix this by using the `stable-commits` feature of `radicle-cob`. thread 'cob::identity::test::test_identity_redact_revision' panicked at crates\radicle\src\cob\identity.rs:1338:9: assertion `left == right` failed left: [Oid(b4307ded046befba374bf8cd9fd787592ceb615c), Oid(a04165e3d3717c5a1413ec78e852bd8e1bb049d4), Oid(820d3faf5b507888173b26ccd1a2a81666bd2573), Oid(30ca6f078a401bf542049594fbb1c8d2371c9819), Oid(9e9c46971014b123a31cd1195078f95c2e319419)] right: [Oid(b4307ded046befba374bf8cd9fd787592ceb615c), Oid(a04165e3d3717c5a1413ec78e852bd8e1bb049d4), Oid(820d3faf5b507888173b26ccd1a2a81666bd2573), Oid(9e9c46971014b123a31cd1195078f95c2e319419), Oid(30ca6f078a401bf542049594fbb1c8d2371c9819)] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace thread 'cob::identity::test::test_identity_reject_concurrent' panicked at crates\radicle\src\cob\identity.rs:1494:9: assertion `left == right` failed left: [Oid(b4307ded046befba374bf8cd9fd787592ceb615c), Oid(bce4233f6a09d6e9c021ba436e3c6923a1a78f31), Oid(7cacb23be7079c16c8ad1b2458ae5bac95a1295b), Oid(12b00e2e871b699c84c20427a64e029934c15ec4), Oid(07431c8d80c11492ef248e07126370e874de3435), Oid(98b42450159a359c2f482652c66d79b05d0af624)] right: [Oid(b4307ded046befba374bf8cd9fd787592ceb615c), Oid(bce4233f6a09d6e9c021ba436e3c6923a1a78f31), Oid(7cacb23be7079c16c8ad1b2458ae5bac95a1295b), Oid(98b42450159a359c2f482652c66d79b05d0af624), Oid(12b00e2e871b699c84c20427a64e029934c15ec4), Oid(07431c8d80c11492ef248e07126370e874de3435)] --- crates/radicle/src/cob/identity.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/crates/radicle/src/cob/identity.rs b/crates/radicle/src/cob/identity.rs index 549a1ae5..37eab954 100644 --- a/crates/radicle/src/cob/identity.rs +++ b/crates/radicle/src/cob/identity.rs @@ -1323,12 +1323,16 @@ mod test { .unwrap(); bob.repo.fetch(alice); - let a3 = alice_identity.redact(a2, &alice.signer).unwrap(); + let a3 = cob::git::stable::with_advanced_timestamp(|| { + alice_identity.redact(a2, &alice.signer).unwrap() + }); assert!(alice_identity.revision(&a1).is_some()); assert_eq!(alice_identity.timeline, vec![a0, a1, a2, a3]); let mut bob_identity = Identity::load_mut(&*bob.repo).unwrap(); - let b1 = bob_identity.accept(&a2, &bob.signer).unwrap(); + let b1 = cob::git::stable::with_advanced_timestamp(|| { + bob_identity.accept(&a2, &bob.signer).unwrap() + }); assert_eq!(bob_identity.timeline, vec![a0, a1, a2, b1]); assert_eq!(bob_identity.revision(&a2).unwrap().state, State::Accepted); @@ -1454,11 +1458,15 @@ mod test { // Bob accepts alice's revision. let mut bob_identity = Identity::load_mut(&*bob.repo).unwrap(); - let b1 = bob_identity.accept(&a2, &bob.signer).unwrap(); + let b1 = cob::git::stable::with_advanced_timestamp(|| { + bob_identity.accept(&a2, &bob.signer).unwrap() + }); // Eve rejects the revision, not knowing. let mut eve_identity = Identity::load_mut(&*eve.repo).unwrap(); - let e1 = eve_identity.reject(a2, &eve.signer).unwrap(); + let e1 = cob::git::stable::with_advanced_timestamp(|| { + eve_identity.reject(a2, &eve.signer).unwrap() + }); assert!(eve_identity.revision(&a2).unwrap().is_active()); // Then she submits a new revision.