diff options
37 files changed, 525 insertions, 157 deletions
diff --git a/java/aar_test.go b/java/aar_test.go index aa4f0af10..3ac228d35 100644 --- a/java/aar_test.go +++ b/java/aar_test.go @@ -21,6 +21,7 @@ import ( ) func TestAarImportProducesJniPackages(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` @@ -50,6 +51,7 @@ func TestAarImportProducesJniPackages(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() appMod := ctx.Module(tc.name, "android_common") appTestMod := ctx.ModuleForTests(tc.name, "android_common") @@ -84,6 +86,7 @@ func TestAarImportProducesJniPackages(t *testing.T) { } func TestLibraryFlagsPackages(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, ).RunTestWithBp(t, ` @@ -133,6 +136,7 @@ func TestLibraryFlagsPackages(t *testing.T) { } func TestAndroidLibraryOutputFilesRel(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` diff --git a/java/android_manifest_test.go b/java/android_manifest_test.go index 7c9188462..edb22fcb7 100644 --- a/java/android_manifest_test.go +++ b/java/android_manifest_test.go @@ -21,6 +21,7 @@ import ( ) func TestManifestMerger(t *testing.T) { + t.Parallel() bp := ` android_app { name: "app", @@ -100,6 +101,7 @@ func TestManifestMerger(t *testing.T) { } func TestManifestValuesApplicationIdSetsPackageName(t *testing.T) { + t.Parallel() bp := ` android_test { name: "test", diff --git a/java/androidmk_test.go b/java/androidmk_test.go index 1d98b180d..9306e72a3 100644 --- a/java/androidmk_test.go +++ b/java/androidmk_test.go @@ -23,6 +23,7 @@ import ( ) func TestRequired(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -42,6 +43,7 @@ func TestRequired(t *testing.T) { } func TestHostdex(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -72,6 +74,7 @@ func TestHostdex(t *testing.T) { } func TestHostdexRequired(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -103,6 +106,7 @@ func TestHostdexRequired(t *testing.T) { } func TestHostdexSpecificRequired(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -136,6 +140,7 @@ func TestHostdexSpecificRequired(t *testing.T) { } func TestJavaSdkLibrary_RequireXmlPermissionFile(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -173,6 +178,7 @@ func TestJavaSdkLibrary_RequireXmlPermissionFile(t *testing.T) { } func TestImportSoongDexJar(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, ` java_import { name: "my-java-import", @@ -191,6 +197,7 @@ func TestImportSoongDexJar(t *testing.T) { } func TestAndroidTestHelperApp_LocalDisableTestConfig(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_test_helper_app { name: "foo", @@ -209,6 +216,7 @@ func TestAndroidTestHelperApp_LocalDisableTestConfig(t *testing.T) { } func TestGetOverriddenPackages(t *testing.T) { + t.Parallel() ctx, _ := testJava( t, ` android_app { @@ -255,6 +263,7 @@ func TestGetOverriddenPackages(t *testing.T) { } func TestJniAsRequiredDeps(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, cc.PrepareForTestWithCcDefaultModules, diff --git a/java/app_import_test.go b/java/app_import_test.go index 2ec7ed47a..52ae71979 100644 --- a/java/app_import_test.go +++ b/java/app_import_test.go @@ -26,6 +26,7 @@ import ( ) func TestAndroidAppImport(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -60,6 +61,7 @@ func TestAndroidAppImport(t *testing.T) { } func TestAndroidAppImportWithDefaults(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -99,6 +101,7 @@ func TestAndroidAppImportWithDefaults(t *testing.T) { } func TestAndroidAppImport_NoDexPreopt(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -126,6 +129,7 @@ func TestAndroidAppImport_NoDexPreopt(t *testing.T) { } func TestAndroidAppImport_Presigned(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -160,6 +164,7 @@ func TestAndroidAppImport_Presigned(t *testing.T) { } func TestAndroidAppImport_SigningLineage(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -203,6 +208,7 @@ func TestAndroidAppImport_SigningLineage(t *testing.T) { } func TestAndroidAppImport_SigningLineageFilegroup(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -235,6 +241,7 @@ func TestAndroidAppImport_SigningLineageFilegroup(t *testing.T) { } func TestAndroidAppImport_DefaultDevCert(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -270,6 +277,7 @@ func TestAndroidAppImport_DefaultDevCert(t *testing.T) { } func TestAndroidAppImport_DpiVariants(t *testing.T) { + t.Parallel() bp := ` android_app_import { name: "foo", @@ -356,6 +364,7 @@ func TestAndroidAppImport_DpiVariants(t *testing.T) { } func TestAndroidAppImport_Filename(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -448,6 +457,7 @@ func TestAndroidAppImport_Filename(t *testing.T) { } func TestAndroidAppImport_ArchVariants(t *testing.T) { + t.Parallel() // The test config's target arch is ARM64. testCases := []struct { name string @@ -573,6 +583,7 @@ func TestAndroidAppImport_ArchVariants(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, test.bp) variant := ctx.ModuleForTests("foo", "android_common") @@ -598,6 +609,7 @@ func TestAndroidAppImport_ArchVariants(t *testing.T) { } func TestAndroidAppImport_SoongConfigVariables(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -640,6 +652,7 @@ func TestAndroidAppImport_SoongConfigVariables(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( prepareForJavaTest, android.PrepareForTestWithSoongConfigModuleBuildComponents, @@ -675,6 +688,7 @@ func TestAndroidAppImport_SoongConfigVariables(t *testing.T) { } func TestAndroidAppImport_overridesDisabledAndroidApp(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app { name: "foo", @@ -703,6 +717,7 @@ func TestAndroidAppImport_overridesDisabledAndroidApp(t *testing.T) { } func TestAndroidAppImport_relativeInstallPath(t *testing.T) { + t.Parallel() bp := ` android_app_import { name: "no_relative_install_path", @@ -747,13 +762,17 @@ func TestAndroidAppImport_relativeInstallPath(t *testing.T) { }, } for _, testCase := range testCases { - ctx, _ := testJava(t, bp) - mod := ctx.ModuleForTests(testCase.name, "android_common").Module().(*AndroidAppImport) - android.AssertPathRelativeToTopEquals(t, testCase.errorMessage, testCase.expectedInstallPath, mod.installPath) + t.Run(testCase.name, func(t *testing.T) { + t.Parallel() + ctx, _ := testJava(t, bp) + mod := ctx.ModuleForTests(testCase.name, "android_common").Module().(*AndroidAppImport) + android.AssertPathRelativeToTopEquals(t, testCase.errorMessage, testCase.expectedInstallPath, mod.installPath) + }) } } func TestAndroidAppImport_ExtractApk(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app_import { name: "foo", @@ -770,6 +789,7 @@ func TestAndroidAppImport_ExtractApk(t *testing.T) { } } func TestAndroidTestImport(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_test_import { name: "foo", @@ -798,6 +818,7 @@ func TestAndroidTestImport(t *testing.T) { } func TestAndroidTestImport_NoJinUncompressForPresigned(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_test_import { name: "foo", @@ -835,6 +856,7 @@ func TestAndroidTestImport_NoJinUncompressForPresigned(t *testing.T) { } func TestAndroidTestImport_Preprocessed(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_test_import { name: "foo", @@ -861,9 +883,11 @@ func TestAndroidTestImport_Preprocessed(t *testing.T) { } func TestAndroidAppImport_Preprocessed(t *testing.T) { + t.Parallel() for _, dontUncompressPrivAppDexs := range []bool{false, true} { name := fmt.Sprintf("dontUncompressPrivAppDexs:%t", dontUncompressPrivAppDexs) t.Run(name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { @@ -938,6 +962,7 @@ func TestAndroidAppImport_Preprocessed(t *testing.T) { } func TestAndroidTestImport_UncompressDex(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -1001,6 +1026,7 @@ func TestAndroidTestImport_UncompressDex(t *testing.T) { name := fmt.Sprintf("%s,unbundled:%t,dontUncompressPrivAppDexs:%t", tt.name, unbundled, dontUncompressPrivAppDexs) t.Run(name, func(t *testing.T) { + t.Parallel() test(t, tt.bp, unbundled, dontUncompressPrivAppDexs) }) } @@ -1009,6 +1035,7 @@ func TestAndroidTestImport_UncompressDex(t *testing.T) { } func TestAppImportMissingCertificateAllowMissingDependencies(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.PrepareForTestWithAllowMissingDependencies, diff --git a/java/app_set_test.go b/java/app_set_test.go index c02b3593b..cc7af042b 100644 --- a/java/app_set_test.go +++ b/java/app_set_test.go @@ -24,6 +24,7 @@ import ( ) func TestAndroidAppSet(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, ` android_app_set { name: "foo", @@ -65,6 +66,7 @@ func TestAndroidAppSet(t *testing.T) { } func TestAndroidAppSet_Variants(t *testing.T) { + t.Parallel() bp := ` android_app_set { name: "foo", @@ -113,24 +115,24 @@ func TestAndroidAppSet_Variants(t *testing.T) { } for _, test := range testCases { - ctx := android.GroupFixturePreparers( - PrepareForTestWithJavaDefaultModules, - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - variables.AAPTPrebuiltDPI = test.aaptPrebuiltDPI - variables.Platform_sdk_version = &test.sdkVersion - }), - android.FixtureModifyConfig(func(config android.Config) { - config.Targets[android.Android] = test.targets - }), - ).RunTestWithBp(t, bp) + t.Run(test.name, func(t *testing.T) { + ctx := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + variables.AAPTPrebuiltDPI = test.aaptPrebuiltDPI + variables.Platform_sdk_version = &test.sdkVersion + }), + android.FixtureModifyConfig(func(config android.Config) { + config.Targets[android.Android] = test.targets + }), + ).RunTestWithBp(t, bp) - module := ctx.ModuleForTests("foo", "android_common") - const packedSplitApks = "foo.zip" - params := module.Output(packedSplitApks) - for k, v := range test.expected { - t.Run(test.name, func(t *testing.T) { + module := ctx.ModuleForTests("foo", "android_common") + const packedSplitApks = "foo.zip" + params := module.Output(packedSplitApks) + for k, v := range test.expected { android.AssertStringEquals(t, fmt.Sprintf("arg value for `%s`", k), v, params.Args[k]) - }) - } + } + }) } } diff --git a/java/app_test.go b/java/app_test.go index bde801b32..701fc3594 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -42,6 +42,7 @@ func testApp(t *testing.T, bp string) *android.TestContext { } func TestApp(t *testing.T) { + t.Parallel() resourceFiles := []string{ "res/layout/layout.xml", "res/values/strings.xml", @@ -56,6 +57,7 @@ func TestApp(t *testing.T) { for _, moduleType := range []string{"android_app", "android_library"} { t.Run(moduleType, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, android.FixtureModifyMockFS(func(fs android.MockFS) { @@ -101,6 +103,7 @@ func TestApp(t *testing.T) { } func TestAppSplits(t *testing.T) { + t.Parallel() ctx := testApp(t, ` android_app { name: "foo", @@ -125,6 +128,7 @@ func TestAppSplits(t *testing.T) { } func TestPlatformAPIs(t *testing.T) { + t.Parallel() testJava(t, ` android_app { name: "foo", @@ -159,6 +163,7 @@ func TestPlatformAPIs(t *testing.T) { } func TestAndroidAppLinkType(t *testing.T) { + t.Parallel() testJava(t, ` android_app { name: "foo", @@ -248,6 +253,7 @@ func TestAndroidAppLinkType(t *testing.T) { } func TestUpdatableApps(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -359,6 +365,7 @@ func TestUpdatableApps(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() errorHandler := android.FixtureExpectsNoErrors if test.expectedError != "" { errorHandler = android.FixtureExpectsAtLeastOneErrorMatchingPattern(test.expectedError) @@ -373,6 +380,7 @@ func TestUpdatableApps(t *testing.T) { } func TestUpdatableApps_TransitiveDepsShouldSetMinSdkVersion(t *testing.T) { + t.Parallel() testJavaError(t, `module "bar".*: should support min_sdk_version\(29\)`, cc.GatherRequiredDepsForTest(android.Android)+` android_app { name: "foo", @@ -391,6 +399,7 @@ func TestUpdatableApps_TransitiveDepsShouldSetMinSdkVersion(t *testing.T) { } func TestUpdatableApps_JniLibsShouldShouldSupportMinSdkVersion(t *testing.T) { + t.Parallel() testJava(t, cc.GatherRequiredDepsForTest(android.Android)+` android_app { name: "foo", @@ -411,6 +420,7 @@ func TestUpdatableApps_JniLibsShouldShouldSupportMinSdkVersion(t *testing.T) { } func TestUpdatableApps_JniLibShouldBeBuiltAgainstMinSdkVersion(t *testing.T) { + t.Parallel() bp := cc.GatherRequiredDepsForTest(android.Android) + ` android_app { name: "foo", @@ -466,6 +476,7 @@ func TestUpdatableApps_JniLibShouldBeBuiltAgainstMinSdkVersion(t *testing.T) { } func TestUpdatableApps_ErrorIfJniLibDoesntSupportMinSdkVersion(t *testing.T) { + t.Parallel() bp := cc.GatherRequiredDepsForTest(android.Android) + ` android_app { name: "foo", @@ -487,6 +498,7 @@ func TestUpdatableApps_ErrorIfJniLibDoesntSupportMinSdkVersion(t *testing.T) { } func TestUpdatableApps_ErrorIfDepMinSdkVersionIsHigher(t *testing.T) { + t.Parallel() bp := cc.GatherRequiredDepsForTest(android.Android) + ` android_app { name: "foo", @@ -518,6 +530,7 @@ func TestUpdatableApps_ErrorIfDepMinSdkVersionIsHigher(t *testing.T) { } func TestUpdatableApps_ApplyDefaultUpdatableModuleVersion(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` @@ -538,6 +551,7 @@ func TestUpdatableApps_ApplyDefaultUpdatableModuleVersion(t *testing.T) { } func TestUpdatableApps_ApplyOverrideApexManifestDefaultVersion(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureMergeEnv(map[string]string{ @@ -561,6 +575,7 @@ func TestUpdatableApps_ApplyOverrideApexManifestDefaultVersion(t *testing.T) { } func TestResourceDirs(t *testing.T) { + t.Parallel() testCases := []struct { name string prop string @@ -597,6 +612,7 @@ func TestResourceDirs(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, fs.AddToFixture(), @@ -618,6 +634,7 @@ func TestResourceDirs(t *testing.T) { } func TestLibraryAssets(t *testing.T) { + t.Parallel() bp := ` android_app { name: "foo", @@ -712,6 +729,7 @@ func TestLibraryAssets(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() m := ctx.ModuleForTests(test.name, "android_common") // Check asset flag in aapt2 link flags @@ -747,6 +765,7 @@ func TestLibraryAssets(t *testing.T) { } func TestAppJavaResources(t *testing.T) { + t.Parallel() bp := ` android_app { name: "foo", @@ -792,6 +811,7 @@ func TestAppJavaResources(t *testing.T) { } func TestAndroidResourceProcessor(t *testing.T) { + t.Parallel() testCases := []struct { name string appUsesRP bool @@ -1224,6 +1244,7 @@ func TestAndroidResourceProcessor(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { + t.Parallel() bp := fmt.Sprintf(` android_app { name: "app", @@ -1420,6 +1441,7 @@ func TestAndroidResourceProcessor(t *testing.T) { } func TestAndroidResourceOverlays(t *testing.T) { + t.Parallel() type moduleAndVariant struct { module string variant string @@ -1616,6 +1638,7 @@ func TestAndroidResourceOverlays(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, fs.AddToFixture(), @@ -1725,6 +1748,7 @@ func checkSdkVersion(t *testing.T, result *android.TestResult, expectedSdkVersio } func TestAppSdkVersion(t *testing.T) { + t.Parallel() testCases := []struct { name string sdkVersion string @@ -1792,6 +1816,7 @@ func TestAppSdkVersion(t *testing.T) { for _, moduleType := range []string{"android_app", "android_library"} { for _, test := range testCases { t.Run(moduleType+" "+test.name, func(t *testing.T) { + t.Parallel() platformApiProp := "" if test.platformApis { platformApiProp = "platform_apis: true," @@ -1828,6 +1853,7 @@ func TestAppSdkVersion(t *testing.T) { } func TestVendorAppSdkVersion(t *testing.T) { + t.Parallel() testCases := []struct { name string sdkVersion string @@ -1870,6 +1896,7 @@ func TestVendorAppSdkVersion(t *testing.T) { for _, sdkKind := range []string{"", "system_"} { for _, test := range testCases { t.Run(moduleType+" "+test.name, func(t *testing.T) { + t.Parallel() bp := fmt.Sprintf(`%s { name: "foo", srcs: ["a.java"], @@ -1901,6 +1928,7 @@ func TestVendorAppSdkVersion(t *testing.T) { } func TestJNIABI(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, cc.GatherRequiredDepsForTest(android.Android)+` cc_library { name: "libjni", @@ -1957,6 +1985,7 @@ func TestJNIABI(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() app := ctx.ModuleForTests(test.name, "android_common") jniLibZip := app.Output("jnilibs.zip") var abis []string @@ -1975,6 +2004,7 @@ func TestJNIABI(t *testing.T) { } func TestAppSdkVersionByPartition(t *testing.T) { + t.Parallel() testJavaError(t, "sdk_version must have a value when the module is located at vendor or product", ` android_app { name: "foo", @@ -2019,6 +2049,7 @@ func TestAppSdkVersionByPartition(t *testing.T) { } func TestJNIPackaging(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, cc.GatherRequiredDepsForTest(android.Android)+` cc_library { name: "libjni", @@ -2090,6 +2121,7 @@ func TestJNIPackaging(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() app := ctx.ModuleForTests(test.name, "android_common") jniLibZip := app.MaybeOutput("jnilibs.zip") if g, w := (jniLibZip.Rule != nil), test.packaged; g != w { @@ -2110,6 +2142,7 @@ func TestJNIPackaging(t *testing.T) { } func TestJNISDK(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, cc.GatherRequiredDepsForTest(android.Android)+` cc_library { name: "libjni", @@ -2180,6 +2213,7 @@ func TestJNISDK(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() app := ctx.ModuleForTests(test.name, "android_common") jniLibZip := app.MaybeOutput("jnilibs.zip") @@ -2205,6 +2239,7 @@ func TestJNISDK(t *testing.T) { } t.Run("jni_uses_platform_apis_error", func(t *testing.T) { + t.Parallel() testJavaError(t, `jni_uses_platform_apis: can only be set for modules that set sdk_version`, ` android_test { name: "app_platform", @@ -2215,6 +2250,7 @@ func TestJNISDK(t *testing.T) { }) t.Run("jni_uses_sdk_apis_error", func(t *testing.T) { + t.Parallel() testJavaError(t, `jni_uses_sdk_apis: can only be set for modules that do not set sdk_version`, ` android_test { name: "app_sdk", @@ -2227,6 +2263,7 @@ func TestJNISDK(t *testing.T) { } func TestCertificates(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -2364,6 +2401,7 @@ func TestCertificates(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { @@ -2401,6 +2439,7 @@ func TestCertificates(t *testing.T) { } func TestRequestV4SigningFlag(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -2445,6 +2484,7 @@ func TestRequestV4SigningFlag(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, test.bp) @@ -2459,6 +2499,7 @@ func TestRequestV4SigningFlag(t *testing.T) { } func TestPackageNameOverride(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -2516,6 +2557,7 @@ func TestPackageNameOverride(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { @@ -2544,6 +2586,7 @@ func TestPackageNameOverride(t *testing.T) { } func TestInstrumentationTargetOverridden(t *testing.T) { + t.Parallel() bp := ` android_app { name: "foo", @@ -2575,6 +2618,7 @@ func TestInstrumentationTargetOverridden(t *testing.T) { } func TestOverrideAndroidApp(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp( t, ` android_app { @@ -2757,6 +2801,7 @@ func TestOverrideAndroidApp(t *testing.T) { } func TestOverrideAndroidAppOverrides(t *testing.T) { + t.Parallel() ctx, _ := testJava( t, ` android_app { @@ -2815,6 +2860,7 @@ func TestOverrideAndroidAppOverrides(t *testing.T) { } func TestOverrideAndroidAppWithPrebuilt(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp( t, ` android_app { @@ -2850,6 +2896,7 @@ func TestOverrideAndroidAppWithPrebuilt(t *testing.T) { } func TestOverrideAndroidAppStem(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app { name: "foo", @@ -2924,6 +2971,7 @@ func TestOverrideAndroidAppStem(t *testing.T) { } func TestOverrideAndroidAppDependency(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app { name: "foo", @@ -3159,6 +3207,7 @@ func TestInstrumentationTargetPrebuilt(t *testing.T) { } func TestStl(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, cc.GatherRequiredDepsForTest(android.Android)+` cc_library { name: "libjni", @@ -3201,6 +3250,7 @@ func TestStl(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() app := ctx.ModuleForTests(test.name, "android_common") jniLibZip := app.Output("jnilibs.zip") var jnis []string @@ -3431,6 +3481,7 @@ func TestUsesLibraries(t *testing.T) { } func TestDexpreoptBcp(t *testing.T) { + t.Parallel() bp := ` java_sdk_library { name: "foo", @@ -3473,6 +3524,7 @@ func TestDexpreoptBcp(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -3491,6 +3543,7 @@ func TestDexpreoptBcp(t *testing.T) { } func TestCodelessApp(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -3555,6 +3608,7 @@ func TestCodelessApp(t *testing.T) { for _, test := range testCases { t.Run(test.name, func(t *testing.T) { + t.Parallel() ctx := testApp(t, test.bp) foo := ctx.ModuleForTests("foo", "android_common") @@ -3567,6 +3621,7 @@ func TestCodelessApp(t *testing.T) { } func TestUncompressDex(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -3666,10 +3721,13 @@ func TestUncompressDex(t *testing.T) { for _, tt := range testCases { t.Run(tt.name, func(t *testing.T) { + t.Parallel() t.Run("platform", func(t *testing.T) { + t.Parallel() test(t, tt.bp, tt.uncompressedPlatform, false) }) t.Run("unbundled", func(t *testing.T) { + t.Parallel() test(t, tt.bp, tt.uncompressedUnbundled, true) }) }) @@ -3691,6 +3749,7 @@ func checkAapt2LinkFlag(t *testing.T, aapt2Flags, flagName, expectedValue string } func TestExportedProguardFlagFiles(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` android_app { name: "foo", @@ -3752,6 +3811,7 @@ func TestExportedProguardFlagFiles(t *testing.T) { } func TestTargetSdkVersionManifestFixer(t *testing.T) { + t.Parallel() platform_sdk_codename := "Tiramisu" platform_sdk_version := 33 testCases := []struct { @@ -3804,43 +3864,47 @@ func TestTargetSdkVersionManifestFixer(t *testing.T) { }, } for _, testCase := range testCases { - targetSdkVersionTemplate := "" - if testCase.targetSdkVersionInBp != "" { - targetSdkVersionTemplate = fmt.Sprintf(`target_sdk_version: "%s",`, testCase.targetSdkVersionInBp) - } - bp := fmt.Sprintf(` + t.Run(testCase.name, func(t *testing.T) { + t.Parallel() + targetSdkVersionTemplate := "" + if testCase.targetSdkVersionInBp != "" { + targetSdkVersionTemplate = fmt.Sprintf(`target_sdk_version: "%s",`, testCase.targetSdkVersionInBp) + } + bp := fmt.Sprintf(` android_app { name: "foo", sdk_version: "current", %s } `, targetSdkVersionTemplate) - fixture := android.GroupFixturePreparers( - prepareForJavaTest, - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - if testCase.platformSdkFinal { - variables.Platform_sdk_final = proptools.BoolPtr(true) - } - // explicitly set platform_sdk_codename to make the test deterministic - variables.Platform_sdk_codename = &platform_sdk_codename - variables.Platform_sdk_version = &platform_sdk_version - variables.Platform_version_active_codenames = []string{platform_sdk_codename} - // create a non-empty list if unbundledBuild==true - if testCase.unbundledBuild { - variables.Unbundled_build_apps = []string{"apex_a", "apex_b"} - } - }), - ) + fixture := android.GroupFixturePreparers( + prepareForJavaTest, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + if testCase.platformSdkFinal { + variables.Platform_sdk_final = proptools.BoolPtr(true) + } + // explicitly set platform_sdk_codename to make the test deterministic + variables.Platform_sdk_codename = &platform_sdk_codename + variables.Platform_sdk_version = &platform_sdk_version + variables.Platform_version_active_codenames = []string{platform_sdk_codename} + // create a non-empty list if unbundledBuild==true + if testCase.unbundledBuild { + variables.Unbundled_build_apps = []string{"apex_a", "apex_b"} + } + }), + ) - result := fixture.RunTestWithBp(t, bp) - foo := result.ModuleForTests("foo", "android_common") + result := fixture.RunTestWithBp(t, bp) + foo := result.ModuleForTests("foo", "android_common") - manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] - android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected) + manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] + android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected) + }) } } func TestDefaultAppTargetSdkVersionForUpdatableModules(t *testing.T) { + t.Parallel() platform_sdk_codename := "Tiramisu" platform_sdk_version := 33 testCases := []struct { @@ -3896,11 +3960,13 @@ func TestDefaultAppTargetSdkVersionForUpdatableModules(t *testing.T) { }, } for _, testCase := range testCases { - targetSdkVersionTemplate := "" - if testCase.targetSdkVersionInBp != nil { - targetSdkVersionTemplate = fmt.Sprintf(`target_sdk_version: "%s",`, *testCase.targetSdkVersionInBp) - } - bp := fmt.Sprintf(` + t.Run(testCase.name, func(t *testing.T) { + t.Parallel() + targetSdkVersionTemplate := "" + if testCase.targetSdkVersionInBp != nil { + targetSdkVersionTemplate = fmt.Sprintf(`target_sdk_version: "%s",`, *testCase.targetSdkVersionInBp) + } + bp := fmt.Sprintf(` android_app { name: "foo", sdk_version: "current", @@ -3911,30 +3977,32 @@ func TestDefaultAppTargetSdkVersionForUpdatableModules(t *testing.T) { } `, targetSdkVersionTemplate, testCase.updatable, testCase.updatable) // enforce default target sdk version if app is updatable - fixture := android.GroupFixturePreparers( - PrepareForTestWithJavaDefaultModules, - android.PrepareForTestWithAllowMissingDependencies, - android.PrepareForTestWithAndroidMk, - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - // explicitly set following platform variables to make the test deterministic - variables.Platform_sdk_final = &testCase.platform_sdk_final - variables.Platform_sdk_version = &platform_sdk_version - variables.Platform_sdk_codename = &platform_sdk_codename - variables.Platform_version_active_codenames = []string{platform_sdk_codename} - variables.Unbundled_build = proptools.BoolPtr(true) - variables.Unbundled_build_apps = []string{"sampleModule"} - }), - ) + fixture := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + android.PrepareForTestWithAllowMissingDependencies, + android.PrepareForTestWithAndroidMk, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + // explicitly set following platform variables to make the test deterministic + variables.Platform_sdk_final = &testCase.platform_sdk_final + variables.Platform_sdk_version = &platform_sdk_version + variables.Platform_sdk_codename = &platform_sdk_codename + variables.Platform_version_active_codenames = []string{platform_sdk_codename} + variables.Unbundled_build = proptools.BoolPtr(true) + variables.Unbundled_build_apps = []string{"sampleModule"} + }), + ) - result := fixture.RunTestWithBp(t, bp) - foo := result.ModuleForTests("foo", "android_common") + result := fixture.RunTestWithBp(t, bp) + foo := result.ModuleForTests("foo", "android_common") - manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] - android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+*testCase.targetSdkVersionExpected) + manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] + android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+*testCase.targetSdkVersionExpected) + }) } } func TestEnforceDefaultAppTargetSdkVersionFlag(t *testing.T) { + t.Parallel() platform_sdk_codename := "Tiramisu" platform_sdk_version := 33 testCases := []struct { @@ -3979,8 +4047,10 @@ func TestEnforceDefaultAppTargetSdkVersionFlag(t *testing.T) { }, } for _, testCase := range testCases { - errExpected := testCase.expectedError != "" - bp := fmt.Sprintf(` + t.Run(testCase.name, func(t *testing.T) { + t.Parallel() + errExpected := testCase.expectedError != "" + bp := fmt.Sprintf(` android_app { name: "foo", enforce_default_target_sdk_version: %t, @@ -3991,35 +4061,37 @@ func TestEnforceDefaultAppTargetSdkVersionFlag(t *testing.T) { } `, testCase.enforceDefaultTargetSdkVersion, testCase.targetSdkVersionInBp, testCase.updatable) - fixture := android.GroupFixturePreparers( - PrepareForTestWithJavaDefaultModules, - android.PrepareForTestWithAllowMissingDependencies, - android.PrepareForTestWithAndroidMk, - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - // explicitly set following platform variables to make the test deterministic - variables.Platform_sdk_final = &testCase.platform_sdk_final - variables.Platform_sdk_version = &platform_sdk_version - variables.Platform_sdk_codename = &platform_sdk_codename - variables.Unbundled_build = proptools.BoolPtr(true) - variables.Unbundled_build_apps = []string{"sampleModule"} - }), - ) + fixture := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + android.PrepareForTestWithAllowMissingDependencies, + android.PrepareForTestWithAndroidMk, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + // explicitly set following platform variables to make the test deterministic + variables.Platform_sdk_final = &testCase.platform_sdk_final + variables.Platform_sdk_version = &platform_sdk_version + variables.Platform_sdk_codename = &platform_sdk_codename + variables.Unbundled_build = proptools.BoolPtr(true) + variables.Unbundled_build_apps = []string{"sampleModule"} + }), + ) - errorHandler := android.FixtureExpectsNoErrors - if errExpected { - errorHandler = android.FixtureExpectsAtLeastOneErrorMatchingPattern(testCase.expectedError) - } - result := fixture.ExtendWithErrorHandler(errorHandler).RunTestWithBp(t, bp) + errorHandler := android.FixtureExpectsNoErrors + if errExpected { + errorHandler = android.FixtureExpectsAtLeastOneErrorMatchingPattern(testCase.expectedError) + } + result := fixture.ExtendWithErrorHandler(errorHandler).RunTestWithBp(t, bp) - if !errExpected { - foo := result.ModuleForTests("foo", "android_common") - manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] - android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected) - } + if !errExpected { + foo := result.ModuleForTests("foo", "android_common") + manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] + android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected) + } + }) } } func TestEnforceDefaultAppTargetSdkVersionFlagForTests(t *testing.T) { + t.Parallel() platform_sdk_codename := "Tiramisu" platform_sdk_version := 33 testCases := []struct { @@ -4052,8 +4124,10 @@ func TestEnforceDefaultAppTargetSdkVersionFlagForTests(t *testing.T) { }, } for _, testCase := range testCases { - errExpected := testCase.expectedError != "" - bp := fmt.Sprintf(` + t.Run(testCase.name, func(t *testing.T) { + t.Parallel() + errExpected := testCase.expectedError != "" + bp := fmt.Sprintf(` android_test { name: "foo", enforce_default_target_sdk_version: %t, @@ -4062,35 +4136,37 @@ func TestEnforceDefaultAppTargetSdkVersionFlagForTests(t *testing.T) { } `, testCase.enforceDefaultTargetSdkVersion, testCase.targetSdkVersionInBp) - fixture := android.GroupFixturePreparers( - PrepareForTestWithJavaDefaultModules, - android.PrepareForTestWithAllowMissingDependencies, - android.PrepareForTestWithAndroidMk, - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - // explicitly set following platform variables to make the test deterministic - variables.Platform_sdk_final = &testCase.platform_sdk_final - variables.Platform_sdk_version = &platform_sdk_version - variables.Platform_sdk_codename = &platform_sdk_codename - variables.Unbundled_build = proptools.BoolPtr(true) - variables.Unbundled_build_apps = []string{"sampleModule"} - }), - ) + fixture := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + android.PrepareForTestWithAllowMissingDependencies, + android.PrepareForTestWithAndroidMk, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + // explicitly set following platform variables to make the test deterministic + variables.Platform_sdk_final = &testCase.platform_sdk_final + variables.Platform_sdk_version = &platform_sdk_version + variables.Platform_sdk_codename = &platform_sdk_codename + variables.Unbundled_build = proptools.BoolPtr(true) + variables.Unbundled_build_apps = []string{"sampleModule"} + }), + ) - errorHandler := android.FixtureExpectsNoErrors - if errExpected { - errorHandler = android.FixtureExpectsAtLeastOneErrorMatchingPattern(testCase.expectedError) - } - result := fixture.ExtendWithErrorHandler(errorHandler).RunTestWithBp(t, bp) + errorHandler := android.FixtureExpectsNoErrors + if errExpected { + errorHandler = android.FixtureExpectsAtLeastOneErrorMatchingPattern(testCase.expectedError) + } + result := fixture.ExtendWithErrorHandler(errorHandler).RunTestWithBp(t, bp) - if !errExpected { - foo := result.ModuleForTests("foo", "android_common") - manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] - android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected) - } + if !errExpected { + foo := result.ModuleForTests("foo", "android_common") + manifestFixerArgs := foo.Output("manifest_fixer/AndroidManifest.xml").Args["args"] + android.AssertStringDoesContain(t, testCase.name, manifestFixerArgs, "--targetSdkVersion "+testCase.targetSdkVersionExpected) + } + }) } } func TestAppMissingCertificateAllowMissingDependencies(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.PrepareForTestWithAllowMissingDependencies, @@ -4120,6 +4196,7 @@ func TestAppMissingCertificateAllowMissingDependencies(t *testing.T) { } func TestAppIncludesJniPackages(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` @@ -4182,6 +4259,7 @@ func TestAppIncludesJniPackages(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() app := ctx.ModuleForTests(tc.name, "android_common") outputFile := "jnilibs.zip" @@ -4206,6 +4284,7 @@ func TestAppIncludesJniPackages(t *testing.T) { } func TestTargetSdkVersionMtsTests(t *testing.T) { + t.Parallel() platformSdkCodename := "Tiramisu" android_test := "android_test" android_test_helper_app := "android_test_helper_app" @@ -4261,14 +4340,18 @@ func TestTargetSdkVersionMtsTests(t *testing.T) { }), ) 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) + t.Run(testCase.desc, func(t *testing.T) { + t.Parallel() + 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) + }) } } func TestPrivappAllowlist(t *testing.T) { + t.Parallel() testJavaError(t, "privileged must be set in order to use privapp_allowlist", ` android_app { name: "foo", @@ -4311,6 +4394,7 @@ func TestPrivappAllowlist(t *testing.T) { } func TestPrivappAllowlistAndroidMk(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.PrepareForTestWithAndroidMk, @@ -4390,6 +4474,7 @@ func TestPrivappAllowlistAndroidMk(t *testing.T) { } func TestAppFlagsPackages(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( prepareForJavaTest, android.FixtureMergeMockFs( @@ -4454,6 +4539,7 @@ func TestAppFlagsPackages(t *testing.T) { } func TestAppFlagsPackagesPropagation(t *testing.T) { + t.Parallel() ctx := testApp(t, ` aconfig_declarations { name: "foo", @@ -4531,6 +4617,7 @@ func TestAppFlagsPackagesPropagation(t *testing.T) { // Test that dexpreopt is disabled if an optional_uses_libs exists, but does not provide an implementation. func TestNoDexpreoptOptionalUsesLibDoesNotHaveImpl(t *testing.T) { + t.Parallel() bp := ` java_sdk_library_import { name: "sdklib_noimpl", @@ -4660,6 +4747,7 @@ func TestTestConfigTemplate(t *testing.T) { } func TestAppStem(t *testing.T) { + t.Parallel() ctx := testApp(t, ` android_app { name: "foo", @@ -4677,6 +4765,7 @@ func TestAppStem(t *testing.T) { } func TestAppMinSdkVersionOverride(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` @@ -4710,6 +4799,7 @@ func TestAppMinSdkVersionOverride(t *testing.T) { } func TestNotApplyDefaultUpdatableModuleVersion(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` @@ -4729,6 +4819,7 @@ func TestNotApplyDefaultUpdatableModuleVersion(t *testing.T) { } func TestNotApplyOverrideApexManifestDefaultVersion(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureMergeEnv(map[string]string{ @@ -4751,6 +4842,7 @@ func TestNotApplyOverrideApexManifestDefaultVersion(t *testing.T) { } func TestResourcesWithFlagDirectories(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureMergeMockFs(android.MockFS{ @@ -4855,17 +4947,20 @@ override_android_app { }, } for _, tc := range testCases { - result := android.GroupFixturePreparers( - PrepareForTestWithJavaDefaultModules, - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - variables.EnforceRROTargets = []string{"*"} - }), - android.OptionalFixturePreparer(tc.preparer), - ).RunTestWithBp(t, bp) - vendorOverlayApk := result.ModuleForTests("foo__test_product__auto_generated_rro_vendor", "android_arm64_armv8-a").MaybeOutput("foo__test_product__auto_generated_rro_vendor.apk") - android.AssertBoolEquals(t, tc.desc, tc.overlayApkExpected, vendorOverlayApk.Rule != nil) - overrideVendorOverlayApk := result.ModuleForTests("override_foo__test_product__auto_generated_rro_vendor", "android_arm64_armv8-a").MaybeOutput("override_foo__test_product__auto_generated_rro_vendor.apk") - android.AssertBoolEquals(t, tc.desc, tc.overlayApkExpected, overrideVendorOverlayApk.Rule != nil) + t.Run(tc.desc, func(t *testing.T) { + t.Parallel() + result := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + variables.EnforceRROTargets = []string{"*"} + }), + android.OptionalFixturePreparer(tc.preparer), + ).RunTestWithBp(t, bp) + vendorOverlayApk := result.ModuleForTests("foo__test_product__auto_generated_rro_vendor", "android_arm64_armv8-a").MaybeOutput("foo__test_product__auto_generated_rro_vendor.apk") + android.AssertBoolEquals(t, tc.desc, tc.overlayApkExpected, vendorOverlayApk.Rule != nil) + overrideVendorOverlayApk := result.ModuleForTests("override_foo__test_product__auto_generated_rro_vendor", "android_arm64_armv8-a").MaybeOutput("override_foo__test_product__auto_generated_rro_vendor.apk") + android.AssertBoolEquals(t, tc.desc, tc.overlayApkExpected, overrideVendorOverlayApk.Rule != nil) + }) } } @@ -4922,22 +5017,25 @@ my_custom_override_android_app { }, } for _, tc := range testCases { - result := android.GroupFixturePreparers( - PrepareForTestWithJavaDefaultModules, - android.PrepareForTestWithSoongConfigModuleBuildComponents, - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - variables.EnforceRROTargets = []string{"*"} - }), - android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { - variables.DeviceResourceOverlays = []string{"device/company/test_product"} - }), - android.MockFS{ - "res/foo.xml": nil, - "device/company/test_product/res/foo.xml": nil, - }.AddToFixture(), - android.OptionalFixturePreparer(tc.preparer), - ).RunTestWithBp(t, bp) - overrideVendorOverlayApk := result.ModuleForTests("override_foo__test_product__auto_generated_rro_vendor", "android_arm64_armv8-a").Module().(*AutogenRuntimeResourceOverlay) - android.AssertBoolEquals(t, tc.desc, tc.overlayApkExpected, overrideVendorOverlayApk.exportPackage != nil) + t.Run(tc.desc, func(t *testing.T) { + t.Parallel() + result := android.GroupFixturePreparers( + PrepareForTestWithJavaDefaultModules, + android.PrepareForTestWithSoongConfigModuleBuildComponents, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + variables.EnforceRROTargets = []string{"*"} + }), + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + variables.DeviceResourceOverlays = []string{"device/company/test_product"} + }), + android.MockFS{ + "res/foo.xml": nil, + "device/company/test_product/res/foo.xml": nil, + }.AddToFixture(), + android.OptionalFixturePreparer(tc.preparer), + ).RunTestWithBp(t, bp) + overrideVendorOverlayApk := result.ModuleForTests("override_foo__test_product__auto_generated_rro_vendor", "android_arm64_armv8-a").Module().(*AutogenRuntimeResourceOverlay) + android.AssertBoolEquals(t, tc.desc, tc.overlayApkExpected, overrideVendorOverlayApk.exportPackage != nil) + }) } } diff --git a/java/bootclasspath_fragment_test.go b/java/bootclasspath_fragment_test.go index 3aa1258a3..d181ce060 100644 --- a/java/bootclasspath_fragment_test.go +++ b/java/bootclasspath_fragment_test.go @@ -31,6 +31,7 @@ var prepareForTestWithBootclasspathFragment = android.GroupFixturePreparers( ) func TestBootclasspathFragment_UnknownImageName(t *testing.T) { + t.Parallel() prepareForTestWithBootclasspathFragment. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern( `\Qimage_name: unknown image name "unknown", expected "art"\E`)). @@ -50,6 +51,7 @@ func TestBootclasspathFragment_UnknownImageName(t *testing.T) { } func TestPrebuiltBootclasspathFragment_UnknownImageName(t *testing.T) { + t.Parallel() prepareForTestWithBootclasspathFragment. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern( `\Qimage_name: unknown image name "unknown", expected "art"\E`)). @@ -68,6 +70,7 @@ func TestPrebuiltBootclasspathFragment_UnknownImageName(t *testing.T) { } func TestBootclasspathFragmentInconsistentArtConfiguration_Platform(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForTestWithBootclasspathFragment, dexpreopt.FixtureSetArtBootJars("platform:foo", "apex:bar"), @@ -99,6 +102,7 @@ func TestBootclasspathFragmentInconsistentArtConfiguration_Platform(t *testing.T } func TestBootclasspathFragmentInconsistentArtConfiguration_ApexMixture(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForTestWithBootclasspathFragment, dexpreopt.FixtureSetArtBootJars("apex1:foo", "apex2:bar"), @@ -131,6 +135,7 @@ func TestBootclasspathFragmentInconsistentArtConfiguration_ApexMixture(t *testin } func TestBootclasspathFragment_Coverage(t *testing.T) { + t.Parallel() prepareWithBp := android.FixtureWithRootAndroidBp(` bootclasspath_fragment { name: "myfragment", @@ -204,11 +209,13 @@ func TestBootclasspathFragment_Coverage(t *testing.T) { ) t.Run("without coverage", func(t *testing.T) { + t.Parallel() result := preparer.RunTest(t) checkContents(t, result, "mybootlib") }) t.Run("with coverage", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForTestWithFrameworkJacocoInstrumentation, preparer, diff --git a/java/container_test.go b/java/container_test.go index 25cfa4c7e..515236d7d 100644 --- a/java/container_test.go +++ b/java/container_test.go @@ -26,6 +26,7 @@ var checkContainerMatch = func(t *testing.T, name string, container string, expe } func TestJavaContainersModuleProperties(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, ).RunTestWithBp(t, ` diff --git a/java/device_host_converter_test.go b/java/device_host_converter_test.go index 6ccc5c1b1..45369e2d6 100644 --- a/java/device_host_converter_test.go +++ b/java/device_host_converter_test.go @@ -22,6 +22,7 @@ import ( ) func TestDeviceForHost(t *testing.T) { + t.Parallel() bp := ` java_library { name: "device_module", @@ -102,6 +103,7 @@ func TestDeviceForHost(t *testing.T) { } func TestHostForDevice(t *testing.T) { + t.Parallel() bp := ` java_library_host { name: "host_module", diff --git a/java/dex_test.go b/java/dex_test.go index 8bc28e678..f261066df 100644 --- a/java/dex_test.go +++ b/java/dex_test.go @@ -24,6 +24,7 @@ import ( ) func TestR8(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, ` android_app { name: "app", @@ -91,6 +92,7 @@ func TestR8(t *testing.T) { } func TestR8TransitiveDeps(t *testing.T) { + t.Parallel() bp := ` override_android_app { name: "override_app", @@ -192,6 +194,7 @@ func TestR8TransitiveDeps(t *testing.T) { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() fixturePreparer := PrepareForTestWithJavaDefaultModules if tc.unbundled { fixturePreparer = android.GroupFixturePreparers( @@ -259,6 +262,7 @@ func TestR8TransitiveDeps(t *testing.T) { } func TestR8Flags(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, ` android_app { name: "app", @@ -288,6 +292,7 @@ func TestR8Flags(t *testing.T) { } func TestD8(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, ` java_library { name: "foo", @@ -329,6 +334,7 @@ func TestD8(t *testing.T) { } func TestProguardFlagsInheritanceStatic(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, ` android_app { name: "app", @@ -383,6 +389,7 @@ func TestProguardFlagsInheritanceStatic(t *testing.T) { } func TestProguardFlagsInheritance(t *testing.T) { + t.Parallel() directDepFlagsFileName := "direct_dep.flags" transitiveDepFlagsFileName := "transitive_dep.flags" @@ -601,6 +608,7 @@ func TestProguardFlagsInheritance(t *testing.T) { for _, topLevelModuleDef := range topLevelModules { for _, tc := range testcases { t.Run(topLevelModuleDef.name+"-"+tc.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureMergeMockFs(android.MockFS{ @@ -642,6 +650,7 @@ func TestProguardFlagsInheritance(t *testing.T) { } func TestProguardFlagsInheritanceAppImport(t *testing.T) { + t.Parallel() bp := ` android_app { name: "app", @@ -664,6 +673,7 @@ func TestProguardFlagsInheritanceAppImport(t *testing.T) { } func TestR8FlagsArtProfile(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaDefaultModules.RunTestWithBp(t, ` android_app { name: "app", @@ -696,6 +706,7 @@ func TestR8FlagsArtProfile(t *testing.T) { // // The rewritten profile should be used since the dex signatures in the checked-in profile will not match the optimized binary. func TestEnableProfileRewritingIsRequiredForOptimizedApps(t *testing.T) { + t.Parallel() testJavaError(t, "Enable_profile_rewriting must be true when profile_guided dexpreopt and R8 optimization/obfuscation is turned on", ` @@ -715,6 +726,7 @@ android_app { } func TestDebugReleaseFlags(t *testing.T) { + t.Parallel() bp := ` android_app { name: "app", @@ -771,6 +783,7 @@ func TestDebugReleaseFlags(t *testing.T) { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() fixturePreparer := PrepareForTestWithJavaDefaultModules fixturePreparer = android.GroupFixturePreparers( fixturePreparer, diff --git a/java/dexpreopt_config_test.go b/java/dexpreopt_config_test.go index 44d2127fd..99b1f231f 100644 --- a/java/dexpreopt_config_test.go +++ b/java/dexpreopt_config_test.go @@ -23,6 +23,7 @@ import ( ) func TestBootImageConfig(t *testing.T) { + t.Parallel() if runtime.GOOS != "linux" { t.Skipf("Skipping as boot image config test is only supported on linux not %s", runtime.GOOS) } diff --git a/java/dexpreopt_config_testing.go b/java/dexpreopt_config_testing.go index 33c682bfa..fbdb7b028 100644 --- a/java/dexpreopt_config_testing.go +++ b/java/dexpreopt_config_testing.go @@ -1217,6 +1217,7 @@ func checkBootImageConfig(t *testing.T, result *android.TestResult, imageConfig } t.Run(imageConfig.name, func(t *testing.T) { + t.Parallel() nestedCheckBootImageConfig(t, result, imageConfig, mutated, expected) }) } @@ -1246,6 +1247,7 @@ func nestedCheckBootImageConfig(t *testing.T, result *android.TestResult, imageC for i, variant := range imageConfig.variants { expectedVariant := expected.variants[i] t.Run(variant.target.Arch.ArchType.String(), func(t *testing.T) { + t.Parallel() android.AssertDeepEquals(t, "archType", expectedVariant.archType, variant.target.Arch.ArchType) android.AssertDeepEquals(t, "dexLocations", expectedVariant.dexLocations, variant.dexLocations) android.AssertDeepEquals(t, "dexLocationsDeps", expectedVariant.dexLocationsDeps, variant.dexLocationsDeps) diff --git a/java/dexpreopt_test.go b/java/dexpreopt_test.go index 207ff65b3..53a0d71fd 100644 --- a/java/dexpreopt_test.go +++ b/java/dexpreopt_test.go @@ -30,6 +30,7 @@ func init() { } func TestDexpreoptEnabled(t *testing.T) { + t.Parallel() tests := []struct { name string bp string @@ -219,6 +220,7 @@ func TestDexpreoptEnabled(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { + t.Parallel() preparers := android.GroupFixturePreparers( PrepareForTestWithDexpreopt, PrepareForTestWithFakeApexMutator, @@ -258,6 +260,7 @@ func enabledString(enabled bool) string { } func TestDex2oatToolDeps(t *testing.T) { + t.Parallel() if runtime.GOOS != "linux" { // The host binary paths checked below are build OS dependent. t.Skipf("Unsupported build OS %s", runtime.GOOS) @@ -273,6 +276,7 @@ func TestDex2oatToolDeps(t *testing.T) { name := fmt.Sprintf("sourceEnabled:%t,prebuiltEnabled:%t,prebuiltPreferred:%t", sourceEnabled, prebuiltEnabled, prebuiltPreferred) t.Run(name, func(t *testing.T) { + t.Parallel() result := preparers.RunTestWithBp(t, fmt.Sprintf(` cc_binary { name: "dex2oatd", diff --git a/java/droiddoc_test.go b/java/droiddoc_test.go index 9e1ebbed0..2256f1e23 100644 --- a/java/droiddoc_test.go +++ b/java/droiddoc_test.go @@ -23,6 +23,7 @@ import ( ) func TestDroiddoc(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` droiddoc_exported_dir { name: "droiddoc-templates-sdk", @@ -97,6 +98,7 @@ func TestDroiddoc(t *testing.T) { } func TestDroiddocArgsAndFlagsCausesError(t *testing.T) { + t.Parallel() testJavaError(t, "flags is set. Cannot set args", ` droiddoc_exported_dir { name: "droiddoc-templates-sdk", diff --git a/java/droidstubs_test.go b/java/droidstubs_test.go index 75a0a3175..faa9a1539 100644 --- a/java/droidstubs_test.go +++ b/java/droidstubs_test.go @@ -27,6 +27,7 @@ import ( ) func TestDroidstubs(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` droiddoc_exported_dir { name: "droiddoc-templates-sdk", @@ -139,6 +140,7 @@ func getAndroidJarPatternsForDroidstubs(t *testing.T, sdkType string) []string { } func TestPublicDroidstubs(t *testing.T) { + t.Parallel() patterns := getAndroidJarPatternsForDroidstubs(t, "public") android.AssertArrayString(t, "order of patterns", []string{ @@ -148,6 +150,7 @@ func TestPublicDroidstubs(t *testing.T) { } func TestSystemDroidstubs(t *testing.T) { + t.Parallel() patterns := getAndroidJarPatternsForDroidstubs(t, "system") android.AssertArrayString(t, "order of patterns", []string{ @@ -159,6 +162,7 @@ func TestSystemDroidstubs(t *testing.T) { } func TestModuleLibDroidstubs(t *testing.T) { + t.Parallel() patterns := getAndroidJarPatternsForDroidstubs(t, "module-lib") android.AssertArrayString(t, "order of patterns", []string{ diff --git a/java/fuzz_test.go b/java/fuzz_test.go index f29c91327..40adae0cb 100644 --- a/java/fuzz_test.go +++ b/java/fuzz_test.go @@ -30,6 +30,7 @@ var prepForJavaFuzzTest = android.GroupFixturePreparers( ) func TestJavaFuzz(t *testing.T) { + t.Parallel() result := prepForJavaFuzzTest.RunTestWithBp(t, ` java_fuzz { name: "foo", diff --git a/java/generated_java_library_test.go b/java/generated_java_library_test.go index a5c4be111..7efd54b39 100644 --- a/java/generated_java_library_test.go +++ b/java/generated_java_library_test.go @@ -52,6 +52,7 @@ func testGenLib(t *testing.T, errorHandler android.FixtureErrorHandler, bp strin } func TestGenLib(t *testing.T) { + t.Parallel() bp := ` test_java_gen_lib { name: "javagenlibtest", diff --git a/java/genrule_test.go b/java/genrule_test.go index 1c294b286..b4e9d218d 100644 --- a/java/genrule_test.go +++ b/java/genrule_test.go @@ -31,6 +31,7 @@ func testGenruleContext(config android.Config) *android.TestContext { } func TestGenruleCmd(t *testing.T) { + t.Parallel() fs := map[string][]byte{ "tool": nil, "foo": nil, @@ -64,6 +65,7 @@ func TestGenruleCmd(t *testing.T) { } func TestJarGenrules(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", diff --git a/java/hiddenapi_singleton_test.go b/java/hiddenapi_singleton_test.go index afe8b4c8e..c14fdb7bb 100644 --- a/java/hiddenapi_singleton_test.go +++ b/java/hiddenapi_singleton_test.go @@ -44,6 +44,7 @@ var hiddenApiFixtureFactory = android.GroupFixturePreparers( ) func TestHiddenAPISingleton(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( hiddenApiFixtureFactory, FixtureConfigureBootJars("platform:foo"), @@ -63,6 +64,7 @@ func TestHiddenAPISingleton(t *testing.T) { } func TestHiddenAPISingletonWithSourceAndPrebuiltPreferredButNoDex(t *testing.T) { + t.Parallel() expectedErrorMessage := "module prebuilt_foo{os:android,arch:common} does not provide a dex jar" android.GroupFixturePreparers( @@ -86,6 +88,7 @@ func TestHiddenAPISingletonWithSourceAndPrebuiltPreferredButNoDex(t *testing.T) } func TestHiddenAPISingletonWithPrebuilt(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( hiddenApiFixtureFactory, FixtureConfigureBootJars("platform:foo"), @@ -105,6 +108,7 @@ func TestHiddenAPISingletonWithPrebuilt(t *testing.T) { } func TestHiddenAPISingletonWithPrebuiltUseSource(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( hiddenApiFixtureFactory, FixtureConfigureBootJars("platform:foo"), @@ -134,6 +138,7 @@ func TestHiddenAPISingletonWithPrebuiltUseSource(t *testing.T) { } func TestHiddenAPISingletonWithPrebuiltOverrideSource(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( hiddenApiFixtureFactory, FixtureConfigureBootJars("platform:foo"), @@ -163,6 +168,7 @@ func TestHiddenAPISingletonWithPrebuiltOverrideSource(t *testing.T) { } func TestHiddenAPISingletonSdks(t *testing.T) { + t.Parallel() testCases := []struct { name string unbundledBuild bool @@ -246,6 +252,7 @@ func generateSdkDexPath(module string, unbundled bool) string { } func TestHiddenAPISingletonWithPrebuiltCsvFile(t *testing.T) { + t.Parallel() // The idea behind this test is to ensure that when the build is // confugured with a PrebuiltHiddenApiDir that the rules for the @@ -289,6 +296,7 @@ func TestHiddenAPISingletonWithPrebuiltCsvFile(t *testing.T) { } func TestHiddenAPIEncoding_JavaSdkLibrary(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( hiddenApiFixtureFactory, @@ -324,10 +332,7 @@ func TestHiddenAPIEncoding_JavaSdkLibrary(t *testing.T) { android.AssertPathRelativeToTopEquals(t, "encode embedded java_library", encodedDexJar, exportedDexJar) } - // The java_library embedded with the java_sdk_library must be dex encoded. - t.Run("foo", func(t *testing.T) { - expectedUnencodedDexJar := "out/soong/.intermediates/foo.impl/android_common/aligned/foo.jar" - expectedEncodedDexJar := "out/soong/.intermediates/foo.impl/android_common/hiddenapi/foo.jar" - checkDexEncoded(t, "foo", expectedUnencodedDexJar, expectedEncodedDexJar) - }) + expectedUnencodedDexJar := "out/soong/.intermediates/foo.impl/android_common/aligned/foo.jar" + expectedEncodedDexJar := "out/soong/.intermediates/foo.impl/android_common/hiddenapi/foo.jar" + checkDexEncoded(t, "foo", expectedUnencodedDexJar, expectedEncodedDexJar) } diff --git a/java/jacoco_test.go b/java/jacoco_test.go index 1882908ca..58a091e4c 100644 --- a/java/jacoco_test.go +++ b/java/jacoco_test.go @@ -17,6 +17,7 @@ package java import "testing" func TestJacocoFilterToSpecs(t *testing.T) { + t.Parallel() testCases := []struct { name, in, out string }{ @@ -54,6 +55,7 @@ func TestJacocoFilterToSpecs(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { + t.Parallel() got, err := jacocoFilterToSpec(testCase.in) if err != nil { t.Error(err) @@ -66,6 +68,7 @@ func TestJacocoFilterToSpecs(t *testing.T) { } func TestJacocoFiltersToZipCommand(t *testing.T) { + t.Parallel() testCases := []struct { name string includes, excludes []string @@ -96,6 +99,7 @@ func TestJacocoFiltersToZipCommand(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { + t.Parallel() got := jacocoFiltersToZipCommand(testCase.includes, testCase.excludes) if got != testCase.out { t.Errorf("expected %q got %q", testCase.out, got) diff --git a/java/java_test.go b/java/java_test.go index d415679bd..edb0d7251 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -117,6 +117,7 @@ func defaultModuleToPath(name string) string { // Test that the PrepareForTestWithJavaDefaultModules provides all the files that it uses by // running it in a fixture that requires all source files to exist. func TestPrepareForTestWithJavaDefaultModules(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.PrepareForTestDisallowNonExistentPaths, @@ -124,6 +125,7 @@ func TestPrepareForTestWithJavaDefaultModules(t *testing.T) { } func TestJavaLinkType(t *testing.T) { + t.Parallel() testJava(t, ` java_library { name: "foo", @@ -212,6 +214,7 @@ func TestJavaLinkType(t *testing.T) { } func TestSimple(t *testing.T) { + t.Parallel() bp := ` java_library { name: "foo", @@ -341,6 +344,7 @@ func TestSimple(t *testing.T) { for _, tt := range testCases { t.Run(tt.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, tt.preparer, @@ -378,6 +382,7 @@ func TestSimple(t *testing.T) { } func TestExportedPlugins(t *testing.T) { + t.Parallel() type Result struct { library string processors string @@ -456,6 +461,7 @@ func TestExportedPlugins(t *testing.T) { for _, test := range tests { t.Run(test.name, func(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_plugin { name: "plugin", @@ -484,6 +490,7 @@ func TestExportedPlugins(t *testing.T) { } func TestSdkVersionByPartition(t *testing.T) { + t.Parallel() testJavaError(t, "sdk_version must have a value when the module is located at vendor or product", ` java_library { name: "foo", @@ -525,6 +532,7 @@ func TestSdkVersionByPartition(t *testing.T) { } func TestArchSpecific(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -544,6 +552,7 @@ func TestArchSpecific(t *testing.T) { } func TestBinary(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library_host { name: "foo", @@ -586,6 +595,7 @@ func TestBinary(t *testing.T) { } func TestTest(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_test_host { name: "foo", @@ -618,6 +628,7 @@ func TestTest(t *testing.T) { } func TestHostBinaryNoJavaDebugInfoOverride(t *testing.T) { + t.Parallel() bp := ` java_library { name: "target_library", @@ -665,6 +676,7 @@ func (ctx moduleErrorfTestCtx) ModuleErrorf(format string, args ...interface{}) var _ android.ModuleErrorfContext = (*moduleErrorfTestCtx)(nil) func TestPrebuilts(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -765,6 +777,7 @@ func assertDeepEquals(t *testing.T, message string, expected interface{}, actual } func TestPrebuiltStubsSources(t *testing.T) { + t.Parallel() test := func(t *testing.T, sourcesPath string, expectedInputs []string) { ctx, _ := testJavaWithFS(t, fmt.Sprintf(` prebuilt_stubs_sources { @@ -782,10 +795,12 @@ prebuilt_stubs_sources { } t.Run("empty/missing directory", func(t *testing.T) { + t.Parallel() test(t, "empty-directory", nil) }) t.Run("non-empty set of sources", func(t *testing.T) { + t.Parallel() test(t, "stubs/sources", []string{ "stubs/sources/pkg/A.java", "stubs/sources/pkg/B.java", @@ -794,6 +809,7 @@ prebuilt_stubs_sources { } func TestDefaults(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_defaults { name: "defaults", @@ -869,6 +885,7 @@ func TestDefaults(t *testing.T) { } func TestResources(t *testing.T) { + t.Parallel() var table = []struct { name string prop string @@ -940,6 +957,7 @@ func TestResources(t *testing.T) { for _, test := range table { t.Run(test.name, func(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` java_library { name: "foo", @@ -975,6 +993,7 @@ func TestResources(t *testing.T) { } func TestIncludeSrcs(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` java_library { name: "foo", @@ -1042,6 +1061,7 @@ func TestIncludeSrcs(t *testing.T) { } func TestGeneratedSources(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` java_library { name: "foo", @@ -1078,6 +1098,7 @@ func TestGeneratedSources(t *testing.T) { } func TestTurbine(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, FixtureWithPrebuiltApis(map[string][]string{"14": {"foo"}})). RunTestWithBp(t, ` @@ -1119,6 +1140,7 @@ func TestTurbine(t *testing.T) { } func TestSharding(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "bar", @@ -1137,6 +1159,7 @@ func TestSharding(t *testing.T) { } func TestExcludeFileGroupInSrcs(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -1163,6 +1186,7 @@ func TestExcludeFileGroupInSrcs(t *testing.T) { } func TestJavaLibraryOutputFiles(t *testing.T) { + t.Parallel() testJavaWithFS(t, "", map[string][]byte{ "libcore/Android.bp": []byte(` java_library { @@ -1180,6 +1204,7 @@ func TestJavaLibraryOutputFiles(t *testing.T) { } func TestJavaImportOutputFiles(t *testing.T) { + t.Parallel() testJavaWithFS(t, "", map[string][]byte{ "libcore/Android.bp": []byte(` java_import { @@ -1196,6 +1221,7 @@ func TestJavaImportOutputFiles(t *testing.T) { } func TestJavaImport(t *testing.T) { + t.Parallel() bp := ` java_library { name: "source_library", @@ -1323,6 +1349,7 @@ func (ctx *mockContext) PropertyErrorf(property, format string, args ...interfac } func TestCompilerFlags(t *testing.T) { + t.Parallel() for _, testCase := range compilerFlagsTestCases { ctx := &mockContext{result: true} CheckKotlincFlags(ctx, []string{testCase.in}) @@ -1353,7 +1380,9 @@ func checkPatchModuleFlag(t *testing.T, ctx *android.TestContext, moduleName str } func TestPatchModule(t *testing.T) { + t.Parallel() t.Run("Java language level 8", func(t *testing.T) { + t.Parallel() // Test with legacy javac -source 1.8 -target 1.8 bp := ` java_library { @@ -1386,6 +1415,7 @@ func TestPatchModule(t *testing.T) { }) t.Run("Java language level 9", func(t *testing.T) { + t.Parallel() // Test with default javac -source 9 -target 9 bp := ` java_library { @@ -1426,6 +1456,7 @@ func TestPatchModule(t *testing.T) { } func TestJavaLibraryWithSystemModules(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "lib-with-source-system-modules", @@ -1482,6 +1513,7 @@ func checkBootClasspathForLibWithSystemModule(t *testing.T, ctx *android.TestCon } func TestAidlExportIncludeDirsFromImports(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -1506,6 +1538,7 @@ func TestAidlExportIncludeDirsFromImports(t *testing.T) { } func TestAidlFlagsArePassedToTheAidlCompiler(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -1522,6 +1555,7 @@ func TestAidlFlagsArePassedToTheAidlCompiler(t *testing.T) { } func TestAidlFlagsWithMinSdkVersion(t *testing.T) { + t.Parallel() fixture := android.GroupFixturePreparers( prepareForJavaTest, FixtureWithPrebuiltApis(map[string][]string{"14": {"foo"}})) @@ -1535,6 +1569,7 @@ func TestAidlFlagsWithMinSdkVersion(t *testing.T) { {"system_current", `sdk_version: "system_current"`, "current"}, } { t.Run(tc.name, func(t *testing.T) { + t.Parallel() ctx := fixture.RunTestWithBp(t, ` java_library { name: "foo", @@ -1552,6 +1587,7 @@ func TestAidlFlagsWithMinSdkVersion(t *testing.T) { } func TestAidlFlagsMinSdkVersionDroidstubs(t *testing.T) { + t.Parallel() bpTemplate := ` droidstubs { name: "foo-stubs", @@ -1585,6 +1621,7 @@ func TestAidlFlagsMinSdkVersionDroidstubs(t *testing.T) { } func TestAidlEnforcePermissions(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -1601,6 +1638,7 @@ func TestAidlEnforcePermissions(t *testing.T) { } func TestAidlEnforcePermissionsException(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -1621,6 +1659,7 @@ func TestAidlEnforcePermissionsException(t *testing.T) { } func TestDataNativeBinaries(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( prepareForJavaTest, android.PrepareForTestWithAllowMissingDependencies).RunTestWithBp(t, ` @@ -1646,6 +1685,7 @@ func TestDataNativeBinaries(t *testing.T) { } func TestDefaultInstallable(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_test_host { name: "foo" @@ -1659,6 +1699,7 @@ func TestDefaultInstallable(t *testing.T) { } func TestErrorproneEnabled(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -1687,6 +1728,7 @@ func TestErrorproneEnabled(t *testing.T) { } func TestErrorproneDisabled(t *testing.T) { + t.Parallel() bp := ` java_library { name: "foo", @@ -1721,6 +1763,7 @@ func TestErrorproneDisabled(t *testing.T) { } func TestErrorproneEnabledOnlyByEnvironmentVariable(t *testing.T) { + t.Parallel() bp := ` java_library { name: "foo", @@ -1751,6 +1794,7 @@ func TestErrorproneEnabledOnlyByEnvironmentVariable(t *testing.T) { } func TestDataDeviceBinsBuildsDeviceBinary(t *testing.T) { + t.Parallel() testCases := []struct { dataDeviceBinType string depCompileMultilib string @@ -1887,6 +1931,7 @@ func TestDataDeviceBinsBuildsDeviceBinary(t *testing.T) { testName := fmt.Sprintf(`data_device_bins_%s with compile_multilib:"%s"`, tc.dataDeviceBinType, tc.depCompileMultilib) t.Run(testName, func(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers(PrepareForIntegrationTestWithJava). ExtendWithErrorHandler(errorHandler). RunTestWithBp(t, bp) @@ -1922,6 +1967,7 @@ func TestDataDeviceBinsBuildsDeviceBinary(t *testing.T) { } func TestDeviceBinaryWrapperGeneration(t *testing.T) { + t.Parallel() // Scenario 1: java_binary has main_class property in its bp ctx, _ := testJava(t, ` java_binary { @@ -1945,6 +1991,7 @@ func TestDeviceBinaryWrapperGeneration(t *testing.T) { } func TestJavaApiContributionEmptyApiFile(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, android.FixtureMergeEnv( @@ -1968,6 +2015,7 @@ func TestJavaApiContributionEmptyApiFile(t *testing.T) { } func TestJavaApiLibraryAndProviderLink(t *testing.T) { + t.Parallel() provider_bp_a := ` java_api_contribution { name: "foo1", @@ -2034,6 +2082,7 @@ func TestJavaApiLibraryAndProviderLink(t *testing.T) { } func TestJavaApiLibraryAndDefaultsLink(t *testing.T) { + t.Parallel() provider_bp_a := ` java_api_contribution { name: "foo1", @@ -2142,6 +2191,7 @@ func TestJavaApiLibraryAndDefaultsLink(t *testing.T) { } func TestJavaApiLibraryJarGeneration(t *testing.T) { + t.Parallel() provider_bp_a := ` java_api_contribution { name: "foo1", @@ -2208,6 +2258,7 @@ func TestJavaApiLibraryJarGeneration(t *testing.T) { } func TestJavaApiLibraryLibsLink(t *testing.T) { + t.Parallel() provider_bp_a := ` java_api_contribution { name: "foo1", @@ -2296,6 +2347,7 @@ func TestJavaApiLibraryLibsLink(t *testing.T) { } func TestJavaApiLibraryStaticLibsLink(t *testing.T) { + t.Parallel() provider_bp_a := ` java_api_contribution { name: "foo1", @@ -2383,6 +2435,7 @@ func TestJavaApiLibraryStaticLibsLink(t *testing.T) { } func TestTransitiveSrcFiles(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "a", @@ -2406,6 +2459,7 @@ func TestTransitiveSrcFiles(t *testing.T) { } func TestTradefedOptions(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaBuildComponents.RunTestWithBp(t, ` java_test_host { name: "foo", @@ -2430,6 +2484,7 @@ java_test_host { } func TestTestRunnerOptions(t *testing.T) { + t.Parallel() result := PrepareForTestWithJavaBuildComponents.RunTestWithBp(t, ` java_test_host { name: "foo", @@ -2454,6 +2509,7 @@ java_test_host { } func TestJavaLibraryWithResourcesStem(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` java_library { name: "foo", @@ -2473,6 +2529,7 @@ func TestJavaLibraryWithResourcesStem(t *testing.T) { } func TestHeadersOnly(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -2491,6 +2548,7 @@ func TestHeadersOnly(t *testing.T) { } func TestJavaApiContributionImport(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( prepareForJavaTest, android.FixtureMergeEnv( @@ -2519,6 +2577,7 @@ func TestJavaApiContributionImport(t *testing.T) { } func TestJavaApiLibraryApiFilesSorting(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_api_library { name: "foo", @@ -2547,6 +2606,7 @@ func TestJavaApiLibraryApiFilesSorting(t *testing.T) { } func TestSdkLibraryProvidesSystemModulesToApiLibrary(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -2576,6 +2636,7 @@ func TestSdkLibraryProvidesSystemModulesToApiLibrary(t *testing.T) { } func TestApiLibraryDroidstubsDependency(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -2622,6 +2683,7 @@ func TestApiLibraryDroidstubsDependency(t *testing.T) { } func TestDisableFromTextStubForCoverageBuild(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -2651,6 +2713,7 @@ func TestDisableFromTextStubForCoverageBuild(t *testing.T) { } func TestMultiplePrebuilts(t *testing.T) { + t.Parallel() bp := ` // an rdep java_library { @@ -2749,6 +2812,7 @@ func TestMultiplePrebuilts(t *testing.T) { } func TestMultiplePlatformCompatConfigPrebuilts(t *testing.T) { + t.Parallel() bp := ` // multiple variations of platform_compat_config // source @@ -2809,6 +2873,7 @@ func TestMultiplePlatformCompatConfigPrebuilts(t *testing.T) { } func TestApiLibraryAconfigDeclarations(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { @@ -2919,6 +2984,7 @@ func TestTestOnly(t *testing.T) { // Don't allow setting test-only on things that are always tests or never tests. func TestInvalidTestOnlyTargets(t *testing.T) { + t.Parallel() testCases := []string{ ` java_test { name: "java-test", test_only: true, srcs: ["foo.java"], } `, ` java_test_host { name: "java-test-host", test_only: true, srcs: ["foo.java"], } `, @@ -2954,6 +3020,7 @@ func expectOneError(expected string, msg string) android.FixtureErrorHandler { } func TestJavaLibHostWithStem(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library_host { name: "foo", @@ -2972,6 +3039,7 @@ func TestJavaLibHostWithStem(t *testing.T) { } func TestJavaLibWithStem(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -2989,6 +3057,7 @@ func TestJavaLibWithStem(t *testing.T) { } func TestJavaLibraryOutputFilesRel(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` @@ -3034,6 +3103,7 @@ func TestJavaLibraryOutputFilesRel(t *testing.T) { } func TestCoverage(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, prepareForTestWithFrameworkJacocoInstrumentation, @@ -3104,6 +3174,7 @@ func assertTestOnlyAndTopLevel(t *testing.T, ctx *android.TestResult, expectedTe // Test that a dependency edge is created to the matching variant of a native library listed in `jni_libs` of java_binary func TestNativeRequiredDepOfJavaBinary(t *testing.T) { + t.Parallel() findDepsOfModule := func(ctx *android.TestContext, module android.Module, depName string) []blueprint.Module { var ret []blueprint.Module ctx.VisitDirectDeps(module, func(dep blueprint.Module) { diff --git a/java/jdeps_test.go b/java/jdeps_test.go index 143500004..2cbf75bc7 100644 --- a/java/jdeps_test.go +++ b/java/jdeps_test.go @@ -22,6 +22,7 @@ import ( ) func TestCollectJavaLibraryPropertiesAddLibsDeps(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library {name: "Foo"} @@ -42,6 +43,7 @@ func TestCollectJavaLibraryPropertiesAddLibsDeps(t *testing.T) { } func TestCollectJavaLibraryPropertiesAddStaticLibsDeps(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library {name: "Foo"} @@ -62,6 +64,7 @@ func TestCollectJavaLibraryPropertiesAddStaticLibsDeps(t *testing.T) { } func TestCollectJavaLibraryPropertiesAddScrs(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { @@ -79,6 +82,7 @@ func TestCollectJavaLibraryPropertiesAddScrs(t *testing.T) { } func TestCollectJavaLibraryPropertiesAddAidlIncludeDirs(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { @@ -98,6 +102,7 @@ func TestCollectJavaLibraryPropertiesAddAidlIncludeDirs(t *testing.T) { } func TestCollectJavaLibraryWithJarJarRules(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { @@ -117,6 +122,7 @@ func TestCollectJavaLibraryWithJarJarRules(t *testing.T) { } func TestCollectJavaLibraryLinkingAgainstVersionedSdk(t *testing.T) { + t.Parallel() ctx := android.GroupFixturePreparers( prepareForJavaTest, FixtureWithPrebuiltApis(map[string][]string{ diff --git a/java/kotlin_test.go b/java/kotlin_test.go index ad8734d62..3a203358a 100644 --- a/java/kotlin_test.go +++ b/java/kotlin_test.go @@ -24,6 +24,7 @@ import ( ) func TestKotlin(t *testing.T) { + t.Parallel() bp := ` java_library { name: "foo", @@ -234,6 +235,7 @@ func TestKotlin(t *testing.T) { for _, tt := range testCases { t.Run(tt.name, func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, tt.preparer, @@ -275,6 +277,7 @@ func TestKotlin(t *testing.T) { } func TestKapt(t *testing.T) { + t.Parallel() bp := ` java_library { name: "foo", @@ -303,6 +306,7 @@ func TestKapt(t *testing.T) { } ` t.Run("", func(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, bp) buildOS := ctx.Config().BuildOS.String() @@ -384,6 +388,7 @@ func TestKapt(t *testing.T) { }) t.Run("errorprone", func(t *testing.T) { + t.Parallel() env := map[string]string{ "RUN_ERROR_PRONE": "true", } @@ -434,6 +439,7 @@ func TestKapt(t *testing.T) { } func TestKaptEncodeFlags(t *testing.T) { + t.Parallel() // Compares the kaptEncodeFlags against the results of the example implementation at // https://kotlinlang.org/docs/reference/kapt.html#apjavac-options-encoding tests := []struct { @@ -484,6 +490,7 @@ func TestKaptEncodeFlags(t *testing.T) { for i, test := range tests { t.Run(strconv.Itoa(i), func(t *testing.T) { + t.Parallel() got := kaptEncodeFlags(test.in) if got != test.out { t.Errorf("\nwant %q\n got %q", test.out, got) @@ -493,6 +500,7 @@ func TestKaptEncodeFlags(t *testing.T) { } func TestKotlinCompose(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` @@ -544,6 +552,7 @@ func TestKotlinCompose(t *testing.T) { } func TestKotlinPlugin(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, ).RunTestWithBp(t, ` diff --git a/java/lint_test.go b/java/lint_test.go index 617dc54cd..f7d3229b9 100644 --- a/java/lint_test.go +++ b/java/lint_test.go @@ -22,6 +22,7 @@ import ( ) func TestJavaLintDoesntUseBaselineImplicitly(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` java_library { name: "foo", @@ -46,6 +47,7 @@ func TestJavaLintDoesntUseBaselineImplicitly(t *testing.T) { } func TestJavaLintRequiresCustomLintFileToExist(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.PrepareForTestDisallowNonExistentPaths, @@ -65,6 +67,7 @@ func TestJavaLintRequiresCustomLintFileToExist(t *testing.T) { } func TestJavaLintUsesCorrectBpConfig(t *testing.T) { + t.Parallel() ctx, _ := testJavaWithFS(t, ` java_library { name: "foo", @@ -101,6 +104,7 @@ func TestJavaLintUsesCorrectBpConfig(t *testing.T) { } func TestJavaLintBypassUpdatableChecks(t *testing.T) { + t.Parallel() testCases := []struct { name string bp string @@ -144,6 +148,7 @@ func TestJavaLintBypassUpdatableChecks(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { + t.Parallel() errorHandler := android.FixtureExpectsAtLeastOneErrorMatchingPattern(testCase.error) android.GroupFixturePreparers(PrepareForTestWithJavaDefaultModules). ExtendWithErrorHandler(errorHandler). @@ -153,6 +158,7 @@ func TestJavaLintBypassUpdatableChecks(t *testing.T) { } func TestJavaLintStrictUpdatabilityLinting(t *testing.T) { + t.Parallel() bp := ` java_library { name: "foo", diff --git a/java/platform_bootclasspath_test.go b/java/platform_bootclasspath_test.go index 1f691a019..db8557914 100644 --- a/java/platform_bootclasspath_test.go +++ b/java/platform_bootclasspath_test.go @@ -27,6 +27,7 @@ var prepareForTestWithPlatformBootclasspath = android.GroupFixturePreparers( ) func TestPlatformBootclasspath(t *testing.T) { + t.Parallel() preparer := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath, FixtureConfigureBootJars("platform:foo", "system_ext:bar"), @@ -81,6 +82,7 @@ func TestPlatformBootclasspath(t *testing.T) { `) t.Run("missing", func(t *testing.T) { + t.Parallel() preparer. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(`"platform-bootclasspath" depends on undefined module "foo"`)). RunTest(t) @@ -96,6 +98,7 @@ func TestPlatformBootclasspath(t *testing.T) { android.AssertArrayString(t, "srcjar inputs", expected, srcjar.Implicits.Strings()) } t.Run("source", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( preparer, addSourceBootclassPathModule, @@ -112,6 +115,7 @@ func TestPlatformBootclasspath(t *testing.T) { }) t.Run("prebuilt", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( preparer, addPrebuiltBootclassPathModule, @@ -128,6 +132,7 @@ func TestPlatformBootclasspath(t *testing.T) { }) t.Run("source+prebuilt - source preferred", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( preparer, addSourceBootclassPathModule, @@ -145,6 +150,7 @@ func TestPlatformBootclasspath(t *testing.T) { }) t.Run("source+prebuilt - prebuilt preferred", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( preparer, addSourceBootclassPathModule, @@ -162,6 +168,7 @@ func TestPlatformBootclasspath(t *testing.T) { }) t.Run("dex import", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( preparer, android.FixtureAddTextFile("deximport/Android.bp", ` @@ -184,6 +191,7 @@ func TestPlatformBootclasspath(t *testing.T) { } func TestPlatformBootclasspathVariant(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath, android.FixtureWithRootAndroidBp(` @@ -198,6 +206,7 @@ func TestPlatformBootclasspathVariant(t *testing.T) { } func TestPlatformBootclasspath_ClasspathFragmentPaths(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath, android.FixtureWithRootAndroidBp(` @@ -213,6 +222,7 @@ func TestPlatformBootclasspath_ClasspathFragmentPaths(t *testing.T) { } func TestPlatformBootclasspathModule_AndroidMkEntries(t *testing.T) { + t.Parallel() preparer := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath, android.FixtureWithRootAndroidBp(` @@ -223,6 +233,7 @@ func TestPlatformBootclasspathModule_AndroidMkEntries(t *testing.T) { ) t.Run("AndroidMkEntries", func(t *testing.T) { + t.Parallel() result := preparer.RunTest(t) p := result.Module("platform-bootclasspath", "android_common").(*platformBootclasspathModule) @@ -232,6 +243,7 @@ func TestPlatformBootclasspathModule_AndroidMkEntries(t *testing.T) { }) t.Run("hiddenapi-flags-entry", func(t *testing.T) { + t.Parallel() result := preparer.RunTest(t) p := result.Module("platform-bootclasspath", "android_common").(*platformBootclasspathModule) @@ -243,6 +255,7 @@ func TestPlatformBootclasspathModule_AndroidMkEntries(t *testing.T) { }) t.Run("classpath-fragment-entry", func(t *testing.T) { + t.Parallel() result := preparer.RunTest(t) want := map[string][]string{ @@ -267,6 +280,7 @@ func TestPlatformBootclasspathModule_AndroidMkEntries(t *testing.T) { } func TestPlatformBootclasspath_Dist(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath, FixtureConfigureBootJars("platform:foo", "platform:bar"), @@ -310,6 +324,7 @@ func TestPlatformBootclasspath_Dist(t *testing.T) { } func TestPlatformBootclasspath_HiddenAPIMonolithicFiles(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( hiddenApiFixtureFactory, PrepareForTestWithJavaSdkLibraryFiles, diff --git a/java/platform_compat_config_test.go b/java/platform_compat_config_test.go index f7529a728..72f81e060 100644 --- a/java/platform_compat_config_test.go +++ b/java/platform_compat_config_test.go @@ -21,6 +21,7 @@ import ( ) func TestPlatformCompatConfig(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithPlatformCompatConfig, android.FixtureWithRootAndroidBp(` diff --git a/java/plugin_test.go b/java/plugin_test.go index dc29b1c3e..95f4aca4c 100644 --- a/java/plugin_test.go +++ b/java/plugin_test.go @@ -19,6 +19,7 @@ import ( ) func TestNoPlugin(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -43,6 +44,7 @@ func TestNoPlugin(t *testing.T) { } func TestPlugin(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", @@ -82,6 +84,7 @@ func TestPlugin(t *testing.T) { } func TestPluginGeneratesApi(t *testing.T) { + t.Parallel() ctx, _ := testJava(t, ` java_library { name: "foo", diff --git a/java/prebuilt_apis_test.go b/java/prebuilt_apis_test.go index b6fb2c6bf..c6a5913b0 100644 --- a/java/prebuilt_apis_test.go +++ b/java/prebuilt_apis_test.go @@ -29,6 +29,7 @@ func intPtr(v int) *int { } func TestPrebuiltApis_SystemModulesCreation(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, FixtureWithPrebuiltApis(map[string][]string{ @@ -61,6 +62,7 @@ func TestPrebuiltApis_SystemModulesCreation(t *testing.T) { } func TestPrebuiltApis_WithExtensions(t *testing.T) { + t.Parallel() runTestWithBaseExtensionLevel := func(v int) (foo_input, bar_input, baz_input string) { result := android.GroupFixturePreparers( prepareForJavaTest, @@ -101,6 +103,7 @@ func TestPrebuiltApis_WithExtensions(t *testing.T) { } func TestPrebuiltApis_WithIncrementalApi(t *testing.T) { + t.Parallel() runTestWithIncrementalApi := func() (foo_input, bar_input, baz_input string) { result := android.GroupFixturePreparers( prepareForJavaTest, diff --git a/java/proto_test.go b/java/proto_test.go index d1cb71448..5b184b673 100644 --- a/java/proto_test.go +++ b/java/proto_test.go @@ -28,6 +28,7 @@ java_library_static { ` func TestProtoStream(t *testing.T) { + t.Parallel() bp := ` java_library { name: "java-stream-protos", diff --git a/java/ravenwood_test.go b/java/ravenwood_test.go index f7fe8e30b..ac4f14782 100644 --- a/java/ravenwood_test.go +++ b/java/ravenwood_test.go @@ -103,6 +103,7 @@ var prepareRavenwoodRuntime = android.GroupFixturePreparers( var installPathPrefix = "out/host/linux-x86/testcases" func TestRavenwoodRuntime(t *testing.T) { + t.Parallel() if runtime.GOOS != "linux" { t.Skip("requires linux") } @@ -133,6 +134,7 @@ func TestRavenwoodRuntime(t *testing.T) { } func TestRavenwoodTest(t *testing.T) { + t.Parallel() if runtime.GOOS != "linux" { t.Skip("requires linux") } diff --git a/java/robolectric_test.go b/java/robolectric_test.go index 78326abee..ad0613ebd 100644 --- a/java/robolectric_test.go +++ b/java/robolectric_test.go @@ -71,6 +71,7 @@ var prepareRobolectricRuntime = android.GroupFixturePreparers( ) func TestRobolectricJniTest(t *testing.T) { + t.Parallel() if runtime.GOOS != "linux" { t.Skip("requires linux") } diff --git a/java/rro_test.go b/java/rro_test.go index b94651137..1978ad67d 100644 --- a/java/rro_test.go +++ b/java/rro_test.go @@ -24,6 +24,7 @@ import ( ) func TestRuntimeResourceOverlay(t *testing.T) { + t.Parallel() fs := android.MockFS{ "baz/res/res/values/strings.xml": nil, "bar/res/res/values/strings.xml": nil, @@ -129,6 +130,7 @@ func TestRuntimeResourceOverlay(t *testing.T) { } func TestRuntimeResourceOverlay_JavaDefaults(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureModifyConfig(android.SetKatiEnabledForTests), diff --git a/java/sdk_library_test.go b/java/sdk_library_test.go index 6031d7230..0aed4b81a 100644 --- a/java/sdk_library_test.go +++ b/java/sdk_library_test.go @@ -25,6 +25,7 @@ import ( ) func TestJavaSdkLibrary(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -187,6 +188,7 @@ func TestJavaSdkLibrary(t *testing.T) { } func TestJavaSdkLibrary_UpdatableLibrary(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -236,6 +238,7 @@ func TestJavaSdkLibrary_UpdatableLibrary(t *testing.T) { } func TestJavaSdkLibrary_UpdatableLibrary_Validation_ValidVersion(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -263,6 +266,7 @@ func TestJavaSdkLibrary_UpdatableLibrary_Validation_ValidVersion(t *testing.T) { } func TestJavaSdkLibrary_UpdatableLibrary_Validation_AtLeastTAttributes(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -292,6 +296,7 @@ func TestJavaSdkLibrary_UpdatableLibrary_Validation_AtLeastTAttributes(t *testin } func TestJavaSdkLibrary_UpdatableLibrary_Validation_MinAndMaxDeviceSdk(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -319,6 +324,7 @@ func TestJavaSdkLibrary_UpdatableLibrary_Validation_MinAndMaxDeviceSdk(t *testin } func TestJavaSdkLibrary_UpdatableLibrary_Validation_MinAndMaxDeviceSdkAndModuleMinSdk(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -347,6 +353,7 @@ func TestJavaSdkLibrary_UpdatableLibrary_Validation_MinAndMaxDeviceSdkAndModuleM } func TestJavaSdkLibrary_UpdatableLibrary_usesNewTag(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -370,6 +377,7 @@ func TestJavaSdkLibrary_UpdatableLibrary_usesNewTag(t *testing.T) { } func TestJavaSdkLibrary_StubOrImplOnlyLibs(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -426,6 +434,7 @@ func TestJavaSdkLibrary_StubOrImplOnlyLibs(t *testing.T) { } func TestJavaSdkLibrary_DoNotAccessImplWhenItIsNotBuilt(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -455,6 +464,7 @@ func TestJavaSdkLibrary_DoNotAccessImplWhenItIsNotBuilt(t *testing.T) { } func TestJavaSdkLibrary_AccessOutputFiles(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -478,6 +488,7 @@ func TestJavaSdkLibrary_AccessOutputFiles(t *testing.T) { } func TestJavaSdkLibrary_AccessOutputFiles_NoAnnotations(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -503,6 +514,7 @@ func TestJavaSdkLibrary_AccessOutputFiles_NoAnnotations(t *testing.T) { } func TestJavaSdkLibrary_AccessOutputFiles_MissingScope(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -527,6 +539,7 @@ func TestJavaSdkLibrary_AccessOutputFiles_MissingScope(t *testing.T) { } func TestJavaSdkLibrary_Deps(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -557,6 +570,7 @@ func TestJavaSdkLibrary_Deps(t *testing.T) { } func TestJavaSdkLibraryImport_AccessOutputFiles(t *testing.T) { + t.Parallel() prepareForJavaTest.RunTestWithBp(t, ` java_sdk_library_import { name: "foo", @@ -582,6 +596,7 @@ func TestJavaSdkLibraryImport_AccessOutputFiles(t *testing.T) { } func TestJavaSdkLibraryImport_AccessOutputFiles_Invalid(t *testing.T) { + t.Parallel() bp := ` java_sdk_library_import { name: "foo", @@ -592,6 +607,7 @@ func TestJavaSdkLibraryImport_AccessOutputFiles_Invalid(t *testing.T) { ` t.Run("stubs.source", func(t *testing.T) { + t.Parallel() prepareForJavaTest. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(`module "foo" is not a SourceFileProducer or having valid output file for tag ".public.stubs.source"`)). RunTestWithBp(t, bp+` @@ -607,6 +623,7 @@ func TestJavaSdkLibraryImport_AccessOutputFiles_Invalid(t *testing.T) { }) t.Run("api.txt", func(t *testing.T) { + t.Parallel() prepareForJavaTest. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(`module "foo" is not a SourceFileProducer or having valid output file for tag ".public.api.txt"`)). RunTestWithBp(t, bp+` @@ -621,6 +638,7 @@ func TestJavaSdkLibraryImport_AccessOutputFiles_Invalid(t *testing.T) { }) t.Run("removed-api.txt", func(t *testing.T) { + t.Parallel() prepareForJavaTest. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(`module "foo" is not a SourceFileProducer or having valid output file for tag ".public.removed-api.txt"`)). RunTestWithBp(t, bp+` @@ -636,6 +654,7 @@ func TestJavaSdkLibraryImport_AccessOutputFiles_Invalid(t *testing.T) { } func TestJavaSdkLibrary_InvalidScopes(t *testing.T) { + t.Parallel() prepareForJavaTest. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern(`module "foo": enabled api scope "system" depends on disabled scope "public"`)). RunTestWithBp(t, ` @@ -656,6 +675,7 @@ func TestJavaSdkLibrary_InvalidScopes(t *testing.T) { } func TestJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -674,6 +694,7 @@ func TestJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) { } func TestJavaSdkLibrary_ModuleLib(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -694,6 +715,7 @@ func TestJavaSdkLibrary_ModuleLib(t *testing.T) { } func TestJavaSdkLibrary_SystemServer(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -714,6 +736,7 @@ func TestJavaSdkLibrary_SystemServer(t *testing.T) { } func TestJavaSdkLibrary_SystemServer_AccessToStubScopeLibs(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -788,6 +811,7 @@ func TestJavaSdkLibrary_SystemServer_AccessToStubScopeLibs(t *testing.T) { } func TestJavaSdkLibraryImport(t *testing.T) { + t.Parallel() result := prepareForJavaTest.RunTestWithBp(t, ` java_library { name: "foo", @@ -844,6 +868,7 @@ func TestJavaSdkLibraryImport(t *testing.T) { } func TestJavaSdkLibraryImport_WithSource(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -986,7 +1011,9 @@ func testJavaSdkLibraryImport_Preferred(t *testing.T, prefer string, preparer an } func TestJavaSdkLibraryImport_Preferred(t *testing.T) { + t.Parallel() t.Run("prefer", func(t *testing.T) { + t.Parallel() testJavaSdkLibraryImport_Preferred(t, "prefer: true,", android.NullFixturePreparer) }) } @@ -994,6 +1021,7 @@ func TestJavaSdkLibraryImport_Preferred(t *testing.T) { // If a module is listed in `mainline_module_contributions, it should be used // It will supersede any other source vs prebuilt selection mechanism like `prefer` attribute func TestSdkLibraryImport_MetadataModuleSupersedesPreferred(t *testing.T) { + t.Parallel() bp := ` apex_contributions { name: "my_mainline_module_contributions", @@ -1113,6 +1141,7 @@ func TestSdkLibraryImport_MetadataModuleSupersedesPreferred(t *testing.T) { } func TestJavaSdkLibraryDist(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( PrepareForTestWithJavaBuildComponents, PrepareForTestWithJavaDefaultModules, @@ -1179,6 +1208,7 @@ func TestJavaSdkLibraryDist(t *testing.T) { for _, tt := range testCases { t.Run(tt.module, func(t *testing.T) { + t.Parallel() m := result.ModuleForTests(apiScopePublic.exportableStubsLibraryModuleName(tt.module), "android_common").Module().(*Library) dists := m.Dists() if len(dists) != 1 { @@ -1195,6 +1225,7 @@ func TestJavaSdkLibraryDist(t *testing.T) { } func TestSdkLibrary_CheckMinSdkVersion(t *testing.T) { + t.Parallel() preparer := android.GroupFixturePreparers( PrepareForTestWithJavaBuildComponents, PrepareForTestWithJavaDefaultModules, @@ -1279,6 +1310,7 @@ func TestSdkLibrary_CheckMinSdkVersion(t *testing.T) { } func TestJavaSdkLibrary_StubOnlyLibs_PassedToDroidstubs(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1306,6 +1338,7 @@ func TestJavaSdkLibrary_StubOnlyLibs_PassedToDroidstubs(t *testing.T) { } func TestJavaSdkLibrary_Scope_Libs_PassedToDroidstubs(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1333,6 +1366,7 @@ func TestJavaSdkLibrary_Scope_Libs_PassedToDroidstubs(t *testing.T) { } func TestJavaSdkLibrary_ApiLibrary(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1383,6 +1417,7 @@ func TestJavaSdkLibrary_ApiLibrary(t *testing.T) { } func TestStaticDepStubLibrariesVisibility(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1412,6 +1447,7 @@ func TestStaticDepStubLibrariesVisibility(t *testing.T) { } func TestSdkLibraryDependency(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1444,6 +1480,7 @@ func TestSdkLibraryDependency(t *testing.T) { } func TestSdkLibraryExportableStubsLibrary(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1494,6 +1531,7 @@ func TestSdkLibraryExportableStubsLibrary(t *testing.T) { // For java libraries depending on java_sdk_library(_import) via libs, assert that // rdep gets stubs of source if source is listed in apex_contributions and prebuilt has prefer (legacy mechanism) func TestStubResolutionOfJavaSdkLibraryInLibs(t *testing.T) { + t.Parallel() bp := ` apex_contributions { name: "my_mainline_module_contributions", @@ -1547,6 +1585,7 @@ func TestStubResolutionOfJavaSdkLibraryInLibs(t *testing.T) { // test that rdep gets resolved to the correct version of a java_sdk_library (source or a specific prebuilt) func TestMultipleSdkLibraryPrebuilts(t *testing.T) { + t.Parallel() bp := ` apex_contributions { name: "my_mainline_module_contributions", @@ -1632,6 +1671,7 @@ func TestMultipleSdkLibraryPrebuilts(t *testing.T) { } func TestStubLinkType(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1668,6 +1708,7 @@ func TestStubLinkType(t *testing.T) { } func TestSdkLibDirectDependency(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, @@ -1732,6 +1773,7 @@ func TestSdkLibDirectDependency(t *testing.T) { } func TestSdkLibDirectDependencyWithPrebuiltSdk(t *testing.T) { + t.Parallel() android.GroupFixturePreparers( prepareForJavaTest, PrepareForTestWithJavaSdkLibraryFiles, diff --git a/java/sdk_test.go b/java/sdk_test.go index 9bfe6a2b5..e926307fb 100644 --- a/java/sdk_test.go +++ b/java/sdk_test.go @@ -53,6 +53,7 @@ type classpathTestCase struct { } func TestClasspath(t *testing.T) { + t.Parallel() const frameworkAidl = "-I" + defaultJavaDir + "/framework/aidl" var classpathTestcases = []classpathTestCase{ { @@ -388,17 +389,18 @@ func TestClasspath(t *testing.T) { }, } - t.Parallel() t.Run("basic", func(t *testing.T) { t.Parallel() testClasspathTestCases(t, classpathTestcases, false, false) }) t.Run("Always_use_prebuilt_sdks=true", func(t *testing.T) { + t.Parallel() testClasspathTestCases(t, classpathTestcases, true, false) }) t.Run("UseTransitiveJarsInClasspath", func(t *testing.T) { + t.Parallel() testClasspathTestCases(t, classpathTestcases, false, true) }) } @@ -571,6 +573,7 @@ func testClasspathTestCases(t *testing.T, classpathTestcases []classpathTestCase // Test with legacy javac -source 1.8 -target 1.8 t.Run("Java language level 8", func(t *testing.T) { + t.Parallel() result := fixtureFactory.RunTestWithBp(t, bpJava8) checkClasspath(t, result, true /* isJava8 */) @@ -584,6 +587,7 @@ func testClasspathTestCases(t *testing.T, classpathTestcases []classpathTestCase // Test with default javac -source 9 -target 9 t.Run("Java language level 9", func(t *testing.T) { + t.Parallel() result := fixtureFactory.RunTestWithBp(t, bp) checkClasspath(t, result, false /* isJava8 */) @@ -602,6 +606,7 @@ func testClasspathTestCases(t *testing.T, classpathTestcases []classpathTestCase // Test again with PLATFORM_VERSION_CODENAME=REL, javac -source 8 -target 8 t.Run("REL + Java language level 8", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( fixtureFactory, prepareWithPlatformVersionRel).RunTestWithBp(t, bpJava8) @@ -610,6 +615,7 @@ func testClasspathTestCases(t *testing.T, classpathTestcases []classpathTestCase // Test again with PLATFORM_VERSION_CODENAME=REL, javac -source 9 -target 9 t.Run("REL + Java language level 9", func(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( fixtureFactory, prepareWithPlatformVersionRel).RunTestWithBp(t, bp) diff --git a/java/sdk_version_test.go b/java/sdk_version_test.go index 88351d2ef..6f0370a52 100644 --- a/java/sdk_version_test.go +++ b/java/sdk_version_test.go @@ -25,6 +25,7 @@ func stringPtr(v string) *string { } func TestSystemSdkFromVendor(t *testing.T) { + t.Parallel() fixtures := android.GroupFixturePreparers( PrepareForTestWithJavaDefaultModules, android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { diff --git a/java/system_modules_test.go b/java/system_modules_test.go index b05b0e497..b7a99b51a 100644 --- a/java/system_modules_test.go +++ b/java/system_modules_test.go @@ -51,6 +51,7 @@ var addSourceSystemModules = android.FixtureAddTextFile("source/Android.bp", ` `) func TestJavaSystemModules(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers(prepareForJavaTest, addSourceSystemModules).RunTest(t) // check the existence of the source module @@ -78,6 +79,7 @@ var addPrebuiltSystemModules = android.FixtureAddTextFile("prebuilts/Android.bp" `) func TestJavaSystemModulesImport(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers(prepareForJavaTest, addPrebuiltSystemModules).RunTest(t) // check the existence of the renamed prebuilt module @@ -90,6 +92,7 @@ func TestJavaSystemModulesImport(t *testing.T) { } func TestJavaSystemModulesMixSourceAndPrebuilt(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForJavaTest, addSourceSystemModules, @@ -114,6 +117,7 @@ func TestJavaSystemModulesMixSourceAndPrebuilt(t *testing.T) { } func TestMultipleSystemModulesPrebuilts(t *testing.T) { + t.Parallel() bp := ` // an rdep java_library { diff --git a/java/systemserver_classpath_fragment_test.go b/java/systemserver_classpath_fragment_test.go index 2a1728b52..704f5a4f4 100644 --- a/java/systemserver_classpath_fragment_test.go +++ b/java/systemserver_classpath_fragment_test.go @@ -25,6 +25,7 @@ var prepareForTestWithSystemServerClasspath = android.GroupFixturePreparers( ) func TestPlatformSystemServerClasspathVariant(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForTestWithSystemServerClasspath, android.FixtureWithRootAndroidBp(` @@ -39,6 +40,7 @@ func TestPlatformSystemServerClasspathVariant(t *testing.T) { } func TestPlatformSystemServerClasspath_ClasspathFragmentPaths(t *testing.T) { + t.Parallel() result := android.GroupFixturePreparers( prepareForTestWithSystemServerClasspath, android.FixtureWithRootAndroidBp(` @@ -54,6 +56,7 @@ func TestPlatformSystemServerClasspath_ClasspathFragmentPaths(t *testing.T) { } func TestPlatformSystemServerClasspathModule_AndroidMkEntries(t *testing.T) { + t.Parallel() preparer := android.GroupFixturePreparers( prepareForTestWithSystemServerClasspath, android.FixtureWithRootAndroidBp(` @@ -97,6 +100,7 @@ func TestPlatformSystemServerClasspathModule_AndroidMkEntries(t *testing.T) { } func TestSystemServerClasspathFragmentWithoutContents(t *testing.T) { + t.Parallel() prepareForTestWithSystemServerClasspath. ExtendWithErrorHandler(android.FixtureExpectsAtLeastOneErrorMatchingPattern( `\QEither contents or standalone_contents needs to be non-empty\E`)). |