Make CheckHiddenAPIRuleInputs more reusable
Adds a message parameter and allows leading spaces in the expected file string to allow them to be nicely indented. Bug: 177892522 Test: m nothing Merged-In: I33df26610738c48879fa0b8250dc377dd04bb07d Change-Id: I33df26610738c48879fa0b8250dc377dd04bb07d (cherry picked from commit 51d7da2c4e62eccc5f0fe11cfa8cdf1cf67aa7c7)
This commit is contained in:
parent
3ae9e2cef5
commit
4c2f78bff4
|
@ -4420,7 +4420,7 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
|||
t.Helper()
|
||||
platformBootclasspath := ctx.ModuleForTests("platform-bootclasspath", "android_common")
|
||||
indexRule := platformBootclasspath.Rule("monolithic_hidden_API_index")
|
||||
java.CheckHiddenAPIRuleInputs(t, expectedInputs, indexRule)
|
||||
java.CheckHiddenAPIRuleInputs(t, "index", expectedInputs, indexRule)
|
||||
}
|
||||
|
||||
fragment := java.ApexVariantReference{
|
||||
|
@ -4471,9 +4471,9 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
|||
|
||||
// Verify the correct module jars contribute to the hiddenapi index file.
|
||||
checkHiddenAPIIndexInputs(t, ctx, `
|
||||
.intermediates/libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
.intermediates/libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
out/soong/.intermediates/libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
out/soong/.intermediates/libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
})
|
||||
|
||||
t.Run("apex_set only", func(t *testing.T) {
|
||||
|
@ -4512,9 +4512,9 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
|||
|
||||
// Verify the correct module jars contribute to the hiddenapi index file.
|
||||
checkHiddenAPIIndexInputs(t, ctx, `
|
||||
.intermediates/libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
.intermediates/libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
out/soong/.intermediates/libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
out/soong/.intermediates/libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
})
|
||||
|
||||
t.Run("prebuilt with source library preferred", func(t *testing.T) {
|
||||
|
@ -4633,9 +4633,9 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
|||
|
||||
// Verify the correct module jars contribute to the hiddenapi index file.
|
||||
checkHiddenAPIIndexInputs(t, ctx, `
|
||||
.intermediates/prebuilt_libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
.intermediates/prebuilt_libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
out/soong/.intermediates/prebuilt_libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
out/soong/.intermediates/prebuilt_libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
})
|
||||
|
||||
t.Run("prebuilt with source apex preferred", func(t *testing.T) {
|
||||
|
@ -4707,9 +4707,9 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
|||
|
||||
// Verify the correct module jars contribute to the hiddenapi index file.
|
||||
checkHiddenAPIIndexInputs(t, ctx, `
|
||||
.intermediates/libbar/android_common_myapex/javac/libbar.jar
|
||||
.intermediates/libfoo/android_common_apex10000/javac/libfoo.jar
|
||||
`)
|
||||
out/soong/.intermediates/libbar/android_common_myapex/javac/libbar.jar
|
||||
out/soong/.intermediates/libfoo/android_common_apex10000/javac/libfoo.jar
|
||||
`)
|
||||
})
|
||||
|
||||
t.Run("prebuilt preferred with source apex disabled", func(t *testing.T) {
|
||||
|
@ -4783,9 +4783,9 @@ func TestBootDexJarsFromSourcesAndPrebuilts(t *testing.T) {
|
|||
|
||||
// Verify the correct module jars contribute to the hiddenapi index file.
|
||||
checkHiddenAPIIndexInputs(t, ctx, `
|
||||
.intermediates/prebuilt_libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
.intermediates/prebuilt_libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
out/soong/.intermediates/prebuilt_libbar.stubs/android_common/combined/libbar.stubs.jar
|
||||
out/soong/.intermediates/prebuilt_libfoo/android_common_myapex/combined/libfoo.jar
|
||||
`)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -319,10 +319,9 @@ func TestPlatformBootclasspath_HiddenAPIMonolithicFiles(t *testing.T) {
|
|||
// creates the index.csv file.
|
||||
platformBootclasspath := result.ModuleForTests("myplatform-bootclasspath", "android_common")
|
||||
indexRule := platformBootclasspath.Rule("monolithic_hidden_API_index")
|
||||
CheckHiddenAPIRuleInputs(t, `
|
||||
.intermediates/bar/android_common/javac/bar.jar
|
||||
.intermediates/foo-hiddenapi-annotations/android_common/javac/foo-hiddenapi-annotations.jar
|
||||
.intermediates/foo/android_common/javac/foo.jar
|
||||
`,
|
||||
indexRule)
|
||||
CheckHiddenAPIRuleInputs(t, "index", `
|
||||
out/soong/.intermediates/bar/android_common/javac/bar.jar
|
||||
out/soong/.intermediates/foo-hiddenapi-annotations/android_common/javac/foo-hiddenapi-annotations.jar
|
||||
out/soong/.intermediates/foo/android_common/javac/foo.jar
|
||||
`, indexRule)
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ package java
|
|||
import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"sort"
|
||||
"strings"
|
||||
"testing"
|
||||
|
@ -393,12 +394,20 @@ func CheckPlatformBootclasspathFragments(t *testing.T, result *android.TestResul
|
|||
android.AssertDeepEquals(t, fmt.Sprintf("%s fragments", "platform-bootclasspath"), expected, pairs)
|
||||
}
|
||||
|
||||
func CheckHiddenAPIRuleInputs(t *testing.T, expected string, hiddenAPIRule android.TestingBuildParams) {
|
||||
func CheckHiddenAPIRuleInputs(t *testing.T, message string, expected string, hiddenAPIRule android.TestingBuildParams) {
|
||||
t.Helper()
|
||||
actual := strings.TrimSpace(strings.Join(android.NormalizePathsForTesting(hiddenAPIRule.Implicits), "\n"))
|
||||
expected = strings.TrimSpace(expected)
|
||||
inputs := android.Paths{}
|
||||
if hiddenAPIRule.Input != nil {
|
||||
inputs = append(inputs, hiddenAPIRule.Input)
|
||||
}
|
||||
inputs = append(inputs, hiddenAPIRule.Inputs...)
|
||||
inputs = append(inputs, hiddenAPIRule.Implicits...)
|
||||
inputs = android.SortedUniquePaths(inputs)
|
||||
actual := strings.TrimSpace(strings.Join(inputs.RelativeToTop().Strings(), "\n"))
|
||||
re := regexp.MustCompile(`\n\s+`)
|
||||
expected = strings.TrimSpace(re.ReplaceAllString(expected, "\n"))
|
||||
if actual != expected {
|
||||
t.Errorf("Expected hiddenapi rule inputs:\n%s\nactual inputs:\n%s", expected, actual)
|
||||
t.Errorf("Expected hiddenapi rule inputs - %s:\n%s\nactual inputs:\n%s", message, expected, actual)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue