1
0
mirror of https://github.com/google/cpu_features.git synced 2025-07-02 21:53:18 +02:00

test enum macro consistency (#257)

This commit is contained in:
Andrei Kurushin
2022-07-28 13:34:42 +03:00
committed by GitHub
parent 601471d527
commit d3c5e369db
5 changed files with 72 additions and 0 deletions

View File

@ -118,6 +118,30 @@ class CpuidX86Test : public ::testing::Test {
}
};
TEST_F(CpuidX86Test, X86MicroarchitectureEnum) {
const char *last_name = GetX86MicroarchitectureName(X86_MICROARCHITECTURE_LAST_);
EXPECT_STREQ(last_name, "unknown microarchitecture");
for (int i = static_cast<int>(X86_UNKNOWN); i != static_cast<int>(X86_MICROARCHITECTURE_LAST_); ++i) {
const auto micro = static_cast<X86Microarchitecture>(i);
const char *name = GetX86MicroarchitectureName(micro);
ASSERT_FALSE(name == nullptr);
EXPECT_STRNE(name, "");
EXPECT_STRNE(name, last_name);
}
}
TEST_F(CpuidX86Test, X86FeaturesEnum) {
const char *last_name = GetX86FeaturesEnumName(X86_LAST_);
EXPECT_STREQ(last_name, "unknown_feature");
for (int i = static_cast<int>(X86_FPU); i != static_cast<int>(X86_LAST_); ++i) {
const auto feature = static_cast<X86FeaturesEnum>(i);
const char *name = GetX86FeaturesEnumName(feature);
ASSERT_FALSE(name == nullptr);
EXPECT_STRNE(name, "");
EXPECT_STRNE(name, last_name);
}
}
TEST_F(CpuidX86Test, SandyBridge) {
cpu().SetOsBackupsExtendedRegisters(true);
cpu().SetLeaves({