Skip to content

nullptr / NULL functions - #91

Merged
mwsis merged 14 commits into
synesissoftware:devfrom
mwsis:null-ptr
Oct 17, 2026
Merged

mwsis merged 14 commits into
synesissoftware:devfrom
mwsis:null-ptr

Conversation

@mwsis

@mwsis mwsis commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

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.
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.
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.
@mwsis mwsis self-assigned this Sep 20, 2026
@mwsis
mwsis requested a review from GarthJL1965 September 20, 2026 21:07
Comment thread .vimrc
Comment thread Doxyfile Outdated
synesissoftware and others added 8 commits September 22, 2026 08:26
* 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.
* .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;
- 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;
@synesissoftware
synesissoftware changed the base branch from master to dev October 16, 2026 21:28
@mwsis
mwsis merged commit 3975039 into synesissoftware:dev Oct 17, 2026
37 checks passed
@mwsis
mwsis deleted the null-ptr branch October 17, 2026 18:45
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants