aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'java/app_test.go')
-rw-r--r--java/app_test.go57
1 files changed, 51 insertions, 6 deletions
diff --git a/java/app_test.go b/java/app_test.go
index bc35e216..347139e1 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -881,7 +881,7 @@ func TestOverrideAndroidApp(t *testing.T) {
881 name: "foo", 881 name: "foo",
882 srcs: ["a.java"], 882 srcs: ["a.java"],
883 certificate: "expiredkey", 883 certificate: "expiredkey",
884 overrides: ["baz"], 884 overrides: ["qux"],
885 } 885 }
886 886
887 override_android_app { 887 override_android_app {
@@ -903,6 +903,7 @@ func TestOverrideAndroidApp(t *testing.T) {
903 `) 903 `)
904 904
905 expectedVariants := []struct { 905 expectedVariants := []struct {
906 moduleName string
906 variantName string 907 variantName string
907 apkName string 908 apkName string
908 apkPath string 909 apkPath string
@@ -911,24 +912,27 @@ func TestOverrideAndroidApp(t *testing.T) {
911 aaptFlag string 912 aaptFlag string
912 }{ 913 }{
913 { 914 {
915 moduleName: "foo",
914 variantName: "android_common", 916 variantName: "android_common",
915 apkPath: "/target/product/test_device/system/app/foo/foo.apk", 917 apkPath: "/target/product/test_device/system/app/foo/foo.apk",
916 signFlag: "build/make/target/product/security/expiredkey.x509.pem build/make/target/product/security/expiredkey.pk8", 918 signFlag: "build/make/target/product/security/expiredkey.x509.pem build/make/target/product/security/expiredkey.pk8",
917 overrides: []string{"baz"}, 919 overrides: []string{"qux"},
918 aaptFlag: "", 920 aaptFlag: "",
919 }, 921 },
920 { 922 {
921 variantName: "bar_android_common", 923 moduleName: "bar",
924 variantName: "android_common_bar",
922 apkPath: "/target/product/test_device/system/app/bar/bar.apk", 925 apkPath: "/target/product/test_device/system/app/bar/bar.apk",
923 signFlag: "cert/new_cert.x509.pem cert/new_cert.pk8", 926 signFlag: "cert/new_cert.x509.pem cert/new_cert.pk8",
924 overrides: []string{"baz", "foo"}, 927 overrides: []string{"qux", "foo"},
925 aaptFlag: "", 928 aaptFlag: "",
926 }, 929 },
927 { 930 {
928 variantName: "baz_android_common", 931 moduleName: "baz",
932 variantName: "android_common_baz",
929 apkPath: "/target/product/test_device/system/app/baz/baz.apk", 933 apkPath: "/target/product/test_device/system/app/baz/baz.apk",
930 signFlag: "build/make/target/product/security/expiredkey.x509.pem build/make/target/product/security/expiredkey.pk8", 934 signFlag: "build/make/target/product/security/expiredkey.x509.pem build/make/target/product/security/expiredkey.pk8",
931 overrides: []string{"baz", "foo"}, 935 overrides: []string{"qux", "foo"},
932 aaptFlag: "--rename-manifest-package org.dandroid.bp", 936 aaptFlag: "--rename-manifest-package org.dandroid.bp",
933 }, 937 },
934 } 938 }
@@ -972,6 +976,47 @@ func TestOverrideAndroidApp(t *testing.T) {
972 } 976 }
973} 977}
974 978
979func TestOverrideAndroidAppDependency(t *testing.T) {
980 ctx := testJava(t, `
981 android_app {
982 name: "foo",
983 srcs: ["a.java"],
984 }
985
986 override_android_app {
987 name: "bar",
988 base: "foo",
989 package_name: "org.dandroid.bp",
990 }
991
992 android_test {
993 name: "baz",
994 srcs: ["b.java"],
995 instrumentation_for: "foo",
996 }
997
998 android_test {
999 name: "qux",
1000 srcs: ["b.java"],
1001 instrumentation_for: "bar",
1002 }
1003 `)
1004
1005 // Verify baz, which depends on the overridden module foo, has the correct classpath javac arg.
1006 javac := ctx.ModuleForTests("baz", "android_common").Rule("javac")
1007 fooTurbine := filepath.Join(buildDir, ".intermediates", "foo", "android_common", "turbine-combined", "foo.jar")
1008 if !strings.Contains(javac.Args["classpath"], fooTurbine) {
1009 t.Errorf("baz classpath %v does not contain %q", javac.Args["classpath"], fooTurbine)
1010 }
1011
1012 // Verify qux, which depends on the overriding module bar, has the correct classpath javac arg.
1013 javac = ctx.ModuleForTests("qux", "android_common").Rule("javac")
1014 barTurbine := filepath.Join(buildDir, ".intermediates", "foo", "android_common_bar", "turbine-combined", "foo.jar")
1015 if !strings.Contains(javac.Args["classpath"], barTurbine) {
1016 t.Errorf("qux classpath %v does not contain %q", javac.Args["classpath"], barTurbine)
1017 }
1018}
1019
975func TestAndroidAppImport(t *testing.T) { 1020func TestAndroidAppImport(t *testing.T) {
976 ctx := testJava(t, ` 1021 ctx := testJava(t, `
977 android_app_import { 1022 android_app_import {