diff options
author | JaeMan Park <jaeman@google.com> | 2021-01-14 11:56:56 +0900 |
---|---|---|
committer | JaeMan Park <jaeman@google.com> | 2021-01-15 13:24:09 +0900 |
commit | 90e75350d70c3a27cc1cb2586ad10bbb99bb9286 (patch) | |
tree | 1fed01401e5930e3eebe20f8e19e19a613ceffa3 /java/java_test.go | |
parent | 66f7fdd1c89ad5d0eab631143902f6ee17de6332 (diff) |
Make TestJavaSdkLibraryEnforce faster
TestJavaSdkLibraryEnforce is too slow because it tests all
combinations of options. Change TestJavaSdkLibraryEnforce to
run test on specific test cases, not all combinations.
Bug: 177323052
Test: go test -timeout 10s -run ^TestJavaSdkLibraryEnforce$ android/soong/java
Change-Id: Ie7fe4e22b570a3e25259a6ad4bd37936805c6604
Diffstat (limited to 'java/java_test.go')
-rw-r--r-- | java/java_test.go | 132 |
1 files changed, 59 insertions, 73 deletions
diff --git a/java/java_test.go b/java/java_test.go index a2466f995..1c0738fa4 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -867,83 +867,43 @@ func TestJavaSdkLibraryEnforce(t *testing.T) { return config } - isValidDependency := func(configInfo testConfigInfo) bool { - if configInfo.enforceVendorInterface == false { - return true - } - - if configInfo.enforceJavaSdkLibraryCheck == false { - return true - } - - if inList("bar", configInfo.allowList) { - return true - } - - if configInfo.libraryType == "java_library" { - if configInfo.fromPartition != configInfo.toPartition { - if !configInfo.enforceProductInterface && - ((configInfo.fromPartition == "system" && configInfo.toPartition == "product") || - (configInfo.fromPartition == "product" && configInfo.toPartition == "system")) { - return true - } - return false - } - } - - return true - } - errorMessage := "is not allowed across the partitions" - allPartitionCombinations := func() [][2]string { - var result [][2]string - partitions := []string{"system", "vendor", "product"} - - for _, fromPartition := range partitions { - for _, toPartition := range partitions { - result = append(result, [2]string{fromPartition, toPartition}) - } - } - - return result - } - - allFlagCombinations := func() [][3]bool { - var result [][3]bool - flagValues := [2]bool{false, true} - - for _, vendorInterface := range flagValues { - for _, productInterface := range flagValues { - for _, enableEnforce := range flagValues { - result = append(result, [3]bool{vendorInterface, productInterface, enableEnforce}) - } - } - } + testJavaWithConfig(t, createTestConfig(testConfigInfo{ + libraryType: "java_library", + fromPartition: "product", + toPartition: "system", + enforceVendorInterface: true, + enforceProductInterface: true, + enforceJavaSdkLibraryCheck: false, + })) - return result - } + testJavaWithConfig(t, createTestConfig(testConfigInfo{ + libraryType: "java_library", + fromPartition: "product", + toPartition: "system", + enforceVendorInterface: true, + enforceProductInterface: false, + enforceJavaSdkLibraryCheck: true, + })) - for _, libraryType := range []string{"java_library", "java_sdk_library"} { - for _, partitionValues := range allPartitionCombinations() { - for _, flagValues := range allFlagCombinations() { - testInfo := testConfigInfo{ - libraryType: libraryType, - fromPartition: partitionValues[0], - toPartition: partitionValues[1], - enforceVendorInterface: flagValues[0], - enforceProductInterface: flagValues[1], - enforceJavaSdkLibraryCheck: flagValues[2], - } + testJavaErrorWithConfig(t, errorMessage, createTestConfig(testConfigInfo{ + libraryType: "java_library", + fromPartition: "product", + toPartition: "system", + enforceVendorInterface: true, + enforceProductInterface: true, + enforceJavaSdkLibraryCheck: true, + })) - if isValidDependency(testInfo) { - testJavaWithConfig(t, createTestConfig(testInfo)) - } else { - testJavaErrorWithConfig(t, errorMessage, createTestConfig(testInfo)) - } - } - } - } + testJavaErrorWithConfig(t, errorMessage, createTestConfig(testConfigInfo{ + libraryType: "java_library", + fromPartition: "vendor", + toPartition: "system", + enforceVendorInterface: true, + enforceProductInterface: true, + enforceJavaSdkLibraryCheck: true, + })) testJavaWithConfig(t, createTestConfig(testConfigInfo{ libraryType: "java_library", @@ -958,11 +918,37 @@ func TestJavaSdkLibraryEnforce(t *testing.T) { testJavaErrorWithConfig(t, errorMessage, createTestConfig(testConfigInfo{ libraryType: "java_library", fromPartition: "vendor", + toPartition: "product", + enforceVendorInterface: true, + enforceProductInterface: true, + enforceJavaSdkLibraryCheck: true, + })) + + testJavaWithConfig(t, createTestConfig(testConfigInfo{ + libraryType: "java_sdk_library", + fromPartition: "product", + toPartition: "system", + enforceVendorInterface: true, + enforceProductInterface: true, + enforceJavaSdkLibraryCheck: true, + })) + + testJavaWithConfig(t, createTestConfig(testConfigInfo{ + libraryType: "java_sdk_library", + fromPartition: "vendor", toPartition: "system", enforceVendorInterface: true, enforceProductInterface: true, enforceJavaSdkLibraryCheck: true, - allowList: []string{"foo"}, + })) + + testJavaWithConfig(t, createTestConfig(testConfigInfo{ + libraryType: "java_sdk_library", + fromPartition: "vendor", + toPartition: "product", + enforceVendorInterface: true, + enforceProductInterface: true, + enforceJavaSdkLibraryCheck: true, })) } |