Both build systems can build ctime_tests without running it as part of the test suite. Add it to CTest and Autotools make check.
Run the test directly when MemorySanitizer is enabled, or under Valgrind with --error-exitcode=42. For Valgrind builds, omit registration with a configure-time message if the executable is unavailable or the build is cross-compiled. Document the existing opt-outs and the commands for running the test separately.
The Autotools test uses its own shell runner so a global LOG_COMPILER does not wrap Valgrind a second time. Remove the separate invocation from ci/ci.sh now that make check runs it.
Addresses #1560.
Tested on x86_64 Linux (WSL1), with GCC 15.2.0, Clang 21.1.8 and Valgrind 3.26.0:
- All 4 Autotools tests and all 226 CTest tests pass with the default module configuration.
- The Autotools MSan build runs the test directly and passes with Valgrind installed. The dedicated runner also works with
LOG_COMPILER=false. - A temporary branch on poisoned secret data makes both
make checkand CTest fail under Valgrind. Both pass after restoring the source. - Autotools registration checked with constant-time tests disabled, Valgrind support disabled, the executable lookup forced empty, and a simulated cross-compilation configuration using the host GCC.
make distcheck DISTCHECK_CONFIGURE_FLAGS="--disable-tests --disable-exhaustive-tests --disable-benchmark"passes, including the constant-time test in the distributed source. Used bsdtar because the system GNU tar fails to extract archives on this WSL1 kernel.