Repository navigation
Boilerplate, CI - #94
Merged
Merged
Conversation
Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave;
mwsis
approved these changes
Sep 21, 2026
Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*).
Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir.
Finish Phase 4b/4c on boilerplate:
- copy run_all_{component,examples,performance,scratch,unit}_tests.sh
from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback
that gold removed from the non-automated runners;
- retain **prepare_cmake.sh** project-specific --no-shwild,
--stlsoft-root-dir, --c-standard, and --cxx-standard;
- rename the scratch reporter target to **test.scratch.versions** so
**run_all_scratch_tests.sh** discovers it, and drop the
SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the
generator derives the target name from the directory;
- record both changes under Unreleased in **CHANGES.md**;
- bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md;
- adopt BDUT run_all_examples.{sh,cmd} with allow-list support;
- add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner
and example.c.tests;
- record in CHANGES.md under 0.26.6-beta1;
- list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match;
- replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md;
synesissoftware
added a commit
that referenced
this pull request
Oct 9, 2026
* Boilerplate (#93) * chore(c-cpp): union files.associations from ~/dev vscode settings Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx** templates) a sorted **files.associations** union of all associations found under **~/dev**; * .gitattributes * .vscode/settings.json * .vimrc * CHANGES.md * test(<lib>): ship scratch libver version reporter Add or normalise test/scratch/libver to print the hosting PREFIX_VER as “Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public headers are included, an “efferent dependencies:” block. * test(<lib>): rename scratch libver to versions Move test/scratch/libver to test/scratch/versions and retarget the executable as versions so C/C++ reporters match the Phase 3 freeze. * Boilerplate, CI (#94) * .vimrc * chore: align editorconfig and gitattributes with c_cxx gold Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave; * fix(c-cpp): quote Dir resolution in CMake helper scripts Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*). * chore(xTests): adopt SisClr cmake-helpers gold Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir. * chore(xTests): align runners to gold and rename versions reporter Finish Phase 4b/4c on boilerplate: - copy run_all_{component,examples,performance,scratch,unit}_tests.sh from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback that gold removed from the non-automated runners; - retain **prepare_cmake.sh** project-specific --no-shwild, --stlsoft-root-dir, --c-standard, and --cxx-standard; - rename the scratch reporter target to **test.scratch.versions** so **run_all_scratch_tests.sh** discovers it, and drop the SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the generator derives the target name from the directory; - record both changes under Unreleased in **CHANGES.md**; * chore(xtests): prepare 0.26.6-beta1 release - bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md; * chore(xtests): allow examples that demonstrate failure by design - adopt BDUT run_all_examples.{sh,cmd} with allow-list support; - add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner and example.c.tests; - record in CHANGES.md under 0.26.6-beta1; * ci(xtests): allow example.cpp.udt to fail by design - list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match; * ci(xtests): run component tests via run_all_component_tests.sh - replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md; * ci(xtests): dogfood native .cmd runners on Windows cells - split each run_all_* step into a Bash step (non-Windows) and a native cmd step (Windows, shell: cmd); - give the MSYS2 setup step id msys2 for the MinGW PATH prepend; - record in CHANGES.md;
mwsis
added a commit
that referenced
this pull request
Oct 17, 2026
* squash-commit of branch 'update'
* chore(xtests): 0.26.5-beta2
Bump `_XTESTS_VER_ALPHABETA` to 0x42 and add `_XTESTS_VER_AB`; record the
release in CHANGES.md, NEWS.md, and Doxyfile:
- hyphen-compact prerelease headings, with 1st September recast as beta1;
- NEWS.md Details column with GitHub links for tagged releases.
* docs(xtests): move Components catalog into COMPONENTS.md
Replace the nested README `<details>` widgets with a short map that links
to **COMPONENTS.md**, listing each public construct with a small example;
include previously omitted terse-API, helpers, and flags.
* feat(xtests): add POINTER_NULL / NOT_NULL and null-expected messages
Add `XTESTS_TEST_POINTER_NULL` / `XTESTS_TEST_POINTER_NOT_NULL` (and terse
aliases) as wrappers of EQUAL/NOT_EQUAL with `NULL`; special-case failure
wording when the expected pointer is null ("is not null as expected" /
"actual pointer is null not as expected"); document in COMPONENTS/CHANGES/
NEWS; illustrate in example.c.tests and the all-failure scratch suite; add
pass-path unit coverage; note the static `fprintf_reporter` capture hazard
on TODO.
* version
* Boilerplate (#93)
* chore(c-cpp): union files.associations from ~/dev vscode settings
Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx**
templates) a sorted **files.associations** union of all associations
found under **~/dev**;
* .gitattributes
* .vscode/settings.json
* .vimrc
* CHANGES.md
* test(<lib>): ship scratch libver version reporter
Add or normalise test/scratch/libver to print the hosting PREFIX_VER as
“Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public
headers are included, an “efferent dependencies:” block.
* test(<lib>): rename scratch libver to versions
Move test/scratch/libver to test/scratch/versions and retarget the
executable as versions so C/C++ reporters match the Phase 3 freeze.
* Boilerplate, CI (#94)
* .vimrc
* chore: align editorconfig and gitattributes with c_cxx gold
Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes
with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist
language-bar overlay so both files match the rest of the C/C++ wave;
* fix(c-cpp): quote Dir resolution in CMake helper scripts
Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve
reliably; apply the same one-line fix across in-wave helper scripts
(prepare/build/clean/ctest/remove and run_all_*).
* chore(xTests): adopt SisClr cmake-helpers gold
Bring root CMake helpers to the misc-dev-scripts examining-host dialect;
retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir.
* chore(xTests): align runners to gold and rename versions reporter
Finish Phase 4b/4c on boilerplate:
- copy run_all_{component,examples,performance,scratch,unit}_tests.sh
from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback
that gold removed from the non-automated runners;
- retain **prepare_cmake.sh** project-specific --no-shwild,
--stlsoft-root-dir, --c-standard, and --cxx-standard;
- rename the scratch reporter target to **test.scratch.versions** so
**run_all_scratch_tests.sh** discovers it, and drop the
SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the
generator derives the target name from the directory;
- record both changes under Unreleased in **CHANGES.md**;
* chore(xtests): prepare 0.26.6-beta1 release
- bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81;
- sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1;
- retitle Unreleased CHANGES.md section as 0.26.6-beta1;
- add 0.26.6-beta1 release row to NEWS.md;
* chore(xtests): allow examples that demonstrate failure by design
- adopt BDUT run_all_examples.{sh,cmd} with allow-list support;
- add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner
and example.c.tests;
- record in CHANGES.md under 0.26.6-beta1;
* ci(xtests): allow example.cpp.udt to fail by design
- list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt;
- update the CHANGES.md bullet to match;
* ci(xtests): run component tests via run_all_component_tests.sh
- replace run_all_unit_tests.sh -M --component-only, which is not an
accepted option, with run_all_component_tests.sh -M;
- record in CHANGES.md;
* ci(xtests): dogfood native .cmd runners on Windows cells
- split each run_all_* step into a Bash step (non-Windows) and a native cmd
step (Windows, shell: cmd);
- give the MSYS2 setup step id msys2 for the MinGW PATH prepend;
- record in CHANGES.md;
---------
Co-authored-by: synesissoftware <matthew@synesis.com.au>
synesissoftware
added a commit
that referenced
this pull request
Oct 17, 2026
* `nullptr` / `NULL` functions (#91) * squash-commit of branch 'update' * chore(xtests): 0.26.5-beta2 Bump `_XTESTS_VER_ALPHABETA` to 0x42 and add `_XTESTS_VER_AB`; record the release in CHANGES.md, NEWS.md, and Doxyfile: - hyphen-compact prerelease headings, with 1st September recast as beta1; - NEWS.md Details column with GitHub links for tagged releases. * docs(xtests): move Components catalog into COMPONENTS.md Replace the nested README `<details>` widgets with a short map that links to **COMPONENTS.md**, listing each public construct with a small example; include previously omitted terse-API, helpers, and flags. * feat(xtests): add POINTER_NULL / NOT_NULL and null-expected messages Add `XTESTS_TEST_POINTER_NULL` / `XTESTS_TEST_POINTER_NOT_NULL` (and terse aliases) as wrappers of EQUAL/NOT_EQUAL with `NULL`; special-case failure wording when the expected pointer is null ("is not null as expected" / "actual pointer is null not as expected"); document in COMPONENTS/CHANGES/ NEWS; illustrate in example.c.tests and the all-failure scratch suite; add pass-path unit coverage; note the static `fprintf_reporter` capture hazard on TODO. * version * Boilerplate (#93) * chore(c-cpp): union files.associations from ~/dev vscode settings Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx** templates) a sorted **files.associations** union of all associations found under **~/dev**; * .gitattributes * .vscode/settings.json * .vimrc * CHANGES.md * test(<lib>): ship scratch libver version reporter Add or normalise test/scratch/libver to print the hosting PREFIX_VER as “Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public headers are included, an “efferent dependencies:” block. * test(<lib>): rename scratch libver to versions Move test/scratch/libver to test/scratch/versions and retarget the executable as versions so C/C++ reporters match the Phase 3 freeze. * Boilerplate, CI (#94) * .vimrc * chore: align editorconfig and gitattributes with c_cxx gold Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave; * fix(c-cpp): quote Dir resolution in CMake helper scripts Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*). * chore(xTests): adopt SisClr cmake-helpers gold Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir. * chore(xTests): align runners to gold and rename versions reporter Finish Phase 4b/4c on boilerplate: - copy run_all_{component,examples,performance,scratch,unit}_tests.sh from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback that gold removed from the non-automated runners; - retain **prepare_cmake.sh** project-specific --no-shwild, --stlsoft-root-dir, --c-standard, and --cxx-standard; - rename the scratch reporter target to **test.scratch.versions** so **run_all_scratch_tests.sh** discovers it, and drop the SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the generator derives the target name from the directory; - record both changes under Unreleased in **CHANGES.md**; * chore(xtests): prepare 0.26.6-beta1 release - bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md; * chore(xtests): allow examples that demonstrate failure by design - adopt BDUT run_all_examples.{sh,cmd} with allow-list support; - add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner and example.c.tests; - record in CHANGES.md under 0.26.6-beta1; * ci(xtests): allow example.cpp.udt to fail by design - list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match; * ci(xtests): run component tests via run_all_component_tests.sh - replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md; * ci(xtests): dogfood native .cmd runners on Windows cells - split each run_all_* step into a Bash step (non-Windows) and a native cmd step (Windows, shell: cmd); - give the MSYS2 setup step id msys2 for the MinGW PATH prepend; - record in CHANGES.md; --------- Co-authored-by: synesissoftware <matthew@synesis.com.au> * chore: renamed **test/unit/test.unit.pointer_comparisons** => ** test/unit/pointer-comparisons** --------- Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com>
synesissoftware
added a commit
that referenced
this pull request
Oct 18, 2026
…st name) (#92) * 0.27.0-alpha1 * `XTESTS_START_RUNNER()` (and related start-runner APIs) now infer a runner name from a source path such as `__FILE__`, using the containing directory when the file stem is a stock `entry`/`main` and the extension is a C/C++ source suffix; * Demonstrated in **test.component.temp_directory**, which now starts its runner with `__FILE__`; * fix * fix * fix * fix * Boilerplate (#93) * chore(c-cpp): union files.associations from ~/dev vscode settings Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx** templates) a sorted **files.associations** union of all associations found under **~/dev**; * .gitattributes * .vscode/settings.json * .vimrc * CHANGES.md * test(<lib>): ship scratch libver version reporter Add or normalise test/scratch/libver to print the hosting PREFIX_VER as “Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public headers are included, an “efferent dependencies:” block. * test(<lib>): rename scratch libver to versions Move test/scratch/libver to test/scratch/versions and retarget the executable as versions so C/C++ reporters match the Phase 3 freeze. * Boilerplate, CI (#94) * .vimrc * chore: align editorconfig and gitattributes with c_cxx gold Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave; * fix(c-cpp): quote Dir resolution in CMake helper scripts Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*). * chore(xTests): adopt SisClr cmake-helpers gold Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir. * chore(xTests): align runners to gold and rename versions reporter Finish Phase 4b/4c on boilerplate: - copy run_all_{component,examples,performance,scratch,unit}_tests.sh from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback that gold removed from the non-automated runners; - retain **prepare_cmake.sh** project-specific --no-shwild, --stlsoft-root-dir, --c-standard, and --cxx-standard; - rename the scratch reporter target to **test.scratch.versions** so **run_all_scratch_tests.sh** discovers it, and drop the SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the generator derives the target name from the directory; - record both changes under Unreleased in **CHANGES.md**; * chore(xtests): prepare 0.26.6-beta1 release - bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md; * chore(xtests): allow examples that demonstrate failure by design - adopt BDUT run_all_examples.{sh,cmd} with allow-list support; - add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner and example.c.tests; - record in CHANGES.md under 0.26.6-beta1; * ci(xtests): allow example.cpp.udt to fail by design - list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match; * ci(xtests): run component tests via run_all_component_tests.sh - replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md; * ci(xtests): dogfood native .cmd runners on Windows cells - split each run_all_* step into a Bash step (non-Windows) and a native cmd step (Windows, shell: cmd); - give the MSYS2 setup step id msys2 for the MinGW PATH prepend; - record in CHANGES.md; * chore(spelling) * feat(xtests): infer runner name from __FILE__ in XTESTS_START_RUNNER Complete infer_name_() so that a C/C++ source path (i.e. __FILE__) given as the runner name yields a sensible name; any path failing the rules is passed through unchanged: - extension must be .c, .cc, .cpp or .cxx; - stem must be entry or main, or equal the leaf directory (in which case the result is the stem); - for entry/main, a leaf of the form example.<X> or test.<X> is the result, otherwise the nearest example/examples/test ancestor is joined with the directories below it by '.', with examples becoming example; - relative and absolute paths, with / or \ separators, are handled; - replace prefix-matching helper with exact-length comparison and remove debugging output. Document the rules in the XTESTS_START_RUNNER*() Doxygen markup in xtests.h and in a new README.md Runner Names section. Update CHANGES.md and NEWS.md for 0.28.0-alpha2, and start the temp_directory component test's runner with __FILE__. --------- Co-authored-by: synesissoftware <matthew@synesis.com.au>
synesissoftware
added a commit
that referenced
this pull request
Oct 22, 2026
* refactor(core): 4-parameter collapsed into `flfe_t` helper struct (#104) * `START_RUNNER()` can now take `__FILE__` (from which it infers the test name) (#92) * 0.27.0-alpha1 * `XTESTS_START_RUNNER()` (and related start-runner APIs) now infer a runner name from a source path such as `__FILE__`, using the containing directory when the file stem is a stock `entry`/`main` and the extension is a C/C++ source suffix; * Demonstrated in **test.component.temp_directory**, which now starts its runner with `__FILE__`; * fix * fix * fix * fix * Boilerplate (#93) * chore(c-cpp): union files.associations from ~/dev vscode settings Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx** templates) a sorted **files.associations** union of all associations found under **~/dev**; * .gitattributes * .vscode/settings.json * .vimrc * CHANGES.md * test(<lib>): ship scratch libver version reporter Add or normalise test/scratch/libver to print the hosting PREFIX_VER as “Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public headers are included, an “efferent dependencies:” block. * test(<lib>): rename scratch libver to versions Move test/scratch/libver to test/scratch/versions and retarget the executable as versions so C/C++ reporters match the Phase 3 freeze. * Boilerplate, CI (#94) * .vimrc * chore: align editorconfig and gitattributes with c_cxx gold Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave; * fix(c-cpp): quote Dir resolution in CMake helper scripts Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*). * chore(xTests): adopt SisClr cmake-helpers gold Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir. * chore(xTests): align runners to gold and rename versions reporter Finish Phase 4b/4c on boilerplate: - copy run_all_{component,examples,performance,scratch,unit}_tests.sh from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback that gold removed from the non-automated runners; - retain **prepare_cmake.sh** project-specific --no-shwild, --stlsoft-root-dir, --c-standard, and --cxx-standard; - rename the scratch reporter target to **test.scratch.versions** so **run_all_scratch_tests.sh** discovers it, and drop the SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the generator derives the target name from the directory; - record both changes under Unreleased in **CHANGES.md**; * chore(xtests): prepare 0.26.6-beta1 release - bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md; * chore(xtests): allow examples that demonstrate failure by design - adopt BDUT run_all_examples.{sh,cmd} with allow-list support; - add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner and example.c.tests; - record in CHANGES.md under 0.26.6-beta1; * ci(xtests): allow example.cpp.udt to fail by design - list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match; * ci(xtests): run component tests via run_all_component_tests.sh - replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md; * ci(xtests): dogfood native .cmd runners on Windows cells - split each run_all_* step into a Bash step (non-Windows) and a native cmd step (Windows, shell: cmd); - give the MSYS2 setup step id msys2 for the MinGW PATH prepend; - record in CHANGES.md; * chore(spelling) * feat(xtests): infer runner name from __FILE__ in XTESTS_START_RUNNER Complete infer_name_() so that a C/C++ source path (i.e. __FILE__) given as the runner name yields a sensible name; any path failing the rules is passed through unchanged: - extension must be .c, .cc, .cpp or .cxx; - stem must be entry or main, or equal the leaf directory (in which case the result is the stem); - for entry/main, a leaf of the form example.<X> or test.<X> is the result, otherwise the nearest example/examples/test ancestor is joined with the directories below it by '.', with examples becoming example; - relative and absolute paths, with / or \ separators, are handled; - replace prefix-matching helper with exact-length comparison and remove debugging output. Document the rules in the XTESTS_START_RUNNER*() Doxygen markup in xtests.h and in a new README.md Runner Names section. Update CHANGES.md and NEWS.md for 0.28.0-alpha2, and start the temp_directory component test's runner with __FILE__. --------- Co-authored-by: synesissoftware <matthew@synesis.com.au> * Naming (#105) * tidy * tidy * version * docs(xtests): record 0.28.0-alpha2 for 22nd October 2026 Date the release today and record every change since 0.28.0-alpha1: - `__FILE__` runner-name inference, its documentation, and the four adopting programs; - the internal `flfe_t` collapse of file, line, function, and expr; - strike the completed TODO items and note `__FILE__` in **COMPONENTS.md**; --------- Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com>
synesissoftware
added a commit
that referenced
this pull request
Oct 23, 2026
* refactor(core): 4-parameter collapsed into `flfe_t` helper struct (#104) * `START_RUNNER()` can now take `__FILE__` (from which it infers the test name) (#92) * 0.27.0-alpha1 * `XTESTS_START_RUNNER()` (and related start-runner APIs) now infer a runner name from a source path such as `__FILE__`, using the containing directory when the file stem is a stock `entry`/`main` and the extension is a C/C++ source suffix; * Demonstrated in **test.component.temp_directory**, which now starts its runner with `__FILE__`; * fix * fix * fix * fix * Boilerplate (#93) * chore(c-cpp): union files.associations from ~/dev vscode settings Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx** templates) a sorted **files.associations** union of all associations found under **~/dev**; * .gitattributes * .vscode/settings.json * .vimrc * CHANGES.md * test(<lib>): ship scratch libver version reporter Add or normalise test/scratch/libver to print the hosting PREFIX_VER as “Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public headers are included, an “efferent dependencies:” block. * test(<lib>): rename scratch libver to versions Move test/scratch/libver to test/scratch/versions and retarget the executable as versions so C/C++ reporters match the Phase 3 freeze. * Boilerplate, CI (#94) * .vimrc * chore: align editorconfig and gitattributes with c_cxx gold Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave; * fix(c-cpp): quote Dir resolution in CMake helper scripts Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*). * chore(xTests): adopt SisClr cmake-helpers gold Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir. * chore(xTests): align runners to gold and rename versions reporter Finish Phase 4b/4c on boilerplate: - copy run_all_{component,examples,performance,scratch,unit}_tests.sh from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback that gold removed from the non-automated runners; - retain **prepare_cmake.sh** project-specific --no-shwild, --stlsoft-root-dir, --c-standard, and --cxx-standard; - rename the scratch reporter target to **test.scratch.versions** so **run_all_scratch_tests.sh** discovers it, and drop the SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the generator derives the target name from the directory; - record both changes under Unreleased in **CHANGES.md**; * chore(xtests): prepare 0.26.6-beta1 release - bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md; * chore(xtests): allow examples that demonstrate failure by design - adopt BDUT run_all_examples.{sh,cmd} with allow-list support; - add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner and example.c.tests; - record in CHANGES.md under 0.26.6-beta1; * ci(xtests): allow example.cpp.udt to fail by design - list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match; * ci(xtests): run component tests via run_all_component_tests.sh - replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md; * ci(xtests): dogfood native .cmd runners on Windows cells - split each run_all_* step into a Bash step (non-Windows) and a native cmd step (Windows, shell: cmd); - give the MSYS2 setup step id msys2 for the MinGW PATH prepend; - record in CHANGES.md; * chore(spelling) * feat(xtests): infer runner name from __FILE__ in XTESTS_START_RUNNER Complete infer_name_() so that a C/C++ source path (i.e. __FILE__) given as the runner name yields a sensible name; any path failing the rules is passed through unchanged: - extension must be .c, .cc, .cpp or .cxx; - stem must be entry or main, or equal the leaf directory (in which case the result is the stem); - for entry/main, a leaf of the form example.<X> or test.<X> is the result, otherwise the nearest example/examples/test ancestor is joined with the directories below it by '.', with examples becoming example; - relative and absolute paths, with / or \ separators, are handled; - replace prefix-matching helper with exact-length comparison and remove debugging output. Document the rules in the XTESTS_START_RUNNER*() Doxygen markup in xtests.h and in a new README.md Runner Names section. Update CHANGES.md and NEWS.md for 0.28.0-alpha2, and start the temp_directory component test's runner with __FILE__. --------- Co-authored-by: synesissoftware <matthew@synesis.com.au> * Naming (#105) * tidy * tidy * version * feat(xtests): expand terse API aliases for 0.28.0-beta1 Add further short aliases in **terse-api.h** (`TEST_BOOL_*`, `TEST_*_EQ_EXACT`, `TEST_INT_EQ_ANY_*`, `TEST_MS_SLICE_*` / `TEST_WS_SLICE_*`, message helpers, `END_RUNNER_UPDATE_EXITCODE`); bump `_XTESTS_VER_RELSTATUS` to `0x81` and sync **Doxyfile**, **CHANGES.md**, **NEWS.md**, and **COMPONENTS.md** for **0.28.0-beta1** (21st October 2026). --------- Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com>
synesissoftware
added a commit
that referenced
this pull request
Oct 25, 2026
* feat(xtests): expand terse API aliases for 0.28.0-beta1 (#107) * refactor(core): 4-parameter collapsed into `flfe_t` helper struct (#104) * `START_RUNNER()` can now take `__FILE__` (from which it infers the test name) (#92) * 0.27.0-alpha1 * `XTESTS_START_RUNNER()` (and related start-runner APIs) now infer a runner name from a source path such as `__FILE__`, using the containing directory when the file stem is a stock `entry`/`main` and the extension is a C/C++ source suffix; * Demonstrated in **test.component.temp_directory**, which now starts its runner with `__FILE__`; * fix * fix * fix * fix * Boilerplate (#93) * chore(c-cpp): union files.associations from ~/dev vscode settings Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx** templates) a sorted **files.associations** union of all associations found under **~/dev**; * .gitattributes * .vscode/settings.json * .vimrc * CHANGES.md * test(<lib>): ship scratch libver version reporter Add or normalise test/scratch/libver to print the hosting PREFIX_VER as “Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public headers are included, an “efferent dependencies:” block. * test(<lib>): rename scratch libver to versions Move test/scratch/libver to test/scratch/versions and retarget the executable as versions so C/C++ reporters match the Phase 3 freeze. * Boilerplate, CI (#94) * .vimrc * chore: align editorconfig and gitattributes with c_cxx gold Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave; * fix(c-cpp): quote Dir resolution in CMake helper scripts Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*). * chore(xTests): adopt SisClr cmake-helpers gold Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir. * chore(xTests): align runners to gold and rename versions reporter Finish Phase 4b/4c on boilerplate: - copy run_all_{component,examples,performance,scratch,unit}_tests.sh from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback that gold removed from the non-automated runners; - retain **prepare_cmake.sh** project-specific --no-shwild, --stlsoft-root-dir, --c-standard, and --cxx-standard; - rename the scratch reporter target to **test.scratch.versions** so **run_all_scratch_tests.sh** discovers it, and drop the SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the generator derives the target name from the directory; - record both changes under Unreleased in **CHANGES.md**; * chore(xtests): prepare 0.26.6-beta1 release - bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md; * chore(xtests): allow examples that demonstrate failure by design - adopt BDUT run_all_examples.{sh,cmd} with allow-list support; - add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner and example.c.tests; - record in CHANGES.md under 0.26.6-beta1; * ci(xtests): allow example.cpp.udt to fail by design - list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match; * ci(xtests): run component tests via run_all_component_tests.sh - replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md; * ci(xtests): dogfood native .cmd runners on Windows cells - split each run_all_* step into a Bash step (non-Windows) and a native cmd step (Windows, shell: cmd); - give the MSYS2 setup step id msys2 for the MinGW PATH prepend; - record in CHANGES.md; * chore(spelling) * feat(xtests): infer runner name from __FILE__ in XTESTS_START_RUNNER Complete infer_name_() so that a C/C++ source path (i.e. __FILE__) given as the runner name yields a sensible name; any path failing the rules is passed through unchanged: - extension must be .c, .cc, .cpp or .cxx; - stem must be entry or main, or equal the leaf directory (in which case the result is the stem); - for entry/main, a leaf of the form example.<X> or test.<X> is the result, otherwise the nearest example/examples/test ancestor is joined with the directories below it by '.', with examples becoming example; - relative and absolute paths, with / or \ separators, are handled; - replace prefix-matching helper with exact-length comparison and remove debugging output. Document the rules in the XTESTS_START_RUNNER*() Doxygen markup in xtests.h and in a new README.md Runner Names section. Update CHANGES.md and NEWS.md for 0.28.0-alpha2, and start the temp_directory component test's runner with __FILE__. --------- Co-authored-by: synesissoftware <matthew@synesis.com.au> * Naming (#105) * tidy * tidy * version * feat(xtests): expand terse API aliases for 0.28.0-beta1 Add further short aliases in **terse-api.h** (`TEST_BOOL_*`, `TEST_*_EQ_EXACT`, `TEST_INT_EQ_ANY_*`, `TEST_MS_SLICE_*` / `TEST_WS_SLICE_*`, message helpers, `END_RUNNER_UPDATE_EXITCODE`); bump `_XTESTS_VER_RELSTATUS` to `0x81` and sync **Doxyfile**, **CHANGES.md**, **NEWS.md**, and **COMPONENTS.md** for **0.28.0-beta1** (21st October 2026). --------- Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com> * docs(xtests): segregate 0.28.0 CHANGES entry by category Group the 0.28.0 entry into additions, changes, dependencies, documentation, examples, testing, and version, matching the layout used in the latest Pantheios and STLSoft releases. --------- Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com>
synesissoftware
added a commit
that referenced
this pull request
Oct 27, 2026
* feat(xtests): expand terse API aliases for 0.28.0-beta1 (#107) * refactor(core): 4-parameter collapsed into `flfe_t` helper struct (#104) * `START_RUNNER()` can now take `__FILE__` (from which it infers the test name) (#92) * 0.27.0-alpha1 * `XTESTS_START_RUNNER()` (and related start-runner APIs) now infer a runner name from a source path such as `__FILE__`, using the containing directory when the file stem is a stock `entry`/`main` and the extension is a C/C++ source suffix; * Demonstrated in **test.component.temp_directory**, which now starts its runner with `__FILE__`; * fix * fix * fix * fix * Boilerplate (#93) * chore(c-cpp): union files.associations from ~/dev vscode settings Give the 28 in-wave C/C++ projects (and gold **c** / **cxx** / **c_cxx** templates) a sorted **files.associations** union of all associations found under **~/dev**; * .gitattributes * .vscode/settings.json * .vimrc * CHANGES.md * test(<lib>): ship scratch libver version reporter Add or normalise test/scratch/libver to print the hosting PREFIX_VER as “Name: vM.m.p.ab (PREFIX_VER = 0x........)” and, when sibling public headers are included, an “efferent dependencies:” block. * test(<lib>): rename scratch libver to versions Move test/scratch/libver to test/scratch/versions and retarget the executable as versions so C/C++ reporters match the Phase 3 freeze. * Boilerplate, CI (#94) * .vimrc * chore: align editorconfig and gitattributes with c_cxx gold Add templates/editorconfig/c_cxx/.editorconfig and replace .gitattributes with templates/gitattributes/c_cxx/.gitattributes, dropping the Linguist language-bar overlay so both files match the rest of the C/C++ wave; * fix(c-cpp): quote Dir resolution in CMake helper scripts Use Dir=$(cd "$(dirname "$ScriptPath")" && pwd) so paths with spaces resolve reliably; apply the same one-line fix across in-wave helper scripts (prepare/build/clean/ctest/remove and run_all_*). * chore(xTests): adopt SisClr cmake-helpers gold Bring root CMake helpers to the misc-dev-scripts examining-host dialect; retain --c-standard, --cxx-standard, --no-shwild, and --stlsoft-root-dir. * chore(xTests): align runners to gold and rename versions reporter Finish Phase 4b/4c on boilerplate: - copy run_all_{component,examples,performance,scratch,unit}_tests.sh from misc-dev-scripts gold b92fdfc, dropping the --verbosity fallback that gold removed from the non-automated runners; - retain **prepare_cmake.sh** project-specific --no-shwild, --stlsoft-root-dir, --c-standard, and --cxx-standard; - rename the scratch reporter target to **test.scratch.versions** so **run_all_scratch_tests.sh** discovers it, and drop the SIS:AUTO_GENERATED marker from its **CMakeLists.txt** because the generator derives the target name from the directory; - record both changes under Unreleased in **CHANGES.md**; * chore(xtests): prepare 0.26.6-beta1 release - bump _XTESTS_VER_PATCH to 6 and _XTESTS_VER_ALPHABETA to 0x81; - sync Doxyfile PROJECT_NUMBER to 0.26.6-beta1; - retitle Unreleased CHANGES.md section as 0.26.6-beta1; - add 0.26.6-beta1 release row to NEWS.md; * chore(xtests): allow examples that demonstrate failure by design - adopt BDUT run_all_examples.{sh,cmd} with allow-list support; - add .sis/ci_examples_allowed_to_fail.txt listing example.c.runner and example.c.tests; - record in CHANGES.md under 0.26.6-beta1; * ci(xtests): allow example.cpp.udt to fail by design - list example.cpp.udt in .sis/ci_examples_allowed_to_fail.txt; - update the CHANGES.md bullet to match; * ci(xtests): run component tests via run_all_component_tests.sh - replace run_all_unit_tests.sh -M --component-only, which is not an accepted option, with run_all_component_tests.sh -M; - record in CHANGES.md; * ci(xtests): dogfood native .cmd runners on Windows cells - split each run_all_* step into a Bash step (non-Windows) and a native cmd step (Windows, shell: cmd); - give the MSYS2 setup step id msys2 for the MinGW PATH prepend; - record in CHANGES.md; * chore(spelling) * feat(xtests): infer runner name from __FILE__ in XTESTS_START_RUNNER Complete infer_name_() so that a C/C++ source path (i.e. __FILE__) given as the runner name yields a sensible name; any path failing the rules is passed through unchanged: - extension must be .c, .cc, .cpp or .cxx; - stem must be entry or main, or equal the leaf directory (in which case the result is the stem); - for entry/main, a leaf of the form example.<X> or test.<X> is the result, otherwise the nearest example/examples/test ancestor is joined with the directories below it by '.', with examples becoming example; - relative and absolute paths, with / or \ separators, are handled; - replace prefix-matching helper with exact-length comparison and remove debugging output. Document the rules in the XTESTS_START_RUNNER*() Doxygen markup in xtests.h and in a new README.md Runner Names section. Update CHANGES.md and NEWS.md for 0.28.0-alpha2, and start the temp_directory component test's runner with __FILE__. --------- Co-authored-by: synesissoftware <matthew@synesis.com.au> * Naming (#105) * tidy * tidy * version * feat(xtests): expand terse API aliases for 0.28.0-beta1 Add further short aliases in **terse-api.h** (`TEST_BOOL_*`, `TEST_*_EQ_EXACT`, `TEST_INT_EQ_ANY_*`, `TEST_MS_SLICE_*` / `TEST_WS_SLICE_*`, message helpers, `END_RUNNER_UPDATE_EXITCODE`); bump `_XTESTS_VER_RELSTATUS` to `0x81` and sync **Doxyfile**, **CHANGES.md**, **NEWS.md**, and **COMPONENTS.md** for **0.28.0-beta1** (21st October 2026). --------- Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com> * docs(xtests): segregate 0.28.0 CHANGES entry by category Group the 0.28.0 entry into additions, changes, dependencies, documentation, examples, testing, and version, matching the layout used in the latest Pantheios and STLSoft releases. * build: publish HAS_<Pkg> for detected Synesis packages After each successful detection of a Synesis package other than STLSoft, define HAS_<Pkg> and HAS_<PKG>. Dots in package names become underscores. BDUT and CLASP, already all-caps, get the single macro. Client-prefixed presence macros were removed where only the client read them. Dependency switches such as XTESTS_HAS_SHWILD, PANTHEIOS_HAS_SHWILD, and the *_NO_* contracts stay. * fix: align versions links and current release symbols Keep versions target_link_libraries in the signature the project already uses, link header-only packages by their imported target, and compare version tests with the current release symbol. --------- Co-authored-by: Matt Wilson <152443343+mwsis@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.