Merge "cc: fix a utility to make C macro name"

This commit is contained in:
Treehugger Robot 2020-03-21 04:47:41 +00:00 committed by Gerrit Code Review
commit f23f4739f1
2 changed files with 24 additions and 1 deletions

View File

@ -2387,6 +2387,17 @@ func TestStaticLibDepReorderingWithShared(t *testing.T) {
}
}
func checkEquals(t *testing.T, message string, expected, actual interface{}) {
if !reflect.DeepEqual(actual, expected) {
t.Errorf(message+
"\nactual: %v"+
"\nexpected: %v",
actual,
expected,
)
}
}
func TestLlndkHeaders(t *testing.T) {
ctx := testCc(t, `
llndk_headers {
@ -2817,6 +2828,18 @@ func TestVersionedStubs(t *testing.T) {
}
}
func TestVersioningMacro(t *testing.T) {
for _, tc := range []struct{ moduleName, expected string }{
{"libc", "__LIBC_API__"},
{"libfoo", "__LIBFOO_API__"},
{"libfoo@1", "__LIBFOO_1_API__"},
{"libfoo-v1", "__LIBFOO_V1_API__"},
{"libfoo.v1", "__LIBFOO_V1_API__"},
} {
checkEquals(t, tc.moduleName, tc.expected, versioningMacroName(tc.moduleName))
}
}
func TestStaticExecutable(t *testing.T) {
ctx := testCc(t, `
cc_binary {

View File

@ -1329,7 +1329,7 @@ var charsNotForMacro = regexp.MustCompile("[^a-zA-Z0-9_]+")
func versioningMacroName(moduleName string) string {
macroName := charsNotForMacro.ReplaceAllString(moduleName, "_")
macroName = strings.ToUpper(moduleName)
macroName = strings.ToUpper(macroName)
return "__" + macroName + "_API__"
}