While packaging CMake (dpkg-buildpackage -rfakeroot -uc -b), I see that lot of tests fail because stderr does not match that expected. I see that expected stderr has some wierd symbols and that results in mismatch. Those wierd symbols are there in the source code files itself https://github.com/Kitware/CMake/blob/v3.25.1/Tests/RunCMake/VerifyHeaderSets/VerifyHeaderSetsNonexistent-stderr.txt
Actual stdout:
actual-out> Not searching for unused variables given on the command line.
actual-out> -- The C compiler identification is GNU 9.3.0
actual-out> -- Detecting C compiler ABI info
actual-out> -- Detecting C compiler ABI info - done
actual-out> -- Check for working C compiler: /usr/bin/cc - skipped
actual-out> -- Detecting C compile features
actual-out> -- Detecting C compile features - done
actual-out> -- Configuring done
Expected stderr to match:
expect-err> ^CMake Error in CMakeLists\.txt:
expect-err> Property INTERFACE_HEADER_SETS_TO_VERIFY of target "nonexistent" contained
expect-err> the following header sets that are nonexistent or not INTERFACE:
expect-err>
expect-err> b
expect-err> c
expect-err>
expect-err>
expect-err> CMake Generate step failed\. Build files cannot be regenerated correctly\.$
Actual stderr:
actual-err> CMake Error in CMakeLists.txt:
actual-err> Property INTERFACE_HEADER_SETS_TO_VERIFY of target "nonexistent" contained
actual-err> the following header sets that are nonexistent or not INTERFACE:
actual-err>
actual-err> b
actual-err> c
actual-err>
actual-err>
actual-err> CMake Generate step failed. Build files cannot be regenerated correctly.
How can I get rid of these test fails?
This is worth asking the CMake maintainers directly on their official discourse: https://discourse.cmake.org/
However before you ask there you should try and narrow down what's going on.
CMake uses regular expressions in it's testing to verify the output of
stdout/stderr.I don't see anything wrong with the regex however.
I ended up looking at the releases on the official gitlab and it appears testing passed perfectly for 3.25.0: https://gitlab.kitware.com/cmake/cmake/-/pipelines/307118
Does this test fail on 3.25.0, 3.25.3, 3.26 or 3.27 out of curiosity? Does this test fail locally or only on CI?