diff options
author | Jaewoong Jung <jungjw@google.com> | 2019-07-01 09:08:50 -0700 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2019-12-11 19:03:32 +0200 |
commit | 1f6212b40da44508f878f95c489639b61d786f4d (patch) | |
tree | cf6ce8301c85ce163d14eda235ad62c14b81812d | |
parent | 8ce0a3785542060ec0d985a4c911d89f5aa94998 (diff) | |
download | build_soong-1f6212b40da44508f878f95c489639b61d786f4d.tar.gz build_soong-1f6212b40da44508f878f95c489639b61d786f4d.tar.bz2 build_soong-1f6212b40da44508f878f95c489639b61d786f4d.zip |
Add sh_test_host.
Fixes: 136272143
Test: sh_binary_test.go
Change-Id: I2e6580286fcdf43ab20020fcd147648a3009aa9f
-rw-r--r-- | android/sh_binary.go | 12 | ||||
-rw-r--r-- | android/sh_binary_test.go | 21 |
2 files changed, 33 insertions, 0 deletions
diff --git a/android/sh_binary.go b/android/sh_binary.go index fb7446dc..2855aa04 100644 --- a/android/sh_binary.go +++ b/android/sh_binary.go @@ -29,6 +29,7 @@ func init() { RegisterModuleType("sh_binary", ShBinaryFactory) RegisterModuleType("sh_binary_host", ShBinaryHostFactory) RegisterModuleType("sh_test", ShTestFactory) + RegisterModuleType("sh_test_host", ShTestHostFactory) } type shBinaryProperties struct { @@ -195,6 +196,7 @@ func ShBinaryHostFactory() Module { return module } +// sh_test defines a shell script based test module. func ShTestFactory() Module { module := &ShTest{} InitShBinaryModule(&module.ShBinary) @@ -203,3 +205,13 @@ func ShTestFactory() Module { InitAndroidArchModule(module, HostAndDeviceSupported, MultilibFirst) return module } + +// sh_test_host defines a shell script based test module that runs on a host. +func ShTestHostFactory() Module { + module := &ShTest{} + InitShBinaryModule(&module.ShBinary) + module.AddProperties(&module.testProperties) + + InitAndroidArchModule(module, HostSupported, MultilibFirst) + return module +} diff --git a/android/sh_binary_test.go b/android/sh_binary_test.go index becb35a2..67360830 100644 --- a/android/sh_binary_test.go +++ b/android/sh_binary_test.go @@ -18,6 +18,7 @@ func testShBinary(t *testing.T, bp string) (*TestContext, Config) { ctx := NewTestArchContext() ctx.RegisterModuleType("sh_test", ModuleFactoryAdaptor(ShTestFactory)) + ctx.RegisterModuleType("sh_test_host", ModuleFactoryAdaptor(ShTestHostFactory)) ctx.Register() mockFiles := map[string][]byte{ "Android.bp": []byte(bp), @@ -56,3 +57,23 @@ func TestShTestTestData(t *testing.T) { t.Errorf("Unexpected test data expected: %q, actual: %q", expected, actual) } } + +func TestShTestHost(t *testing.T) { + ctx, _ := testShBinary(t, ` + sh_test_host { + name: "foo", + src: "test.sh", + filename: "test.sh", + data: [ + "testdata/data1", + "testdata/sub/data2", + ], + } + `) + + buildOS := BuildOs.String() + mod := ctx.ModuleForTests("foo", buildOS+"_x86_64").Module().(*ShTest) + if !mod.Host() { + t.Errorf("host bit is not set for a sh_test_host module.") + } +} |