Commit 58d9950842 (CPS: Fix empty configuration field on noconfig
builds, 2025-06-30) fixed an issue with CPS generation that would
incorrectly use the empty string to identify the configuration in some
instances. (The expected CMake behavior is that an empty configuration
is always equivalent to 'noconfig'.) However, that commit did not add
any tests for the fix.
Add those tests now. Also, tweak the tests that were added, that test
for expected non-empty configuration-specific content, to hard-code what
configuration or configurations are produced. Lastly, remove the
explicit test for existence of the CPS file in said tests; `file(READ)`
will complain if the file does not exist, so the separate test is
superfluous.
CMake Tests Directory
*********************
This directory contains the CMake test suite.
See also the `CMake Testing Guide`_ and the `CMake Source Code Guide`_.
.. _`CMake Testing Guide`: ../Help/dev/testing.rst
.. _`CMake Source Code Guide`: ../Help/dev/source.rst
Many tests exist as immediate subdirectories, but some tests
are organized as follows.
* ``CMakeLib/``:
Source code, used for tests, that links to the ``CMakeLib`` library
defined over in ``Source/``.
* ``CMakeOnly/``:
Deprecated. Tests that run CMake to generate a project but not build it.
Superseded by ``Tests/RunCMake/``.
* ``Find*/``:
Tests for specific find modules that can only be run on machines with
the corresponding packages installed. They are enabled in
``CMakeLists.txt`` by undocumented options used on CI builds.
* ``Module/``:
Tests for specific CMake modules.
* ``RunCMake/``:
Tests that run CMake and/or other tools while precisely checking
their return code and stdout/stderr content. Useful for testing
error cases and diagnostic output.
See `RunCMake/README.rst`_.
.. _`RunCMake/README.rst`: RunCMake/README.rst