From 7aef18d1d693bcf74fd098f8cf2daaf6eb7fb546 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Sat, 17 Oct 2026 15:58:49 +0000 Subject: docs(tests): document manifest objects for C and C++ fixtures Co-Authored-By: Claude Sonnet 5.5 --- tests/README.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/README.md') 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: -- cgit v1.3.1-4-g156e