Tests/PascalScriptTestSuite.dpr consolidates the probe programs that were
written while triaging issues remobjects#198/remobjects#246/remobjects#255/remobjects#296 and the compatibility,
interface, COM, DLL, wide-string, record and p-char work into one console
program with PASS/FAIL/SKIP verdicts, a summary line and a CI-friendly exit
code.
The same source runs against ANY tree state: script-language features are
detected at run time by test-compiling snippets, optional host APIs are
gated with {$IF DECLARED}, platform differences use plain conditionals, and
expectations adapt to SizeOf(TbtChar). Checks for behavioral fixes are
probed: on a tree without the fix they report SKIP with the observed
misbehavior; with -strict those probe-skips become failures so CI catches
regressions on fixed trees.
Compiles with Delphi 7 through 12 (Win32/Win64) and FPC 3.2.2 (-Mdelphi,
also on Linux). See Tests/README.md for one-liners, the section list, the
skip philosophy and current reference numbers per tree.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tests/PascalScriptTestSuite.dpr consolidates the probe programs that were
written while triaging issues #198/#246/#255/#296 and the compatibility,
interface, COM, DLL, wide-string, record and p-char work into one console
program with PASS/FAIL/SKIP verdicts, a summary line and a CI-friendly exit
code.
The same source runs against ANY tree state: script-language features are
detected at run time by test-compiling snippets, optional host APIs are
gated with {$IF DECLARED}, platform differences use plain conditionals, and
expectations adapt to SizeOf(TbtChar). Checks for behavioral fixes are
probed: on a tree without the fix they report SKIP with the observed
misbehavior; with -strict those probe-skips become failures so CI catches
regressions on fixed trees.
Compiles with Delphi 7 through 12 (Win32/Win64) and FPC 3.2.2 (-Mdelphi,
also on Linux). See Tests/README.md for one-liners, the section list, the
skip philosophy and current reference numbers per tree.
The suite runs against ANY tree state: missing language features are SKIPped (detected by test-compiling snippets), probe-detected broken behavior is reported as SKIP with the observation, and -strict turns those probe-skips into failures for CI use on a fixed tree. See Tests/README.md for the section list and current reference numbers (this vanilla tree: 93 checks, 70 pass, 23 skip, exit code 0).
🤖 Generated with Claude Code