Allow disabling the named test directory for cc_test
Some external test suites (LTP in this case), have their own expected layout, and don't fit well with our /data/nativetest/<testname>/<testname> layout, nor do they work with test_per_src. So allow setting no_named_install_directory along with relative_module_path to specify a custom test path: no_named_install_directory: true, relative_module_path: "ltp/testcases/bin", Test: Convert LTP Change-Id: Ib002c058674e8b960a4fdc3af1a25c8bcaeb1d63
This commit is contained in:
13
cc/test.go
13
cc/test.go
@@ -33,6 +33,11 @@ type TestBinaryProperties struct {
|
||||
// Create a separate binary for each source file. Useful when there is
|
||||
// global state that can not be torn down and reset between each test suite.
|
||||
Test_per_src *bool
|
||||
|
||||
// Disables the creation of a test-specific directory when used with
|
||||
// relative_install_path. Useful if several tests need to be in the same
|
||||
// directory, but test_per_src doesn't work.
|
||||
No_named_install_directory *bool
|
||||
}
|
||||
|
||||
func init() {
|
||||
@@ -214,7 +219,13 @@ func (test *testBinary) linkerFlags(ctx ModuleContext, flags Flags) Flags {
|
||||
func (test *testBinary) install(ctx ModuleContext, file android.Path) {
|
||||
test.binaryDecorator.baseInstaller.dir = "nativetest"
|
||||
test.binaryDecorator.baseInstaller.dir64 = "nativetest64"
|
||||
test.binaryDecorator.baseInstaller.relative = ctx.ModuleName()
|
||||
|
||||
if !Bool(test.Properties.No_named_install_directory) {
|
||||
test.binaryDecorator.baseInstaller.relative = ctx.ModuleName()
|
||||
} else if test.binaryDecorator.baseInstaller.Properties.Relative_install_path == "" {
|
||||
ctx.PropertyErrorf("no_named_install_directory", "Module install directory may only be disabled if relative_install_path is set")
|
||||
}
|
||||
|
||||
test.binaryDecorator.baseInstaller.install(ctx, file)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user