Add unit_test test option in sh_test_host
This change allows sh_test_host to be included in host-unit-tests suite when test option `unit_test` is set to true. Bug: 183209767 Test: m host-unit-tests Change-Id: I5b441d5f49468cb681eb414dade8a1309c6e810a
This commit is contained in:
@@ -104,6 +104,12 @@ type shBinaryProperties struct {
|
|||||||
Recovery_available *bool
|
Recovery_available *bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test option struct.
|
||||||
|
type TestOptions struct {
|
||||||
|
// If the test is a hostside(no device required) unittest that shall be run during presubmit check.
|
||||||
|
Unit_test *bool
|
||||||
|
}
|
||||||
|
|
||||||
type TestProperties struct {
|
type TestProperties struct {
|
||||||
// list of compatibility suites (for example "cts", "vts") that the module should be
|
// list of compatibility suites (for example "cts", "vts") that the module should be
|
||||||
// installed into.
|
// installed into.
|
||||||
@@ -143,6 +149,9 @@ type TestProperties struct {
|
|||||||
// list of device library modules that should be installed alongside the test.
|
// list of device library modules that should be installed alongside the test.
|
||||||
// Only available for host sh_test modules.
|
// Only available for host sh_test modules.
|
||||||
Data_device_libs []string `android:"path,arch_variant"`
|
Data_device_libs []string `android:"path,arch_variant"`
|
||||||
|
|
||||||
|
// Test options.
|
||||||
|
Test_options TestOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
type ShBinary struct {
|
type ShBinary struct {
|
||||||
@@ -440,6 +449,9 @@ func (s *ShTest) AndroidMkEntries() []android.AndroidMkEntries {
|
|||||||
dir := strings.TrimSuffix(s.dataModules[relPath].String(), relPath)
|
dir := strings.TrimSuffix(s.dataModules[relPath].String(), relPath)
|
||||||
entries.AddStrings("LOCAL_TEST_DATA", dir+":"+relPath)
|
entries.AddStrings("LOCAL_TEST_DATA", dir+":"+relPath)
|
||||||
}
|
}
|
||||||
|
if Bool(s.testProperties.Test_options.Unit_test) {
|
||||||
|
entries.SetBool("LOCAL_IS_UNIT_TEST", true)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
|
@@ -3,6 +3,7 @@ package sh
|
|||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"android/soong/android"
|
"android/soong/android"
|
||||||
@@ -148,6 +149,9 @@ func TestShTestHost(t *testing.T) {
|
|||||||
"testdata/data1",
|
"testdata/data1",
|
||||||
"testdata/sub/data2",
|
"testdata/sub/data2",
|
||||||
],
|
],
|
||||||
|
test_options: {
|
||||||
|
unit_test: true,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
@@ -156,6 +160,9 @@ func TestShTestHost(t *testing.T) {
|
|||||||
if !mod.Host() {
|
if !mod.Host() {
|
||||||
t.Errorf("host bit is not set for a sh_test_host module.")
|
t.Errorf("host bit is not set for a sh_test_host module.")
|
||||||
}
|
}
|
||||||
|
entries := android.AndroidMkEntriesForTest(t, ctx, mod)[0]
|
||||||
|
actualData, _ := strconv.ParseBool(entries.EntryMap["LOCAL_IS_UNIT_TEST"][0])
|
||||||
|
android.AssertBoolEquals(t, "LOCAL_IS_UNIT_TEST", true, actualData)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestShTestHost_dataDeviceModules(t *testing.T) {
|
func TestShTestHost_dataDeviceModules(t *testing.T) {
|
||||||
|
Reference in New Issue
Block a user