Found in the July 2026 AI-assisted code review (Claude Code). Three gaps let CI pass without running the tests it appears to run.
-
ctest -R '^octave-' passes green if zero tests were registered. If Octave detection fails at configure time, test registration is silently skipped (warning at most) and ctest exits 0 on "No tests were found". Add --no-tests=error to the octave job's ctest invocation in .github/workflows/ci.yml.
-
The CMake-path Octave unit suite never runs anywhere. mwrap.octave.test_all (testing/CMakeLists.txt) is excluded by the octave job's -R '^octave-' regex (name starts with mwrap.), and its prerequisite target mwrap_testing_mex is never built in that job (only mwrap_examples is). Build the target and include the test; also add a dependency/fixture so a plain ctest doesn't fail on missing MEX files.
-
All five jobs are ubuntu-latest. NEWS advertises a Windows msys2/mingw64 fix (#include <stdint.h> for int64_t) that nothing exercises. Consider a macos-latest job (cheap) and a Windows msys2 job.
Also worth noting: the pure-CMake job with default options runs only two tests (test_syntax + test_typecheck) — no generation or MEX coverage.
Found in the July 2026 AI-assisted code review (Claude Code). Three gaps let CI pass without running the tests it appears to run.
ctest -R '^octave-'passes green if zero tests were registered. If Octave detection fails at configure time, test registration is silently skipped (warning at most) and ctest exits 0 on "No tests were found". Add--no-tests=errorto the octave job's ctest invocation in.github/workflows/ci.yml.The CMake-path Octave unit suite never runs anywhere.
mwrap.octave.test_all(testing/CMakeLists.txt) is excluded by the octave job's-R '^octave-'regex (name starts withmwrap.), and its prerequisite targetmwrap_testing_mexis never built in that job (onlymwrap_examplesis). Build the target and include the test; also add a dependency/fixture so a plainctestdoesn't fail on missing MEX files.All five jobs are
ubuntu-latest. NEWS advertises a Windows msys2/mingw64 fix (#include <stdint.h>for int64_t) that nothing exercises. Consider amacos-latestjob (cheap) and a Windows msys2 job.Also worth noting: the pure-CMake job with default options runs only two tests (
test_syntax+test_typecheck) — no generation or MEX coverage.