From ffa8375f072bab79666eb1e0f313ec1689dcc92b Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Wed, 9 Jun 2021 14:32:53 +0100 Subject: [PATCH] Move TestPlatformBootclasspath_Fragments to apex package This test checks that fragments which are referenced from a platform_bootclasspath module contribute their hidden API flags to those used by platform_bootclasspath module. Previously, it was unrealistic because the bootclasspath_fragment does not belong in an APEX. This change moves the test from the java package to the apex package to allow it to be modified to make the bootclasspath_fragment part of an apex. Bug: 179354495 Test: m nothing Change-Id: Icb57f2e1eaea4b14aab5f47f3af7d05ea0555816 --- apex/platform_bootclasspath_test.go | 112 ++++++++++++++++++++++++++++ java/platform_bootclasspath_test.go | 112 ---------------------------- 2 files changed, 112 insertions(+), 112 deletions(-) diff --git a/apex/platform_bootclasspath_test.go b/apex/platform_bootclasspath_test.go index ce12f4635..0724556c0 100644 --- a/apex/platform_bootclasspath_test.go +++ b/apex/platform_bootclasspath_test.go @@ -15,6 +15,8 @@ package apex import ( + "fmt" + "strings" "testing" "android/soong/android" @@ -31,6 +33,116 @@ var prepareForTestWithPlatformBootclasspath = android.GroupFixturePreparers( PrepareForTestWithApexBuildComponents, ) +func TestPlatformBootclasspath_Fragments(t *testing.T) { + result := android.GroupFixturePreparers( + prepareForTestWithPlatformBootclasspath, + java.PrepareForTestWithJavaSdkLibraryFiles, + java.FixtureWithLastReleaseApis("foo"), + android.FixtureWithRootAndroidBp(` + platform_bootclasspath { + name: "platform-bootclasspath", + fragments: [ + {module:"bar-fragment"}, + ], + hidden_api: { + unsupported: [ + "unsupported.txt", + ], + removed: [ + "removed.txt", + ], + max_target_r_low_priority: [ + "max-target-r-low-priority.txt", + ], + max_target_q: [ + "max-target-q.txt", + ], + max_target_p: [ + "max-target-p.txt", + ], + max_target_o_low_priority: [ + "max-target-o-low-priority.txt", + ], + blocked: [ + "blocked.txt", + ], + unsupported_packages: [ + "unsupported-packages.txt", + ], + }, + } + + bootclasspath_fragment { + name: "bar-fragment", + contents: ["bar"], + api: { + stub_libs: ["foo"], + }, + hidden_api: { + unsupported: [ + "bar-unsupported.txt", + ], + removed: [ + "bar-removed.txt", + ], + max_target_r_low_priority: [ + "bar-max-target-r-low-priority.txt", + ], + max_target_q: [ + "bar-max-target-q.txt", + ], + max_target_p: [ + "bar-max-target-p.txt", + ], + max_target_o_low_priority: [ + "bar-max-target-o-low-priority.txt", + ], + blocked: [ + "bar-blocked.txt", + ], + unsupported_packages: [ + "bar-unsupported-packages.txt", + ], + }, + } + + java_library { + name: "bar", + srcs: ["a.java"], + system_modules: "none", + sdk_version: "none", + compile_dex: true, + } + + java_sdk_library { + name: "foo", + srcs: ["a.java"], + public: { + enabled: true, + }, + compile_dex: true, + } + `), + ).RunTest(t) + + pbcp := result.Module("platform-bootclasspath", "android_common") + info := result.ModuleProvider(pbcp, java.MonolithicHiddenAPIInfoProvider).(java.MonolithicHiddenAPIInfo) + + for _, category := range java.HiddenAPIFlagFileCategories { + name := category.PropertyName + message := fmt.Sprintf("category %s", name) + filename := strings.ReplaceAll(name, "_", "-") + expected := []string{fmt.Sprintf("%s.txt", filename), fmt.Sprintf("bar-%s.txt", filename)} + android.AssertPathsRelativeToTopEquals(t, message, expected, info.FlagsFilesByCategory[category]) + } + + android.AssertPathsRelativeToTopEquals(t, "stub flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/stub-flags.csv"}, info.StubFlagsPaths) + android.AssertPathsRelativeToTopEquals(t, "annotation flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/annotation-flags.csv"}, info.AnnotationFlagsPaths) + android.AssertPathsRelativeToTopEquals(t, "metadata flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/metadata.csv"}, info.MetadataPaths) + android.AssertPathsRelativeToTopEquals(t, "index flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/index.csv"}, info.IndexPaths) + android.AssertPathsRelativeToTopEquals(t, "all flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/all-flags.csv"}, info.AllFlagsPaths) +} + func TestPlatformBootclasspathDependencies(t *testing.T) { result := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath, diff --git a/java/platform_bootclasspath_test.go b/java/platform_bootclasspath_test.go index 48304446a..0318a07d4 100644 --- a/java/platform_bootclasspath_test.go +++ b/java/platform_bootclasspath_test.go @@ -15,8 +15,6 @@ package java import ( - "fmt" - "strings" "testing" "android/soong/android" @@ -152,116 +150,6 @@ func TestPlatformBootclasspath(t *testing.T) { }) } -func TestPlatformBootclasspath_Fragments(t *testing.T) { - result := android.GroupFixturePreparers( - prepareForTestWithPlatformBootclasspath, - PrepareForTestWithJavaSdkLibraryFiles, - FixtureWithLastReleaseApis("foo"), - android.FixtureWithRootAndroidBp(` - platform_bootclasspath { - name: "platform-bootclasspath", - fragments: [ - {module:"bar-fragment"}, - ], - hidden_api: { - unsupported: [ - "unsupported.txt", - ], - removed: [ - "removed.txt", - ], - max_target_r_low_priority: [ - "max-target-r-low-priority.txt", - ], - max_target_q: [ - "max-target-q.txt", - ], - max_target_p: [ - "max-target-p.txt", - ], - max_target_o_low_priority: [ - "max-target-o-low-priority.txt", - ], - blocked: [ - "blocked.txt", - ], - unsupported_packages: [ - "unsupported-packages.txt", - ], - }, - } - - bootclasspath_fragment { - name: "bar-fragment", - contents: ["bar"], - api: { - stub_libs: ["foo"], - }, - hidden_api: { - unsupported: [ - "bar-unsupported.txt", - ], - removed: [ - "bar-removed.txt", - ], - max_target_r_low_priority: [ - "bar-max-target-r-low-priority.txt", - ], - max_target_q: [ - "bar-max-target-q.txt", - ], - max_target_p: [ - "bar-max-target-p.txt", - ], - max_target_o_low_priority: [ - "bar-max-target-o-low-priority.txt", - ], - blocked: [ - "bar-blocked.txt", - ], - unsupported_packages: [ - "bar-unsupported-packages.txt", - ], - }, - } - - java_library { - name: "bar", - srcs: ["a.java"], - system_modules: "none", - sdk_version: "none", - compile_dex: true, - } - - java_sdk_library { - name: "foo", - srcs: ["a.java"], - public: { - enabled: true, - }, - compile_dex: true, - } - `), - ).RunTest(t) - - pbcp := result.Module("platform-bootclasspath", "android_common") - info := result.ModuleProvider(pbcp, MonolithicHiddenAPIInfoProvider).(MonolithicHiddenAPIInfo) - - for _, category := range HiddenAPIFlagFileCategories { - name := category.PropertyName - message := fmt.Sprintf("category %s", name) - filename := strings.ReplaceAll(name, "_", "-") - expected := []string{fmt.Sprintf("%s.txt", filename), fmt.Sprintf("bar-%s.txt", filename)} - android.AssertPathsRelativeToTopEquals(t, message, expected, info.FlagsFilesByCategory[category]) - } - - android.AssertPathsRelativeToTopEquals(t, "stub flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/stub-flags.csv"}, info.StubFlagsPaths) - android.AssertPathsRelativeToTopEquals(t, "annotation flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/annotation-flags.csv"}, info.AnnotationFlagsPaths) - android.AssertPathsRelativeToTopEquals(t, "metadata flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/metadata.csv"}, info.MetadataPaths) - android.AssertPathsRelativeToTopEquals(t, "index flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/index.csv"}, info.IndexPaths) - android.AssertPathsRelativeToTopEquals(t, "all flags", []string{"out/soong/.intermediates/bar-fragment/android_common/modular-hiddenapi/all-flags.csv"}, info.AllFlagsPaths) -} - func TestPlatformBootclasspathVariant(t *testing.T) { result := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath,