Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07cdd37a authored by Paul Duffin's avatar Paul Duffin Committed by Gerrit Code Review
Browse files

Merge "Make CheckHiddenAPIRuleInputs more reusable"

parents 9d313618 51d7da2c
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -4643,7 +4643,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{
@@ -4694,8 +4694,8 @@ 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
		`)
	})

@@ -4735,8 +4735,8 @@ 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
		`)
	})

@@ -4856,8 +4856,8 @@ 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
		`)
	})

@@ -4930,8 +4930,8 @@ 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
		`)
	})

@@ -5006,8 +5006,8 @@ 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
		`)
	})
}
+5 −6
Original line number Diff line number Diff line
@@ -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)
}
+13 −4
Original line number Diff line number Diff line
@@ -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)
	}
}