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:
parent
f798c3ec32
commit
89124ba39b
|
@ -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 {
|
||||
|
|
|
@ -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__"
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue