Skip to content

Commit c7d181c

Browse files
authored
[llvm][unittests] Put human-readable names on TargetParserTests. NFC (#80749)
Before: ``` [----------] 65 tests from AArch64CPUTests/AArch64CPUTestFixture [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/0 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/0 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/1 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/1 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/2 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/2 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/3 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/3 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/4 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/4 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/5 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/5 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/6 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/6 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/7 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/7 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/8 ... ``` After: ``` [----------] 65 tests from AArch64CPUTests/AArch64CPUTestFixture [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a34 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a34 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a35 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a35 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a53 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a53 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a55 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a55 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a510 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a510 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a520 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a520 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a57 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a57 (0 ms) [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 (0 ms) ... ``` Which improves the experience of finding and running this: ``` $ ./unittests/TargetParser/TargetParserTests --gtest_filter=AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 Note: Google Test filter = AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from AArch64CPUTests/AArch64CPUTestFixture [ RUN ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 [ OK ] AArch64CPUTests/AArch64CPUTestFixture.testAArch64CPU/cortex_a65 (0 ms) [----------] 1 test from AArch64CPUTests/AArch64CPUTestFixture (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test suite ran. (0 ms total) [ PASSED ] 1 test. ```
1 parent 2faeea3 commit c7d181c

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

llvm/unittests/TargetParser/TargetParserTest.cpp

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,19 @@ template <typename T> struct ARMCPUTestParams {
163163
return os;
164164
}
165165

166+
/// Print a gtest-compatible facsimile of the CPUName, to make the test's name
167+
/// human-readable.
168+
///
169+
/// https://github.com/google/googletest/blob/main/docs/advanced.md#specifying-names-for-value-parameterized-test-parameters
170+
static std::string
171+
PrintToStringParamName(const testing::TestParamInfo<ARMCPUTestParams<T>>& Info) {
172+
std::string Name = Info.param.CPUName.str();
173+
for (char &C : Name)
174+
if (!std::isalnum(C))
175+
C = '_';
176+
return Name;
177+
}
178+
166179
StringRef CPUName;
167180
StringRef ExpectedArch;
168181
StringRef ExpectedFPU;
@@ -263,7 +276,8 @@ INSTANTIATE_TEST_SUITE_P(
263276
ARM::AEK_SEC | ARM::AEK_VIRT | ARM::AEK_DSP,
264277
"7-A"),
265278
ARMCPUTestParams<uint64_t>("cortex-a8", "armv7-a", "neon",
266-
ARM::AEK_SEC | ARM::AEK_DSP, "7-A")));
279+
ARM::AEK_SEC | ARM::AEK_DSP, "7-A")),
280+
ARMCPUTestParams<uint64_t>::PrintToStringParamName);
267281

268282
// gtest in llvm has a limit of 50 test cases when using ::Values so we split
269283
// them into 2 blocks
@@ -483,7 +497,8 @@ INSTANTIATE_TEST_SUITE_P(
483497
ARMCPUTestParams<uint64_t>("xscale", "xscale", "none", ARM::AEK_NONE, "xscale"),
484498
ARMCPUTestParams<uint64_t>("swift", "armv7s", "neon-vfpv4",
485499
ARM::AEK_HWDIVARM | ARM::AEK_HWDIVTHUMB | ARM::AEK_DSP,
486-
"7-S")));
500+
"7-S")),
501+
ARMCPUTestParams<uint64_t>::PrintToStringParamName);
487502

488503
static constexpr unsigned NumARMCPUArchs = 90;
489504

@@ -1660,7 +1675,8 @@ INSTANTIATE_TEST_SUITE_P(
16601675
{AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2,
16611676
AArch64::AEK_FP, AArch64::AEK_SIMD, AArch64::AEK_FP16,
16621677
AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM})),
1663-
"8.2-A")));
1678+
"8.2-A")),
1679+
ARMCPUTestParams<AArch64::ExtensionBitset>::PrintToStringParamName);
16641680

16651681
// Note: number of CPUs includes aliases.
16661682
static constexpr unsigned NumAArch64CPUArchs = 68;

0 commit comments

Comments
 (0)