summaryrefslogtreecommitdiff
path: root/artd
diff options
context:
space:
mode:
author Jiakai Zhang <jiakaiz@google.com> 2022-11-14 13:53:24 +0000
committer Jiakai Zhang <jiakaiz@google.com> 2022-11-16 11:01:07 +0000
commit7a8a8414a2efb2d299069aaa37ab637d718092dc (patch)
tree1e2269352948f68ccc6e44d3cd146b46a9956db2 /artd
parentd2c87c16d3de3dd2274c4f49c66edf1a5894d195 (diff)
Respect "dalvik.vm.appimageformat".
Bug: 229268202 Test: m test-art-host-gtest-art_artd_tests Ignore-AOSP-First: ART Services. Change-Id: I01124b449e69c9ed21f024dcb5100b45236b7a55
Diffstat (limited to 'artd')
-rw-r--r--artd/artd.cc1
-rw-r--r--artd/artd_test.cc11
2 files changed, 10 insertions, 2 deletions
diff --git a/artd/artd.cc b/artd/artd.cc
index 4bdf1bf1a3..6ba5f9728c 100644
--- a/artd/artd.cc
+++ b/artd/artd.cc
@@ -763,6 +763,7 @@ ndk::ScopedAStatus Artd::dexopt(
if (in_dexoptOptions.generateAppImage) {
art_file = OR_RETURN_NON_FATAL(NewFile::Create(art_path, fs_permission));
args.Add("--app-image-fd=%d", art_file->Fd());
+ args.AddIfNonEmpty("--image-format=%s", props_->GetOrEmpty("dalvik.vm.appimageformat"));
fd_logger.Add(*art_file);
files_to_commit.push_back(art_file.get());
} else {
diff --git a/artd/artd_test.cc b/artd/artd_test.cc
index c2db04b2af..e1480cd27e 100644
--- a/artd/artd_test.cc
+++ b/artd/artd_test.cc
@@ -681,6 +681,8 @@ TEST_F(ArtdTest, dexoptDexoptOptions2) {
}
TEST_F(ArtdTest, dexoptDefaultFlagsWhenNoSystemProps) {
+ dexopt_options_.generateAppImage = true;
+
EXPECT_CALL(*mock_exec_utils_,
DoExecAndReturnCode(
WhenSplitBy("--",
@@ -698,7 +700,8 @@ TEST_F(ArtdTest, dexoptDefaultFlagsWhenNoSystemProps) {
Not(Contains(Flag("-j", _))),
Not(Contains(Flag("-Xms", _))),
Not(Contains(Flag("-Xmx", _))),
- Not(Contains("--compile-individually")))),
+ Not(Contains("--compile-individually")),
+ Not(Contains(Flag("--image-format=", _))))),
_,
_))
.WillOnce(Return(0));
@@ -706,6 +709,8 @@ TEST_F(ArtdTest, dexoptDefaultFlagsWhenNoSystemProps) {
}
TEST_F(ArtdTest, dexoptFlagsFromSystemProps) {
+ dexopt_options_.generateAppImage = true;
+
EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.dex2oat-swap")).WillOnce(Return("0"));
EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.isa.arm64.features"))
.WillOnce(Return("features"));
@@ -722,6 +727,7 @@ TEST_F(ArtdTest, dexoptFlagsFromSystemProps) {
EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.dex2oat-Xms")).WillOnce(Return("xms"));
EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.dex2oat-Xmx")).WillOnce(Return("xmx"));
EXPECT_CALL(*mock_props_, GetProperty("ro.config.low_ram")).WillOnce(Return("1"));
+ EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.appimageformat")).WillOnce(Return("imgfmt"));
EXPECT_CALL(*mock_exec_utils_,
DoExecAndReturnCode(
@@ -738,7 +744,8 @@ TEST_F(ArtdTest, dexoptFlagsFromSystemProps) {
Not(Contains("-Xdeny-art-apex-data-files")),
Contains(Flag("-Xms", "xms")),
Contains(Flag("-Xmx", "xmx")),
- Contains("--compile-individually"))),
+ Contains("--compile-individually"),
+ Contains(Flag("--image-format=", "imgfmt")))),
_,
_))
.WillOnce(Return(0));