test(versioning): pin supported compatibility matrix

req: abi/001

req: abi/003

req: v1_release/007
This commit is contained in:
slhx agent
2026-07-14 01:09:07 +02:00
parent 6f58453aae
commit 90e8c3ced5
3 changed files with 50 additions and 3 deletions
+22
View File
@@ -30,6 +30,28 @@ fn effect_batch_wire_round_trips() {
assert!(decoded.is_compatible());
}
#[test]
fn compatibility_fixture_accepts_only_the_declared_v1_wire_version() {
// test req: abi/001 req: abi/003 req: v1_release/007
const V1_EMPTY_BATCH: &[u8] = &[
72, 69, 77, 88, // HEMX
1, 0, // ABI v1
0, 0, // reserved
7, 0, 0, 0, 0, 0, 0, 0, // fingerprint
0, 0, 0, 0, // zero operations
];
assert_eq!(
EffectBatch::from_wire(V1_EMPTY_BATCH).unwrap().to_wire(),
V1_EMPTY_BATCH
);
let mut future = V1_EMPTY_BATCH.to_vec();
future[4] = 2;
let future = EffectBatch::from_wire(&future).unwrap();
assert_eq!(future.abi_version, 2);
assert!(!future.is_compatible());
}
#[test]
fn encoded_len_covers_every_effect_shape() {
let unscoped = ResourceRef::unscoped(ResourceId::new(ResourceKind::Slot, 1));