Add module name to sh_test install path.

This relands Ibb1d774709ea421e18d5350009c203f83c5b2d60 after fixing
a backward compatibility issue where some test configs rely on sh_tests
not having a module name in their paths when sub_dir is specified.

Bug: 156980228
Test: m ziptool-tests
Test: sh_binary_test.go
Change-Id: If0521a008e7170d94b601f3df9dd0c12d1c96d21
This commit is contained in:
Jaewoong Jung
2020-06-10 17:23:46 -07:00
parent 0e63a8e761
commit 4aedc86c6c
2 changed files with 44 additions and 9 deletions

View File

@@ -55,7 +55,27 @@ func testShBinary(t *testing.T, bp string) (*android.TestContext, android.Config
return ctx, config
}
func TestShTestTestData(t *testing.T) {
func TestShTestSubDir(t *testing.T) {
ctx, config := testShBinary(t, `
sh_test {
name: "foo",
src: "test.sh",
sub_dir: "foo_test"
}
`)
mod := ctx.ModuleForTests("foo", "android_arm64_armv8-a").Module().(*ShTest)
entries := android.AndroidMkEntriesForTest(t, config, "", mod)[0]
expectedPath := "/tmp/target/product/test_device/data/nativetest64/foo_test"
actualPath := entries.EntryMap["LOCAL_MODULE_PATH"][0]
if expectedPath != actualPath {
t.Errorf("Unexpected LOCAL_MODULE_PATH expected: %q, actual: %q", expectedPath, actualPath)
}
}
func TestShTest(t *testing.T) {
ctx, config := testShBinary(t, `
sh_test {
name: "foo",
@@ -71,10 +91,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)
}
}