0.3.15-pre.014

This commit is contained in:
2026-09-17 13:02:10 +02:00
parent 6ee4e3bdf4
commit ad24cb36fa
10 changed files with 561 additions and 13 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/tests/hardening_completeness.rs
// version: 24
// version: 25
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -606,3 +606,40 @@ fn v0_3_15_pre_012_fix_004_content_conflict_diagnostic_is_field_only_bounded_and
assert!(source.contains("fields.push(\"other\")"));
return;
}
#[test]
fn v0_3_15_pre_014_content_conflict_diagnostic_exposes_only_block_slot_and_bounded_log_shape() {
let source = include_str!("../src/raw_transaction.rs");
for required in [
"stored_slot",
"incoming_slot",
"log_messages_first_mismatch_index",
"stored_log_messages_count",
"incoming_log_messages_count",
"stored_log_messages_first_kind",
"incoming_log_messages_first_kind",
"stored_log_messages_prefix_of_incoming",
"incoming_log_messages_prefix_of_stored",
"stored_log_messages_has_truncation_marker",
"incoming_log_messages_has_truncation_marker",
"raw_log_message_kind_and_length",
"raw_log_message_array_has_truncation_marker",
] {
assert!(source.contains(required), "missing pre.014 bounded logMessages diagnostic field: {required}");
}
let start = source.find("fn log_raw_transaction_content_conflict(");
assert!(start.is_some(), "missing pre.014 conflict logger");
let Some(start) = start else {
return;
};
let end = source[start..].find("async fn log_raw_transaction_content_conflict_provenance(");
assert!(end.is_some(), "missing pre.014 conflict logger end marker");
let Some(end) = end else {
return;
};
let logger = &source[start..start + end];
for forbidden in ["signature =", "blockhash =", "previous_blockhash =", "log_message =", "log_line =", "payload ="] {
assert!(!logger.contains(forbidden), "pre.014 conflict logger exposes forbidden material: {forbidden}");
}
return;
}