cc: fix a utility to make C macro name

Use the result of regex.ReplaceAllString()

Bug: 149591522 (not directly related to this)
Test: m (with new unit test)
Merged-In: Ifce07547ccc067f1ee5bd8467c2fb7d7f8387b8e
Change-Id: Ifce07547ccc067f1ee5bd8467c2fb7d7f8387b8e
(cherry picked from commit b04a4997b8)
This commit is contained in:
Jooyung Han 2020-03-13 18:57:35 +09:00
parent f798c3ec32
commit 89124ba39b
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

@ -1317,7 +1317,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__"
}