Set targetSdkVersion to 10000 for MTS tests targeting current
MTS tests built on unstable branches (e.g. git_master) should be testable on
old system images (e.g. S). However, they run into an error during installation
on older images:
`Requires development platform $<current_codename>, but this is a
release platform`
This CL fixes this issue by updating the target_sdk_version of MTS test apps
targeting current to the magical sdk_version 10000
Bug: 227473065
Test: go build ./java
Test: TH
Change-Id: Ic0358a48a19dc239defbb4ee8ec99225cce75584
diff --git a/java/app_test.go b/java/app_test.go
index bb44803..0f973ba 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -3160,3 +3160,65 @@
})
}
}
+
+func TestTargetSdkVersionMtsTests(t *testing.T) {
+ platformSdkCodename := "Tiramisu"
+ android_test := "android_test"
+ android_test_helper_app := "android_test_helper_app"
+ bpTemplate := `
+ %v {
+ name: "mytest",
+ target_sdk_version: "%v",
+ test_suites: ["othersuite", "%v"],
+ }
+ `
+ testCases := []struct {
+ desc string
+ moduleType string
+ targetSdkVersionInBp string
+ targetSdkVersionExpected string
+ testSuites string
+ }{
+ {
+ desc: "Non-MTS android_test_apps targeting current should not be upgraded to 10000",
+ moduleType: android_test,
+ targetSdkVersionInBp: "current",
+ targetSdkVersionExpected: platformSdkCodename,
+ testSuites: "non-mts-suite",
+ },
+ {
+ desc: "MTS android_test_apps targeting released sdks should not be upgraded to 10000",
+ moduleType: android_test,
+ targetSdkVersionInBp: "29",
+ targetSdkVersionExpected: "29",
+ testSuites: "mts-suite",
+ },
+ {
+ desc: "MTS android_test_apps targeting current should be upgraded to 10000",
+ moduleType: android_test,
+ targetSdkVersionInBp: "current",
+ targetSdkVersionExpected: "10000",
+ testSuites: "mts-suite",
+ },
+ {
+ desc: "MTS android_test_helper_apps targeting current should be upgraded to 10000",
+ moduleType: android_test_helper_app,
+ targetSdkVersionInBp: "current",
+ targetSdkVersionExpected: "10000",
+ testSuites: "mts-suite",
+ },
+ }
+ fixture := android.GroupFixturePreparers(
+ prepareForJavaTest,
+ android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
+ variables.Platform_sdk_codename = &platformSdkCodename
+ variables.Platform_version_active_codenames = []string{platformSdkCodename}
+ }),
+ )
+ for _, testCase := range testCases {
+ result := fixture.RunTestWithBp(t, fmt.Sprintf(bpTemplate, testCase.moduleType, testCase.targetSdkVersionInBp, testCase.testSuites))
+ mytest := result.ModuleForTests("mytest", "android_common")
+ manifestFixerArgs := mytest.Output("manifest_fixer/AndroidManifest.xml").Args["args"]
+ android.AssertStringDoesContain(t, testCase.desc, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected)
+ }
+}