port: advance MSVC600 CPython compatibility frontier
This commit is contained in:
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Regression tests for the narrow VC6 compat/msvc600/pathcch.h shim.
|
||||
#
|
||||
# Skipped (not failed) when Wine + MSVC600 are unavailable, matching the other
|
||||
# VC6 probe test scripts. The live check is compile-only: it verifies that the
|
||||
# fixture using representative PathCchFindExtension paths reaches cl.exe exit 0.
|
||||
#
|
||||
# Usage: scripts/vc6-probe-pathcch.test.sh
|
||||
|
||||
set -u
|
||||
|
||||
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
PROBE="$REPO_ROOT/scripts/vc6-probe-core.sh"
|
||||
|
||||
fail=0
|
||||
pass() { echo "ok - $1"; }
|
||||
bad() { echo "not ok - $1"; fail=1; }
|
||||
|
||||
if grep -q 'PathCchFindExtension' "$REPO_ROOT/compat/msvc600/pathcch.h" && \
|
||||
grep -q 'defined(_MSC_VER).*1200' "$REPO_ROOT/compat/msvc600/pathcch.h"; then
|
||||
pass "compat/msvc600/pathcch.h provides a VC6-scoped PathCchFindExtension shim"
|
||||
else
|
||||
bad "compat/msvc600/pathcch.h provides a VC6-scoped PathCchFindExtension shim"
|
||||
fi
|
||||
|
||||
MSVC600_ROOT="${MSVC600_ROOT:-$REPO_ROOT/MSVC600}"
|
||||
if command -v wine >/dev/null 2>&1 && [ -e "$MSVC600_ROOT/VC98/Bin/CL.EXE" ]; then
|
||||
out="$($PROBE scripts/fixtures/vc6_pathcch_smoke.c 2>&1)"
|
||||
status=$?
|
||||
|
||||
if [ "$status" -eq 0 ]; then
|
||||
pass "PathCchFindExtension smoke fixture compiles under VC6 (exit 0)"
|
||||
else
|
||||
bad "PathCchFindExtension smoke fixture compiles under VC6 (exit $status)"
|
||||
echo "$out"
|
||||
fi
|
||||
|
||||
if printf '%s' "$out" | grep -q "Cannot open include file: 'pathcch.h'"; then
|
||||
bad "pathcch smoke fixture does not regress to missing pathcch.h"
|
||||
else
|
||||
pass "pathcch smoke fixture does not regress to missing pathcch.h"
|
||||
fi
|
||||
|
||||
if printf '%s' "$out" | grep -qi 'error'; then
|
||||
bad "pathcch smoke fixture: no compiler errors in output"
|
||||
else
|
||||
pass "pathcch smoke fixture: no compiler errors in output"
|
||||
fi
|
||||
else
|
||||
echo "skip - wine/MSVC600 not available; skipping live pathcch integration check"
|
||||
fi
|
||||
|
||||
if [ "$fail" -ne 0 ]; then
|
||||
echo "FAILED"
|
||||
exit 1
|
||||
fi
|
||||
echo "ALL TESTS PASSED"
|
||||
Reference in New Issue
Block a user