diff options
author | Paul Duffin <paulduffin@google.com> | 2021-04-08 23:01:37 +0100 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2021-04-16 00:29:53 +0100 |
commit | 9b381ef2b898156bea070edd045d7e86d79b4fb3 (patch) | |
tree | bb6f1f1886b8e0ddeb026d4e6cd9a43698ee6645 /java/platform_bootclasspath_test.go | |
parent | 192131e36b528e90e35960f60abc9475cbe8f0ff (diff) |
platform_bootclasspath: aggregate hidden API flag files from fragments
Aggregates hidden API flag files from the bootclasspath_fragments which
will allow the hidden API flag files in frameworks/base/boot/hiddenapi
to be modularized and moved to the appropriate repo.
Bug: 177892522
Test: verified that the out/soong/hiddenapi/... files are unchanged
by this change
also verified that changes to the fragment provided files do
affect the monolithic files.
Change-Id: Ifce14c9ef24c58c7ab1085475d85b61cfbfefecd
Diffstat (limited to 'java/platform_bootclasspath_test.go')
-rw-r--r-- | java/platform_bootclasspath_test.go | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/java/platform_bootclasspath_test.go b/java/platform_bootclasspath_test.go index e51b0493a..955e387a9 100644 --- a/java/platform_bootclasspath_test.go +++ b/java/platform_bootclasspath_test.go @@ -15,6 +15,8 @@ package java import ( + "fmt" + "strings" "testing" "android/soong/android" @@ -132,6 +134,96 @@ func TestPlatformBootclasspath(t *testing.T) { }) } +func TestPlatformBootclasspath_Fragments(t *testing.T) { + result := android.GroupFixturePreparers( + prepareForTestWithPlatformBootclasspath, + 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"], + 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, + } + `), + ).RunTest(t) + + pbcp := result.Module("platform-bootclasspath", "android_common") + info := result.ModuleProvider(pbcp, hiddenAPIFlagFileInfoProvider).(hiddenAPIFlagFileInfo) + + 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.categoryToPaths[category]) + } +} + func TestPlatformBootclasspathVariant(t *testing.T) { result := android.GroupFixturePreparers( prepareForTestWithPlatformBootclasspath, |