summaryrefslogtreecommitdiff
path: root/java/app_test.go
diff options
context:
space:
mode:
author Ulyana Trafimovich <skvadrik@google.com> 2021-03-02 13:46:19 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-03-02 13:46:19 +0000
commit00c27b7a683a6939f03ec82c70b49ceba2afa08a (patch)
treefee60d4d64b92813129b78654f7bec0a962368c1 /java/app_test.go
parent4b786d2da109389ef7378d281c2239ca35d8ed3b (diff)
parent2eaf5c5256b9ce92e5d520c00efc2ea67ebd2bf2 (diff)
Merge "Stricten TestUsesLibrary check."
Diffstat (limited to 'java/app_test.go')
-rw-r--r--java/app_test.go61
1 files changed, 35 insertions, 26 deletions
diff --git a/java/app_test.go b/java/app_test.go
index 349579e97..49f1ebac2 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -2331,35 +2331,44 @@ func TestUsesLibraries(t *testing.T) {
prebuilt := ctx.ModuleForTests("prebuilt", "android_common")
// Test that implicit dependencies on java_sdk_library instances are passed to the manifest.
- manifestFixerArgs := app.Output("manifest_fixer/AndroidManifest.xml").Args["args"]
- for _, w := range []string{"qux", "quuz", "runtime-library"} {
- if !strings.Contains(manifestFixerArgs, "--uses-library "+w) {
- t.Errorf("unexpected manifest_fixer args: wanted %q in %q", w, manifestFixerArgs)
- }
- }
-
- // Test that all libraries are verified
- cmd := app.Rule("verify_uses_libraries").RuleParams.Command
- if w := "--uses-library foo"; !strings.Contains(cmd, w) {
- t.Errorf("wanted %q in %q", w, cmd)
- }
-
- if w := "--optional-uses-library bar --optional-uses-library baz"; !strings.Contains(cmd, w) {
- t.Errorf("wanted %q in %q", w, cmd)
- }
-
- cmd = prebuilt.Rule("verify_uses_libraries").RuleParams.Command
-
- if w := `uses_library_names="foo android.test.runner"`; !strings.Contains(cmd, w) {
- t.Errorf("wanted %q in %q", w, cmd)
- }
-
- if w := `optional_uses_library_names="bar baz"`; !strings.Contains(cmd, w) {
- t.Errorf("wanted %q in %q", w, cmd)
+ // This should not include explicit `uses_libs`/`optional_uses_libs` entries.
+ actualManifestFixerArgs := app.Output("manifest_fixer/AndroidManifest.xml").Args["args"]
+ expectManifestFixerArgs := `--extract-native-libs=true ` +
+ `--uses-library qux ` +
+ `--uses-library quuz ` +
+ `--uses-library foo ` + // TODO(b/132357300): "foo" should not be passed to manifest_fixer
+ `--uses-library bar ` + // TODO(b/132357300): "bar" should not be passed to manifest_fixer
+ `--uses-library runtime-library`
+ if actualManifestFixerArgs != expectManifestFixerArgs {
+ t.Errorf("unexpected manifest_fixer args:\n\texpect: %q\n\tactual: %q",
+ expectManifestFixerArgs, actualManifestFixerArgs)
+ }
+
+ // Test that all libraries are verified (library order matters).
+ verifyCmd := app.Rule("verify_uses_libraries").RuleParams.Command
+ verifyArgs := `--uses-library foo ` +
+ `--uses-library qux ` +
+ `--uses-library quuz ` +
+ `--uses-library runtime-library ` +
+ `--optional-uses-library bar ` +
+ `--optional-uses-library baz `
+ if !strings.Contains(verifyCmd, verifyArgs) {
+ t.Errorf("wanted %q in %q", verifyArgs, verifyCmd)
+ }
+
+ // Test that all libraries are verified for an APK (library order matters).
+ verifyApkCmd := prebuilt.Rule("verify_uses_libraries").RuleParams.Command
+ verifyApkReqLibs := `uses_library_names="foo android.test.runner"`
+ verifyApkOptLibs := `optional_uses_library_names="bar baz"`
+ if !strings.Contains(verifyApkCmd, verifyApkReqLibs) {
+ t.Errorf("wanted %q in %q", verifyApkReqLibs, verifyApkCmd)
+ }
+ if !strings.Contains(verifyApkCmd, verifyApkOptLibs) {
+ t.Errorf("wanted %q in %q", verifyApkOptLibs, verifyApkCmd)
}
// Test that all present libraries are preopted, including implicit SDK dependencies, possibly stubs
- cmd = app.Rule("dexpreopt").RuleParams.Command
+ cmd := app.Rule("dexpreopt").RuleParams.Command
w := `--target-context-for-sdk any ` +
`PCL[/system/framework/qux.jar]#` +
`PCL[/system/framework/quuz.jar]#` +