diff options
Diffstat (limited to 'java/app_test.go')
-rw-r--r-- | java/app_test.go | 57 |
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 | ||
979 | func 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 | |||
975 | func TestAndroidAppImport(t *testing.T) { | 1020 | func TestAndroidAppImport(t *testing.T) { |
976 | ctx := testJava(t, ` | 1021 | ctx := testJava(t, ` |
977 | android_app_import { | 1022 | android_app_import { |