Phase47-B/C: extend P3 normalized shapes and quiet dev warnings
This commit is contained in:
@ -17,6 +17,8 @@ use nyash_rust::mir::join_ir::normalized::fixtures::{
|
||||
build_jsonparser_skip_ws_structured_for_normalized_dev,
|
||||
build_pattern2_break_fixture_structured, build_pattern2_minimal_structured,
|
||||
build_pattern3_if_sum_min_structured_for_normalized_dev,
|
||||
build_pattern3_if_sum_multi_min_structured_for_normalized_dev,
|
||||
build_pattern3_json_if_sum_min_structured_for_normalized_dev,
|
||||
build_pattern4_continue_min_structured_for_normalized_dev,
|
||||
};
|
||||
use nyash_rust::mir::join_ir_runner::run_joinir_function;
|
||||
@ -530,6 +532,42 @@ fn normalized_pattern3_if_sum_minimal_runner_dev_switch_matches_structured() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn normalized_pattern3_if_sum_multi_vm_bridge_direct_matches_structured() {
|
||||
let _ctx = normalized_dev_test_ctx();
|
||||
let structured = build_pattern3_if_sum_multi_min_structured_for_normalized_dev();
|
||||
let entry = structured.entry.expect("structured entry required");
|
||||
let input = [JoinValue::Int(0)];
|
||||
|
||||
let base = run_joinir_vm_bridge(&structured, entry, &input, false);
|
||||
let dev = run_joinir_vm_bridge(&structured, entry, &input, true);
|
||||
|
||||
assert_eq!(base, dev, "vm bridge mismatch for P3 if-sum multi");
|
||||
assert_eq!(
|
||||
dev,
|
||||
JoinValue::Int(2),
|
||||
"unexpected result for P3 if-sum multi (expected sum=2)"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn normalized_pattern3_json_if_sum_min_vm_bridge_direct_matches_structured() {
|
||||
let _ctx = normalized_dev_test_ctx();
|
||||
let structured = build_pattern3_json_if_sum_min_structured_for_normalized_dev();
|
||||
let entry = structured.entry.expect("structured entry required");
|
||||
let input = [JoinValue::Int(0)];
|
||||
|
||||
let base = run_joinir_vm_bridge(&structured, entry, &input, false);
|
||||
let dev = run_joinir_vm_bridge(&structured, entry, &input, true);
|
||||
|
||||
assert_eq!(base, dev, "vm bridge mismatch for P3 json if-sum");
|
||||
assert_eq!(
|
||||
dev,
|
||||
JoinValue::Int(10),
|
||||
"unexpected result for P3 json if-sum (expected sum=10)"
|
||||
);
|
||||
}
|
||||
|
||||
#[cfg(feature = "normalized_dev")]
|
||||
#[test]
|
||||
fn test_phase46_canonical_set_includes_p2_mid() {
|
||||
@ -542,6 +580,15 @@ fn test_phase46_canonical_set_includes_p2_mid() {
|
||||
assert!(is_canonical_shape(
|
||||
&NormalizedDevShape::JsonparserParseNumberReal
|
||||
));
|
||||
assert!(is_canonical_shape(
|
||||
&NormalizedDevShape::Pattern3IfSumMinimal
|
||||
));
|
||||
assert!(is_canonical_shape(
|
||||
&NormalizedDevShape::Pattern3IfSumMulti
|
||||
));
|
||||
assert!(is_canonical_shape(
|
||||
&NormalizedDevShape::Pattern3IfSumJson
|
||||
));
|
||||
|
||||
// Verify P2-Core patterns still canonical
|
||||
assert!(is_canonical_shape(&NormalizedDevShape::Pattern2Mini));
|
||||
|
||||
Reference in New Issue
Block a user