Merge "Use gmock functions in version_script_parser_test" into main

This commit is contained in:
Hsin-Yi Chen
2023-09-27 03:31:52 +00:00
committed by Gerrit Code Review
2 changed files with 34 additions and 85 deletions

View File

@@ -199,6 +199,7 @@ cc_test_host {
static_libs: [ static_libs: [
"libbase", "libbase",
"libgmock",
"libgtest", "libgtest",
"libgtest_main", "libgtest_main",
"libheader-checker", "libheader-checker",

View File

@@ -14,6 +14,7 @@
#include "repr/symbol/version_script_parser.h" #include "repr/symbol/version_script_parser.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h> #include <gtest/gtest.h>
#include <map> #include <map>
@@ -25,6 +26,10 @@ namespace header_checker {
namespace repr { namespace repr {
using testing::ElementsAre;
using testing::Key;
TEST(VersionScriptParserTest, SmokeTest) { TEST(VersionScriptParserTest, SmokeTest) {
static const char testdata[] = R"TESTDATA( static const char testdata[] = R"TESTDATA(
LIBEX_1.0 { LIBEX_1.0 {
@@ -49,16 +54,10 @@ TEST(VersionScriptParserTest, SmokeTest) {
ASSERT_TRUE(result); ASSERT_TRUE(result);
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("foo1")); EXPECT_THAT(funcs, ElementsAre(Key("foo1"), Key("foo2")));
EXPECT_NE(funcs.end(), funcs.find("foo2"));
EXPECT_EQ(funcs.end(), funcs.find("bar1"));
EXPECT_EQ(funcs.end(), funcs.find("bar2"));
const ExportedSymbolSet::VarMap &vars = result->GetVars(); const ExportedSymbolSet::VarMap &vars = result->GetVars();
EXPECT_NE(vars.end(), vars.find("bar1")); EXPECT_THAT(vars, ElementsAre(Key("bar1"), Key("bar2")));
EXPECT_NE(vars.end(), vars.find("bar2"));
EXPECT_EQ(vars.end(), vars.find("foo1"));
EXPECT_EQ(vars.end(), vars.find("foo2"));
} }
@@ -88,10 +87,10 @@ TEST(VersionScriptParserTest, ExcludeSymbolVersions) {
ASSERT_TRUE(result); ASSERT_TRUE(result);
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("foo2")); EXPECT_THAT(funcs, ElementsAre(Key("foo1"), Key("foo2")));
const ExportedSymbolSet::VarMap &vars = result->GetVars(); const ExportedSymbolSet::VarMap &vars = result->GetVars();
EXPECT_NE(vars.end(), vars.find("bar2")); EXPECT_THAT(vars, ElementsAre(Key("bar1"), Key("bar2")));
} }
{ {
@@ -103,10 +102,10 @@ TEST(VersionScriptParserTest, ExcludeSymbolVersions) {
ASSERT_TRUE(result); ASSERT_TRUE(result);
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_EQ(funcs.end(), funcs.find("foo2")); EXPECT_THAT(funcs, ElementsAre(Key("foo1")));
const ExportedSymbolSet::VarMap &vars = result->GetVars(); const ExportedSymbolSet::VarMap &vars = result->GetVars();
EXPECT_EQ(vars.end(), vars.find("bar2")); EXPECT_THAT(vars, ElementsAre(Key("bar1")));
} }
} }
@@ -143,23 +142,13 @@ TEST(VersionScriptParserTest, VisibilityLabels) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("global_f1")); EXPECT_THAT(
EXPECT_NE(funcs.end(), funcs.find("global_f3")); funcs, ElementsAre(Key("global_f1"), Key("global_f3"), Key("global_f4")));
EXPECT_NE(funcs.end(), funcs.find("global_f4"));
EXPECT_EQ(funcs.end(), funcs.find("local_f2"));
EXPECT_EQ(funcs.end(), funcs.find("local_f5"));
EXPECT_EQ(funcs.end(), funcs.find("local_f6"));
const ExportedSymbolSet::VarMap &vars = result->GetVars(); const ExportedSymbolSet::VarMap &vars = result->GetVars();
EXPECT_NE(vars.end(), vars.find("global_v1")); EXPECT_THAT(
EXPECT_NE(vars.end(), vars.find("global_v3")); vars, ElementsAre(Key("global_v1"), Key("global_v3"), Key("global_v4")));
EXPECT_NE(vars.end(), vars.find("global_v4"));
EXPECT_EQ(vars.end(), vars.find("local_v2"));
EXPECT_EQ(vars.end(), vars.find("local_v5"));
EXPECT_EQ(vars.end(), vars.find("local_v6"));
} }
@@ -186,11 +175,7 @@ TEST(VersionScriptParserTest, ParseSymbolTagsIntroduced) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_EQ(funcs.end(), funcs.find("test1")); EXPECT_TRUE(funcs.empty());
EXPECT_EQ(funcs.end(), funcs.find("test2"));
EXPECT_EQ(funcs.end(), funcs.find("test3"));
EXPECT_EQ(funcs.end(), funcs.find("test4"));
EXPECT_EQ(funcs.end(), funcs.find("test5"));
} }
{ {
@@ -204,11 +189,7 @@ TEST(VersionScriptParserTest, ParseSymbolTagsIntroduced) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_EQ(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test5")));
EXPECT_EQ(funcs.end(), funcs.find("test2"));
EXPECT_EQ(funcs.end(), funcs.find("test3"));
EXPECT_EQ(funcs.end(), funcs.find("test4"));
EXPECT_NE(funcs.end(), funcs.find("test5"));
} }
{ {
@@ -222,11 +203,7 @@ TEST(VersionScriptParserTest, ParseSymbolTagsIntroduced) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test5")));
EXPECT_EQ(funcs.end(), funcs.find("test2"));
EXPECT_EQ(funcs.end(), funcs.find("test3"));
EXPECT_EQ(funcs.end(), funcs.find("test4"));
EXPECT_NE(funcs.end(), funcs.find("test5"));
} }
{ {
@@ -240,11 +217,8 @@ TEST(VersionScriptParserTest, ParseSymbolTagsIntroduced) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test2"), Key("test3"),
EXPECT_NE(funcs.end(), funcs.find("test2")); Key("test5")));
EXPECT_NE(funcs.end(), funcs.find("test3"));
EXPECT_EQ(funcs.end(), funcs.find("test4"));
EXPECT_NE(funcs.end(), funcs.find("test5"));
} }
{ {
@@ -258,11 +232,8 @@ TEST(VersionScriptParserTest, ParseSymbolTagsIntroduced) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test2"), Key("test3"),
EXPECT_NE(funcs.end(), funcs.find("test2")); Key("test5")));
EXPECT_NE(funcs.end(), funcs.find("test3"));
EXPECT_EQ(funcs.end(), funcs.find("test4"));
EXPECT_NE(funcs.end(), funcs.find("test5"));
} }
{ {
@@ -276,11 +247,8 @@ TEST(VersionScriptParserTest, ParseSymbolTagsIntroduced) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test2"), Key("test3"),
EXPECT_NE(funcs.end(), funcs.find("test2")); Key("test4"), Key("test5")));
EXPECT_NE(funcs.end(), funcs.find("test3"));
EXPECT_NE(funcs.end(), funcs.find("test4"));
EXPECT_NE(funcs.end(), funcs.find("test5"));
} }
} }
@@ -306,10 +274,7 @@ TEST(VersionScriptParserTest, ParseSymbolTagsArch) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test2")));
EXPECT_NE(funcs.end(), funcs.find("test2"));
EXPECT_EQ(funcs.end(), funcs.find("test3"));
EXPECT_EQ(funcs.end(), funcs.find("test4"));
} }
{ {
@@ -322,10 +287,7 @@ TEST(VersionScriptParserTest, ParseSymbolTagsArch) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test2"), Key("test3")));
EXPECT_NE(funcs.end(), funcs.find("test2"));
EXPECT_NE(funcs.end(), funcs.find("test3"));
EXPECT_EQ(funcs.end(), funcs.find("test4"));
} }
{ {
@@ -338,10 +300,7 @@ TEST(VersionScriptParserTest, ParseSymbolTagsArch) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test4")));
EXPECT_EQ(funcs.end(), funcs.find("test2"));
EXPECT_EQ(funcs.end(), funcs.find("test3"));
EXPECT_NE(funcs.end(), funcs.find("test4"));
} }
} }
@@ -365,8 +324,7 @@ TEST(VersionScriptParserTest, ExcludeSymbolTags) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1"), Key("test2")));
EXPECT_NE(funcs.end(), funcs.find("test2"));
} }
{ {
@@ -379,8 +337,7 @@ TEST(VersionScriptParserTest, ExcludeSymbolTags) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_EQ(funcs.end(), funcs.find("test1")); EXPECT_TRUE(funcs.empty());
EXPECT_EQ(funcs.end(), funcs.find("test2"));
} }
{ {
@@ -393,8 +350,7 @@ TEST(VersionScriptParserTest, ExcludeSymbolTags) {
const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions(); const ExportedSymbolSet::FunctionMap &funcs = result->GetFunctions();
EXPECT_NE(funcs.end(), funcs.find("test1")); EXPECT_THAT(funcs, ElementsAre(Key("test1")));
EXPECT_EQ(funcs.end(), funcs.find("test2"));
} }
} }
@@ -422,16 +378,12 @@ TEST(VersionScriptParserTest, ParseExternCpp) {
const ExportedSymbolSet::NameSet &cpp_symbols = const ExportedSymbolSet::NameSet &cpp_symbols =
result->GetDemangledCppSymbols(); result->GetDemangledCppSymbols();
EXPECT_NE(cpp_symbols.end(), cpp_symbols.find("Test2::test()")); EXPECT_THAT(cpp_symbols, ElementsAre("Test2::test()", "Test3::test()"));
EXPECT_NE(cpp_symbols.end(), cpp_symbols.find("Test3::test()"));
EXPECT_EQ(cpp_symbols.end(), cpp_symbols.find("test1"));
EXPECT_EQ(cpp_symbols.end(), cpp_symbols.find("test4"));
const ExportedSymbolSet::GlobPatternSet &cpp_glob_patterns = const ExportedSymbolSet::GlobPatternSet &cpp_glob_patterns =
result->GetDemangledCppGlobPatterns(); result->GetDemangledCppGlobPatterns();
EXPECT_NE(cpp_glob_patterns.end(), cpp_glob_patterns.find("Test4::*")); EXPECT_THAT(cpp_glob_patterns, ElementsAre("Test4::*"));
} }
@@ -456,11 +408,7 @@ TEST(VersionScriptParserTest, ParseGlobPattern) {
const ExportedSymbolSet::GlobPatternSet &glob_patterns = const ExportedSymbolSet::GlobPatternSet &glob_patterns =
result->GetGlobPatterns(); result->GetGlobPatterns();
EXPECT_NE(glob_patterns.end(), glob_patterns.find("test1*")); EXPECT_THAT(glob_patterns, ElementsAre("test1*", "test2[Aa]", "test3?"));
EXPECT_NE(glob_patterns.end(), glob_patterns.find("test2[Aa]"));
EXPECT_NE(glob_patterns.end(), glob_patterns.find("test3?"));
EXPECT_EQ(glob_patterns.end(), glob_patterns.find("test4"));
} }