diff options
Diffstat (limited to 'java/app_test.go')
| -rw-r--r-- | java/app_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/java/app_test.go b/java/app_test.go index 6f89da410..ce5c8930e 100644 --- a/java/app_test.go +++ b/java/app_test.go @@ -2207,3 +2207,45 @@ func checkAapt2LinkFlag(t *testing.T, aapt2Flags, flagName, expectedValue string } } } + +func TestRuntimeResourceOverlay(t *testing.T) { + ctx, config := testJava(t, ` + runtime_resource_overlay { + name: "foo", + certificate: "platform", + product_specific: true, + } + + runtime_resource_overlay { + name: "foo_themed", + certificate: "platform", + product_specific: true, + theme: "faza", + } + `) + + m := ctx.ModuleForTests("foo", "android_common") + + // Check cert signing flag. + signedApk := m.Output("signed/foo.apk") + signingFlag := signedApk.Args["certificates"] + expected := "build/make/target/product/security/platform.x509.pem build/make/target/product/security/platform.pk8" + if expected != signingFlag { + t.Errorf("Incorrect signing flags, expected: %q, got: %q", expected, signingFlag) + } + + // Check device location. + path := android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_MODULE_PATH"] + expectedPath := []string{"/tmp/target/product/test_device/product/overlay"} + if !reflect.DeepEqual(path, expectedPath) { + t.Errorf("Unexpected LOCAL_MODULE_PATH value: %v, expected: %v", path, expectedPath) + } + + // A themed module has a different device location + m = ctx.ModuleForTests("foo_themed", "android_common") + path = android.AndroidMkEntriesForTest(t, config, "", m.Module())[0].EntryMap["LOCAL_MODULE_PATH"] + expectedPath = []string{"/tmp/target/product/test_device/product/overlay/faza"} + if !reflect.DeepEqual(path, expectedPath) { + t.Errorf("Unexpected LOCAL_MODULE_PATH value: %v, expected: %v", path, expectedPath) + } +} |