aboutsummaryrefslogtreecommitdiff
path: root/tests/README.md
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-17 15:58:49 +0000
committer_ov4 <ov4@ov4.org>2026-10-17 15:58:49 +0000
commit7aef18d1d693bcf74fd098f8cf2daaf6eb7fb546 (patch)
treea319f922e5f4a322dd1a50ed93cd483ea651a1d1 /tests/README.md
parent44e3b4e38808072ac9e605ab5a216ae54db8c5e4 (diff)
docs(tests): document manifest objects for C and C++ fixtures
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'tests/README.md')
-rw-r--r--tests/README.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/README.md b/tests/README.md
index a7ebabe..3b9cfc7 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -30,6 +30,8 @@ In Actions, each compiler platform runs all three suites and summarizes results
For adding cases and runner interfaces, see [AGENTS/TESTING.md](../AGENTS/TESTING.md).
+A case with `objects` in `case.json` builds `.c` and `.cc` files into `.o` files for `INCLUDE_OBJ` (see `i/extern-c-object` and `i/extern-cc-object`). CMake passes the project C and C++ compilers.
+
Multi-file fixtures use a `sources` array in `case.json`, listing all compiler inputs relative to the case directory in command-line order. The default remains `["program.cps"]`. Included libraries live beside the fixture source or in subdirectories; INCLUDE paths stay relative to their including source. Sources are passed separately to both native compilation and the configured runner. Negative cases may add `file` to an error expectation; the reason, line and exact resolved source path must occur on the same diagnostic.
Run the cross-file cases (functions, shared globals, imported types, include cycles, MAIN, exception unwinding and rejection diagnostics) with: