Merge changes I343712d7,Ic076ea85
* changes:
Improve hidden API checking in TestBootDexJarsFromSourcesAndPrebuilts
Add target for generate_hiddenapi_lists_test
diff --git a/apex/apex_test.go b/apex/apex_test.go
index 422e46c..e1dec2c 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -4890,7 +4890,7 @@
}
}
- checkHiddenAPIIndexInputs := func(t *testing.T, ctx *android.TestContext, expectedIntermediateInputs string) {
+ checkHiddenAPIIndexFromClassesInputs := func(t *testing.T, ctx *android.TestContext, expectedIntermediateInputs string) {
t.Helper()
platformBootclasspath := ctx.ModuleForTests("platform-bootclasspath", "android_common")
var rule android.TestingBuildParams
@@ -4899,6 +4899,15 @@
java.CheckHiddenAPIRuleInputs(t, "intermediate index", expectedIntermediateInputs, rule)
}
+ checkHiddenAPIIndexFromFlagsInputs := func(t *testing.T, ctx *android.TestContext, expectedIntermediateInputs string) {
+ t.Helper()
+ platformBootclasspath := ctx.ModuleForTests("platform-bootclasspath", "android_common")
+ var rule android.TestingBuildParams
+
+ rule = platformBootclasspath.Output("hiddenapi-index.csv")
+ java.CheckHiddenAPIRuleInputs(t, "monolithic index", expectedIntermediateInputs, rule)
+ }
+
fragment := java.ApexVariantReference{
Apex: proptools.StringPtr("myapex"),
Module: proptools.StringPtr("my-bootclasspath-fragment"),
@@ -4946,10 +4955,13 @@
checkBootDexJarPath(t, ctx, "libbar", "out/soong/.intermediates/myapex.deapexer/android_common/deapexer/javalib/libbar.jar")
// Verify the correct module jars contribute to the hiddenapi index file.
- checkHiddenAPIIndexInputs(t, ctx, `
+ checkHiddenAPIIndexFromClassesInputs(t, ctx, `
out/soong/.intermediates/libbar.stubs/android_common/combined/libbar.stubs.jar
out/soong/.intermediates/libfoo/android_common_myapex/combined/libfoo.jar
`)
+ checkHiddenAPIIndexFromFlagsInputs(t, ctx, `
+ out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/hiddenapi-monolithic/index-from-classes.csv
+ `)
})
t.Run("apex_set only", func(t *testing.T) {
@@ -4987,10 +4999,13 @@
checkBootDexJarPath(t, ctx, "libbar", "out/soong/.intermediates/myapex.deapexer/android_common/deapexer/javalib/libbar.jar")
// Verify the correct module jars contribute to the hiddenapi index file.
- checkHiddenAPIIndexInputs(t, ctx, `
+ checkHiddenAPIIndexFromClassesInputs(t, ctx, `
out/soong/.intermediates/libbar.stubs/android_common/combined/libbar.stubs.jar
out/soong/.intermediates/libfoo/android_common_myapex/combined/libfoo.jar
`)
+ checkHiddenAPIIndexFromFlagsInputs(t, ctx, `
+ out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/hiddenapi-monolithic/index-from-classes.csv
+ `)
})
t.Run("prebuilt with source library preferred", func(t *testing.T) {
@@ -5108,10 +5123,13 @@
checkBootDexJarPath(t, ctx, "libbar", "out/soong/.intermediates/myapex.deapexer/android_common/deapexer/javalib/libbar.jar")
// Verify the correct module jars contribute to the hiddenapi index file.
- checkHiddenAPIIndexInputs(t, ctx, `
+ checkHiddenAPIIndexFromClassesInputs(t, ctx, `
out/soong/.intermediates/prebuilt_libbar.stubs/android_common/combined/libbar.stubs.jar
out/soong/.intermediates/prebuilt_libfoo/android_common_myapex/combined/libfoo.jar
`)
+ checkHiddenAPIIndexFromFlagsInputs(t, ctx, `
+ out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/hiddenapi-monolithic/index-from-classes.csv
+ `)
})
t.Run("prebuilt with source apex preferred", func(t *testing.T) {
@@ -5182,10 +5200,13 @@
checkBootDexJarPath(t, ctx, "libbar", "out/soong/.intermediates/libbar/android_common_myapex/hiddenapi/libbar.jar")
// Verify the correct module jars contribute to the hiddenapi index file.
- checkHiddenAPIIndexInputs(t, ctx, `
+ checkHiddenAPIIndexFromClassesInputs(t, ctx, `
out/soong/.intermediates/libbar/android_common_myapex/javac/libbar.jar
out/soong/.intermediates/libfoo/android_common_apex10000/javac/libfoo.jar
`)
+ checkHiddenAPIIndexFromFlagsInputs(t, ctx, `
+ out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/hiddenapi-monolithic/index-from-classes.csv
+ `)
})
t.Run("prebuilt preferred with source apex disabled", func(t *testing.T) {
@@ -5258,10 +5279,13 @@
checkBootDexJarPath(t, ctx, "libbar", "out/soong/.intermediates/myapex.deapexer/android_common/deapexer/javalib/libbar.jar")
// Verify the correct module jars contribute to the hiddenapi index file.
- checkHiddenAPIIndexInputs(t, ctx, `
+ checkHiddenAPIIndexFromClassesInputs(t, ctx, `
out/soong/.intermediates/prebuilt_libbar.stubs/android_common/combined/libbar.stubs.jar
out/soong/.intermediates/prebuilt_libfoo/android_common_myapex/combined/libfoo.jar
`)
+ checkHiddenAPIIndexFromFlagsInputs(t, ctx, `
+ out/soong/.intermediates/frameworks/base/boot/platform-bootclasspath/android_common/hiddenapi-monolithic/index-from-classes.csv
+ `)
})
}
diff --git a/scripts/hiddenapi/Android.bp b/scripts/hiddenapi/Android.bp
index 7472f52..c50dc24 100644
--- a/scripts/hiddenapi/Android.bp
+++ b/scripts/hiddenapi/Android.bp
@@ -48,6 +48,27 @@
},
}
+python_test_host {
+ name: "generate_hiddenapi_lists_test",
+ main: "generate_hiddenapi_lists_test.py",
+ srcs: [
+ "generate_hiddenapi_lists.py",
+ "generate_hiddenapi_lists_test.py",
+ ],
+ version: {
+ py2: {
+ enabled: false,
+ },
+ py3: {
+ enabled: true,
+ embedded_launcher: true,
+ },
+ },
+ test_options: {
+ unit_test: true,
+ },
+}
+
python_binary_host {
name: "verify_overlaps",
main: "verify_overlaps.py",
diff --git a/scripts/hiddenapi/generate_hiddenapi_lists_test.py b/scripts/hiddenapi/generate_hiddenapi_lists_test.py
index ff3d708..b81424b 100755
--- a/scripts/hiddenapi/generate_hiddenapi_lists_test.py
+++ b/scripts/hiddenapi/generate_hiddenapi_lists_test.py
@@ -101,4 +101,4 @@
self.assertEqual(extract_package(signature), expected_package)
if __name__ == '__main__':
- unittest.main()
+ unittest.main(verbosity=2)