phase29ad(p0): split pattern6 ok vs contract fixtures

This commit is contained in:
2025-12-28 17:30:34 +09:00
parent 432a8436c7
commit 9c44e990a9
11 changed files with 171 additions and 27 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Phase 29ac P2: Pattern6 match scan OK minimal
# Tests: return index 1
# Phase 29ad P0: Pattern6 match scan contract violation
# Tests: missing step update must fail-fast
source "$(dirname "$0")/../../../lib/test_runner.sh"
export SMOKES_USE_PYVM=0
@ -19,12 +19,22 @@ if [ "$EXIT_CODE" -eq 124 ]; then
exit 1
fi
if [ "$EXIT_CODE" -eq 1 ]; then
test_pass "phase29ab_pattern6_matchscan_firstfail_min_vm: RC=1 (expected)"
exit 0
if [ "$EXIT_CODE" -eq 0 ]; then
echo "[FAIL] Expected JoinIR contract freeze error, got exit 0"
echo "[INFO] Output:"
echo "$OUTPUT" | tail -n 40 || true
test_fail "phase29ab_pattern6_matchscan_firstfail_min_vm: Unexpected success"
exit 1
fi
echo "[FAIL] Expected exit 1, got $EXIT_CODE"
echo "$OUTPUT" | tail -n 40 || true
test_fail "phase29ab_pattern6_matchscan_firstfail_min_vm: Unexpected RC"
exit 1
if echo "$OUTPUT" | grep -q "\[joinir/phase29ab/pattern6/contract\]"; then
test_pass "phase29ab_pattern6_matchscan_firstfail_min_vm: joinir contract freeze detected"
exit 0
else
echo "[FAIL] Expected joinir contract freeze tag in output"
echo "[INFO] Exit code: $EXIT_CODE"
echo "[INFO] Output:"
echo "$OUTPUT" | tail -n 60 || true
test_fail "phase29ab_pattern6_matchscan_firstfail_min_vm: Missing joinir contract freeze tag"
exit 1
fi

View File

@ -0,0 +1,30 @@
#!/bin/bash
# Phase 29ac P2: Pattern6 match scan OK minimal
# Tests: return index 1
source "$(dirname "$0")/../../../lib/test_runner.sh"
export SMOKES_USE_PYVM=0
require_env || exit 2
INPUT="$NYASH_ROOT/apps/tests/phase29ab_pattern6_matchscan_ok_min.hako"
RUN_TIMEOUT_SECS=${RUN_TIMEOUT_SECS:-10}
set +e
OUTPUT=$(timeout "$RUN_TIMEOUT_SECS" env NYASH_DISABLE_PLUGINS=1 HAKO_JOINIR_STRICT=1 "$NYASH_BIN" "$INPUT" 2>&1)
EXIT_CODE=$?
set -e
if [ "$EXIT_CODE" -eq 124 ]; then
test_fail "phase29ab_pattern6_matchscan_ok_min_vm: hakorune timed out (>${RUN_TIMEOUT_SECS}s)"
exit 1
fi
if [ "$EXIT_CODE" -eq 1 ]; then
test_pass "phase29ab_pattern6_matchscan_ok_min_vm: RC=1 (expected)"
exit 0
fi
echo "[FAIL] Expected exit 1, got $EXIT_CODE"
echo "$OUTPUT" | tail -n 40 || true
test_fail "phase29ab_pattern6_matchscan_ok_min_vm: Unexpected RC"
exit 1

View File

@ -1,6 +1,6 @@
#!/bin/bash
# Phase 29ac P1: Pattern6 reverse scan OK minimal
# Tests: return index 1
# Phase 29ad P0: Pattern6 reverse scan contract violation
# Tests: reverse step mismatch must fail-fast
source "$(dirname "$0")/../../../lib/test_runner.sh"
export SMOKES_USE_PYVM=0
@ -19,12 +19,22 @@ if [ "$EXIT_CODE" -eq 124 ]; then
exit 1
fi
if [ "$EXIT_CODE" -eq 1 ]; then
test_pass "phase29ab_pattern6_reverse_firstfail_min_vm: RC=1 (expected)"
exit 0
if [ "$EXIT_CODE" -eq 0 ]; then
echo "[FAIL] Expected JoinIR contract freeze error, got exit 0"
echo "[INFO] Output:"
echo "$OUTPUT" | tail -n 40 || true
test_fail "phase29ab_pattern6_reverse_firstfail_min_vm: Unexpected success"
exit 1
fi
echo "[FAIL] Expected exit 1, got $EXIT_CODE"
echo "$OUTPUT" | tail -n 40 || true
test_fail "phase29ab_pattern6_reverse_firstfail_min_vm: Unexpected RC"
exit 1
if echo "$OUTPUT" | grep -q "\[joinir/phase29ab/pattern6/contract\]"; then
test_pass "phase29ab_pattern6_reverse_firstfail_min_vm: joinir contract freeze detected"
exit 0
else
echo "[FAIL] Expected joinir contract freeze tag in output"
echo "[INFO] Exit code: $EXIT_CODE"
echo "[INFO] Output:"
echo "$OUTPUT" | tail -n 60 || true
test_fail "phase29ab_pattern6_reverse_firstfail_min_vm: Missing joinir contract freeze tag"
exit 1
fi

View File

@ -0,0 +1,30 @@
#!/bin/bash
# Phase 29ac P1: Pattern6 reverse scan OK minimal
# Tests: return index 1
source "$(dirname "$0")/../../../lib/test_runner.sh"
export SMOKES_USE_PYVM=0
require_env || exit 2
INPUT="$NYASH_ROOT/apps/tests/phase29ab_pattern6_reverse_ok_min.hako"
RUN_TIMEOUT_SECS=${RUN_TIMEOUT_SECS:-10}
set +e
OUTPUT=$(timeout "$RUN_TIMEOUT_SECS" env NYASH_DISABLE_PLUGINS=1 HAKO_JOINIR_STRICT=1 "$NYASH_BIN" "$INPUT" 2>&1)
EXIT_CODE=$?
set -e
if [ "$EXIT_CODE" -eq 124 ]; then
test_fail "phase29ab_pattern6_reverse_ok_min_vm: hakorune timed out (>${RUN_TIMEOUT_SECS}s)"
exit 1
fi
if [ "$EXIT_CODE" -eq 1 ]; then
test_pass "phase29ab_pattern6_reverse_ok_min_vm: RC=1 (expected)"
exit 0
fi
echo "[FAIL] Expected exit 1, got $EXIT_CODE"
echo "$OUTPUT" | tail -n 40 || true
test_fail "phase29ab_pattern6_reverse_ok_min_vm: Unexpected RC"
exit 1