Improve the handling of profile snapshot in installd
Force aggregation when we take a snapshot. This will ensure we capture all
available data.
Also, pass the boot image flag when taking a snapshot for the boot image
profile. It will ignore regular app profiles during aggregation (instead
of failing).
Test: installd tests
Bug: 139884006
Change-Id: I110fc6e2639c170c6ae0bab812b0e4145113d093
diff --git a/cmds/installd/tests/installd_dexopt_test.cpp b/cmds/installd/tests/installd_dexopt_test.cpp
index 226d72f..69fefa1 100644
--- a/cmds/installd/tests/installd_dexopt_test.cpp
+++ b/cmds/installd/tests/installd_dexopt_test.cpp
@@ -897,7 +897,9 @@
std::string expected_profile_content = snap_profile_ + ".expected";
run_cmd("rm -f " + expected_profile_content);
run_cmd("touch " + expected_profile_content);
- run_cmd("profman --profile-file=" + cur_profile_ +
+ // We force merging when creating the expected profile to make sure
+ // that the random profiles do not affect the output.
+ run_cmd("profman --force-merge --profile-file=" + cur_profile_ +
" --profile-file=" + ref_profile_ +
" --reference-profile-file=" + expected_profile_content +
" --apk=" + apk_path_);