aboutsummaryrefslogtreecommitdiff
path: root/sh
diff options
context:
space:
mode:
authorJaewoong Jung <jungjw@google.com>2020-06-10 17:23:46 -0700
committerJaewoong Jung <jungjw@google.com>2020-06-10 17:23:46 -0700
commit2d4f1a2f7e96e760216e39f36503fee2a8a97d95 (patch)
treefe94ab7c6ce903653c2e96113139b1f2cb6b854f /sh
parentd7db79cc8b7cc2dbde919d95297b8dd917e7e831 (diff)
downloadsoong-2d4f1a2f7e96e760216e39f36503fee2a8a97d95.tar.gz
Add module name to sh_test install path.
Bug: 156980228 Test: m ziptool-tests Test: sh_binary_test.go Change-Id: Ibb1d774709ea421e18d5350009c203f83c5b2d60
Diffstat (limited to 'sh')
-rw-r--r--sh/sh_binary.go7
-rw-r--r--sh/sh_binary_test.go17
2 files changed, 17 insertions, 7 deletions
diff --git a/sh/sh_binary.go b/sh/sh_binary.go
index 9276a62e9..37e825309 100644
--- a/sh/sh_binary.go
+++ b/sh/sh_binary.go
@@ -107,6 +107,8 @@ type ShTest struct {
testProperties TestProperties
+ installDir android.InstallPath
+
data android.Paths
testConfig android.Path
}
@@ -201,8 +203,8 @@ func (s *ShTest) GenerateAndroidBuildActions(ctx android.ModuleContext) {
} else if !ctx.Host() && ctx.Config().HasMultilibConflict(ctx.Arch().ArchType) {
testDir = filepath.Join(testDir, ctx.Arch().ArchType.String())
}
- installDir := android.PathForModuleInstall(ctx, testDir, proptools.String(s.properties.Sub_dir))
- s.installedFile = ctx.InstallExecutable(installDir, s.outputFilePath.Base(), s.outputFilePath)
+ s.installDir = android.PathForModuleInstall(ctx, testDir, proptools.String(s.properties.Sub_dir), s.Name())
+ s.installedFile = ctx.InstallExecutable(s.installDir, s.outputFilePath.Base(), s.outputFilePath)
s.data = android.PathsForModuleSrc(ctx, s.testProperties.Data)
@@ -230,6 +232,7 @@ func (s *ShTest) AndroidMkEntries() []android.AndroidMkEntries {
func(entries *android.AndroidMkEntries) {
s.customAndroidMkEntries(entries)
+ entries.SetPath("LOCAL_MODULE_PATH", s.installDir.ToMakePath())
entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", s.testProperties.Test_suites...)
if s.testProperties.Test_config != nil {
entries.SetString("LOCAL_TEST_CONFIG", proptools.String(s.testProperties.Test_config))
diff --git a/sh/sh_binary_test.go b/sh/sh_binary_test.go
index 6c0d96abe..6ab22c5bf 100644
--- a/sh/sh_binary_test.go
+++ b/sh/sh_binary_test.go
@@ -55,7 +55,7 @@ func testShBinary(t *testing.T, bp string) (*android.TestContext, android.Config
return ctx, config
}
-func TestShTestTestData(t *testing.T) {
+func TestShTest(t *testing.T) {
ctx, config := testShBinary(t, `
sh_test {
name: "foo",
@@ -71,10 +71,17 @@ func TestShTestTestData(t *testing.T) {
mod := ctx.ModuleForTests("foo", "android_arm64_armv8-a").Module().(*ShTest)
entries := android.AndroidMkEntriesForTest(t, config, "", mod)[0]
- expected := []string{":testdata/data1", ":testdata/sub/data2"}
- actual := entries.EntryMap["LOCAL_TEST_DATA"]
- if !reflect.DeepEqual(expected, actual) {
- t.Errorf("Unexpected test data expected: %q, actual: %q", expected, actual)
+
+ expectedPath := "/tmp/target/product/test_device/data/nativetest64/foo"
+ actualPath := entries.EntryMap["LOCAL_MODULE_PATH"][0]
+ if expectedPath != actualPath {
+ t.Errorf("Unexpected LOCAL_MODULE_PATH expected: %q, actual: %q", expectedPath, actualPath)
+ }
+
+ expectedData := []string{":testdata/data1", ":testdata/sub/data2"}
+ actualData := entries.EntryMap["LOCAL_TEST_DATA"]
+ if !reflect.DeepEqual(expectedData, actualData) {
+ t.Errorf("Unexpected test data expected: %q, actual: %q", expectedData, actualData)
}
}