Apply apimapper instrument tool on android tests

Apimapper is a tool to instrument android tests to log potentail API calls at the run time.

The real tool is developed internally. We use a placeholder binary in
AOSP before the real tool is ready.

The tool will only take affect when the enviroment var EMMA_API_MAPPER
is set to true.

Test: m cts
Bug: 328699028

Change-Id: Iece53b8afdb9803334b7393527f4fa24e22f71a8
This commit is contained in:
Yihan Dong
2024-08-29 15:32:13 +08:00
parent 88a8daf8ca
commit 8be09c2075
3 changed files with 48 additions and 0 deletions

View File

@@ -1471,7 +1471,23 @@ func (a *AndroidTest) FixTestConfig(ctx android.ModuleContext, testConfig androi
return testConfig
}
func (a *AndroidTestHelperApp) DepsMutator(ctx android.BottomUpMutatorContext) {
if len(a.ApexProperties.Apex_available) == 0 && ctx.Config().IsEnvTrue("EMMA_API_MAPPER") {
// Instrument the android_test_helper target to log potential API calls at the run time.
// Contact android-xts-infra team before using the environment var EMMA_API_MAPPER.
ctx.AddVariationDependencies(nil, staticLibTag, "apimapper-helper-device-lib")
a.setApiMapper(true)
}
a.AndroidApp.DepsMutator(ctx)
}
func (a *AndroidTest) DepsMutator(ctx android.BottomUpMutatorContext) {
if len(a.ApexProperties.Apex_available) == 0 && ctx.Config().IsEnvTrue("EMMA_API_MAPPER") {
// Instrument the android_test_helper target to log potential API calls at the run time.
// Contact android-xts-infra team before using the environment var EMMA_API_MAPPER.
ctx.AddVariationDependencies(nil, staticLibTag, "apimapper-helper-device-lib")
a.setApiMapper(true)
}
a.AndroidApp.DepsMutator(ctx)
}