Merge "Improve test support for art tests"
This commit is contained in:
commit
0e19618906
|
@ -24,7 +24,7 @@ import (
|
|||
|
||||
type InstallerProperties struct {
|
||||
// install to a subdirectory of the default install path for the module
|
||||
Relative_install_path string
|
||||
Relative_install_path string `android:"arch_variant"`
|
||||
|
||||
// install symlinks to the module
|
||||
Symlinks []string `android:"arch_variant"`
|
||||
|
@ -50,6 +50,7 @@ type baseInstaller struct {
|
|||
|
||||
dir string
|
||||
dir64 string
|
||||
relative string
|
||||
location installLocation
|
||||
|
||||
path android.OutputPath
|
||||
|
@ -69,7 +70,7 @@ func (installer *baseInstaller) install(ctx ModuleContext, file android.Path) {
|
|||
if !ctx.Host() && !ctx.Arch().Native {
|
||||
subDir = filepath.Join(subDir, ctx.Arch().ArchType.String())
|
||||
}
|
||||
dir := android.PathForModuleInstall(ctx, subDir, installer.Properties.Relative_install_path)
|
||||
dir := android.PathForModuleInstall(ctx, subDir, installer.Properties.Relative_install_path, installer.relative)
|
||||
installer.path = ctx.InstallFile(dir, file)
|
||||
for _, symlink := range installer.Properties.Symlinks {
|
||||
ctx.InstallSymlink(dir, symlink, installer.path)
|
||||
|
|
17
cc/test.go
17
cc/test.go
|
@ -26,7 +26,7 @@ import (
|
|||
|
||||
type TestProperties struct {
|
||||
// if set, build against the gtest library. Defaults to true.
|
||||
Gtest bool
|
||||
Gtest *bool
|
||||
}
|
||||
|
||||
type TestBinaryProperties struct {
|
||||
|
@ -116,8 +116,12 @@ type testDecorator struct {
|
|||
linker *baseLinker
|
||||
}
|
||||
|
||||
func (test *testDecorator) gtest() bool {
|
||||
return test.Properties.Gtest == nil || *test.Properties.Gtest == true
|
||||
}
|
||||
|
||||
func (test *testDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags {
|
||||
if !test.Properties.Gtest {
|
||||
if !test.gtest() {
|
||||
return flags
|
||||
}
|
||||
|
||||
|
@ -143,7 +147,7 @@ func (test *testDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags {
|
|||
}
|
||||
|
||||
func (test *testDecorator) linkerDeps(ctx BaseModuleContext, deps Deps) Deps {
|
||||
if test.Properties.Gtest {
|
||||
if test.gtest() {
|
||||
if ctx.sdk() && ctx.Device() {
|
||||
switch ctx.selectedStl() {
|
||||
case "ndk_libc++_shared", "ndk_libc++_static":
|
||||
|
@ -208,8 +212,9 @@ func (test *testBinary) linkerFlags(ctx ModuleContext, flags Flags) Flags {
|
|||
}
|
||||
|
||||
func (test *testBinary) install(ctx ModuleContext, file android.Path) {
|
||||
test.binaryDecorator.baseInstaller.dir = filepath.Join("nativetest", ctx.ModuleName())
|
||||
test.binaryDecorator.baseInstaller.dir64 = filepath.Join("nativetest64", ctx.ModuleName())
|
||||
test.binaryDecorator.baseInstaller.dir = "nativetest"
|
||||
test.binaryDecorator.baseInstaller.dir64 = "nativetest64"
|
||||
test.binaryDecorator.baseInstaller.relative = ctx.ModuleName()
|
||||
test.binaryDecorator.baseInstaller.install(ctx, file)
|
||||
}
|
||||
|
||||
|
@ -225,7 +230,6 @@ func NewTest(hod android.HostOrDeviceSupported) *Module {
|
|||
binaryDecorator: binary,
|
||||
baseCompiler: NewBaseCompiler(),
|
||||
}
|
||||
test.testDecorator.Properties.Gtest = true
|
||||
module.compiler = test
|
||||
module.linker = test
|
||||
module.installer = test
|
||||
|
@ -267,7 +271,6 @@ func NewTestLibrary(hod android.HostOrDeviceSupported) *Module {
|
|||
},
|
||||
libraryDecorator: library,
|
||||
}
|
||||
test.testDecorator.Properties.Gtest = true
|
||||
module.linker = test
|
||||
return module
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue