Add sanitizer tests for musl
Add tests that verify sanitizer behaviors for musl.
Test: sanitize_test.go
Change-Id: I1f0a51cc103ac14d1738cb223e216ee0e32d8550
diff --git a/android/arch_test.go b/android/arch_test.go
index e445ec6..5021a67 100644
--- a/android/arch_test.go
+++ b/android/arch_test.go
@@ -401,7 +401,7 @@
{
name: "same arch host and host cross",
preparer: FixtureModifyConfig(func(config Config) {
- modifyTestConfigForMusl(config)
+ ModifyTestConfigForMusl(config)
modifyTestConfigForMuslArm64HostCross(config)
}),
fooVariants: []string{"android_arm64_armv8-a", "android_arm_armv7-a-neon"},
@@ -705,7 +705,7 @@
{
name: "linux_musl",
goOS: "linux",
- preparer: FixtureModifyConfig(modifyTestConfigForMusl),
+ preparer: FixtureModifyConfig(ModifyTestConfigForMusl),
results: []result{
{
module: "foo",
diff --git a/android/fixture.go b/android/fixture.go
index c2b16f6..dbc3bc5 100644
--- a/android/fixture.go
+++ b/android/fixture.go
@@ -16,6 +16,7 @@
import (
"fmt"
+ "runtime"
"strings"
"testing"
)
@@ -379,6 +380,12 @@
})
}
+var PrepareForSkipTestOnMac = newSimpleFixturePreparer(func(fixture *fixture) {
+ if runtime.GOOS != "linux" {
+ fixture.t.Skip("Test is only supported on linux.")
+ }
+})
+
// PrepareForDebug_DO_NOT_SUBMIT puts the fixture into debug which will cause it to output its
// state before running the test.
//
diff --git a/android/test_config.go b/android/test_config.go
index 70c319a..07ca33d 100644
--- a/android/test_config.go
+++ b/android/test_config.go
@@ -109,7 +109,8 @@
config.TestProductVariables.DeviceSecondaryArchVariant = proptools.StringPtr("armv7-a-neon")
}
-func modifyTestConfigForMusl(config Config) {
+// ModifyTestConfigForMusl takes a Config returned by TestConfig and changes the host targets from glibc to musl.
+func ModifyTestConfigForMusl(config Config) {
delete(config.Targets, config.BuildOS)
config.productVariables.HostMusl = boolPtr(true)
determineBuildOS(config.config)