Add sh_test_host.

Fixes: 136272143
Test: sh_binary_test.go
Change-Id: I2e6580286fcdf43ab20020fcd147648a3009aa9f
This commit is contained in:
Jaewoong Jung 2019-07-01 09:08:50 -07:00
parent 630846d244
commit 61a83681c4
2 changed files with 33 additions and 0 deletions

View File

@ -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
}

View File

@ -10,6 +10,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),
@ -48,3 +49,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.")
}
}