Add ModuleInstallPathContextForTesting.

Test: m nothing
Change-Id: Ibcd6016cc43300fcc7f0ec511a3159886d0fdc7d
This commit is contained in:
Ulya Trafimovich
2020-10-14 11:29:07 +01:00
parent 180fecedf0
commit ccc8c85a7c
2 changed files with 95 additions and 85 deletions

View File

@@ -1557,6 +1557,72 @@ func PathContextForTesting(config Config) PathContext {
}
}
type testModuleInstallPathContext struct {
baseModuleContext
inData bool
inTestcases bool
inSanitizerDir bool
inRamdisk bool
inVendorRamdisk bool
inRecovery bool
inRoot bool
forceOS *OsType
forceArch *ArchType
}
func (m testModuleInstallPathContext) Config() Config {
return m.baseModuleContext.config
}
func (testModuleInstallPathContext) AddNinjaFileDeps(deps ...string) {}
func (m testModuleInstallPathContext) InstallInData() bool {
return m.inData
}
func (m testModuleInstallPathContext) InstallInTestcases() bool {
return m.inTestcases
}
func (m testModuleInstallPathContext) InstallInSanitizerDir() bool {
return m.inSanitizerDir
}
func (m testModuleInstallPathContext) InstallInRamdisk() bool {
return m.inRamdisk
}
func (m testModuleInstallPathContext) InstallInVendorRamdisk() bool {
return m.inVendorRamdisk
}
func (m testModuleInstallPathContext) InstallInRecovery() bool {
return m.inRecovery
}
func (m testModuleInstallPathContext) InstallInRoot() bool {
return m.inRoot
}
func (m testModuleInstallPathContext) InstallBypassMake() bool {
return false
}
func (m testModuleInstallPathContext) InstallForceOS() (*OsType, *ArchType) {
return m.forceOS, m.forceArch
}
// Construct a minimal ModuleInstallPathContext for testing. Note that baseModuleContext is
// default-initialized, which leaves blueprint.baseModuleContext set to nil, so methods that are
// delegated to it will panic.
func ModuleInstallPathContextForTesting(config Config) ModuleInstallPathContext {
ctx := &testModuleInstallPathContext{}
ctx.config = config
ctx.os = Android
return ctx
}
// Rel performs the same function as filepath.Rel, but reports errors to a PathContext, and reports an error if
// targetPath is not inside basePath.
func Rel(ctx PathContext, basePath string, targetPath string) string {

View File

@@ -197,62 +197,6 @@ func p(in interface{}) string {
}
}
type moduleInstallPathContextImpl struct {
baseModuleContext
inData bool
inTestcases bool
inSanitizerDir bool
inRamdisk bool
inVendorRamdisk bool
inRecovery bool
inRoot bool
forceOS *OsType
forceArch *ArchType
}
func (m moduleInstallPathContextImpl) Config() Config {
return m.baseModuleContext.config
}
func (moduleInstallPathContextImpl) AddNinjaFileDeps(deps ...string) {}
func (m moduleInstallPathContextImpl) InstallInData() bool {
return m.inData
}
func (m moduleInstallPathContextImpl) InstallInTestcases() bool {
return m.inTestcases
}
func (m moduleInstallPathContextImpl) InstallInSanitizerDir() bool {
return m.inSanitizerDir
}
func (m moduleInstallPathContextImpl) InstallInRamdisk() bool {
return m.inRamdisk
}
func (m moduleInstallPathContextImpl) InstallInVendorRamdisk() bool {
return m.inVendorRamdisk
}
func (m moduleInstallPathContextImpl) InstallInRecovery() bool {
return m.inRecovery
}
func (m moduleInstallPathContextImpl) InstallInRoot() bool {
return m.inRoot
}
func (m moduleInstallPathContextImpl) InstallBypassMake() bool {
return false
}
func (m moduleInstallPathContextImpl) InstallForceOS() (*OsType, *ArchType) {
return m.forceOS, m.forceArch
}
func pathTestConfig(buildDir string) Config {
return TestConfig(buildDir, nil, "", nil)
}
@@ -265,14 +209,14 @@ func TestPathForModuleInstall(t *testing.T) {
testCases := []struct {
name string
ctx *moduleInstallPathContextImpl
ctx *testModuleInstallPathContext
in []string
out string
partitionDir string
}{
{
name: "host binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: hostTarget.Os,
target: hostTarget,
@@ -285,7 +229,7 @@ func TestPathForModuleInstall(t *testing.T) {
{
name: "system binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -297,7 +241,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "vendor binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -312,7 +256,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "odm binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -327,7 +271,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "product binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -342,7 +286,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "system_ext binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -357,7 +301,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "root binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -370,7 +314,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "recovery binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -383,7 +327,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "recovery root binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -398,7 +342,7 @@ func TestPathForModuleInstall(t *testing.T) {
{
name: "system native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -411,7 +355,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "vendor native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -427,7 +371,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "odm native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -443,7 +387,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "product native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -460,7 +404,7 @@ func TestPathForModuleInstall(t *testing.T) {
{
name: "system_ext native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -477,7 +421,7 @@ func TestPathForModuleInstall(t *testing.T) {
{
name: "sanitized system binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -490,7 +434,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "sanitized vendor binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -506,7 +450,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "sanitized odm binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -522,7 +466,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "sanitized product binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -539,7 +483,7 @@ func TestPathForModuleInstall(t *testing.T) {
{
name: "sanitized system_ext binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -556,7 +500,7 @@ func TestPathForModuleInstall(t *testing.T) {
{
name: "sanitized system native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -570,7 +514,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "sanitized vendor native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -587,7 +531,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "sanitized odm native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -604,7 +548,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "sanitized product native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -621,7 +565,7 @@ func TestPathForModuleInstall(t *testing.T) {
},
{
name: "sanitized system_ext native test binary",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -637,7 +581,7 @@ func TestPathForModuleInstall(t *testing.T) {
partitionDir: "target/product/test_device/data/asan/data",
}, {
name: "device testcases",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -649,7 +593,7 @@ func TestPathForModuleInstall(t *testing.T) {
partitionDir: "target/product/test_device/testcases",
}, {
name: "host testcases",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: hostTarget.Os,
target: hostTarget,
@@ -661,7 +605,7 @@ func TestPathForModuleInstall(t *testing.T) {
partitionDir: "host/linux-x86/testcases",
}, {
name: "forced host testcases",
ctx: &moduleInstallPathContextImpl{
ctx: &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,
@@ -697,7 +641,7 @@ func TestBaseDirForInstallPath(t *testing.T) {
testConfig := pathTestConfig("")
deviceTarget := Target{Os: Android, Arch: Arch{ArchType: Arm64}}
ctx := &moduleInstallPathContextImpl{
ctx := &testModuleInstallPathContext{
baseModuleContext: baseModuleContext{
os: deviceTarget.Os,
target: deviceTarget,