diff options
author | Stefan Floeren <stefan.floeren@smartronic.de> | 2020-04-30 12:52:31 (GMT) |
---|---|---|
committer | Stefan Floeren <stefan.floeren@smartronic.de> | 2020-05-05 07:23:17 (GMT) |
commit | 839a1010a3e2123e197e2c9e0ed8e5ad58988622 (patch) | |
tree | ff370c048cbf6e71fd75db1e215984f9b1c7b499 /Tests/FindLibLZMA | |
parent | 671daf1998659c948fc0de9e6f16a367c47c7145 (diff) | |
download | CMake-839a1010a3e2123e197e2c9e0ed8e5ad58988622.zip CMake-839a1010a3e2123e197e2c9e0ed8e5ad58988622.tar.gz CMake-839a1010a3e2123e197e2c9e0ed8e5ad58988622.tar.bz2 |
GoogleTestAddTests: Fix output processing
The function gtest_discover_tests calls the passed test executable with
the parameter --gtest_list_tests and parses the output to find all
tests.
In case of value-parameterized tests ([1]), the test values are included
in the output. While test names are alphanumeric, the values can contain
arbitrary content.
First, the output is separated into lines with `foreach`. Included
semi-colons breaks this and need to get escaped.
Afterwards, the testname is passed on to the `add_command` helper. This
helper was converted into a macro in commit dac201442d (GoogleTest:
Optimize gtest_discover_tests, 2020-02-18). As a macro, its arguments
are re-evaluated. Therefore we need to escape `\`, `;` and to prevent
unwanted variable expansion `$`.
Fixes: #20661
[1] <https://github.com/google/googletest/blob/0eea2e9/googletest/docs/advanced.md#value-parameterized-tests>
Diffstat (limited to 'Tests/FindLibLZMA')
0 files changed, 0 insertions, 0 deletions