Update profman to support artd use cases.
1. Return 100 instead of 1 for usage error. 1 is already used to
represent kCompile.
2. Move profman return codes to a separate header file so that artd can
reference them.
3. Allow running profman with `--reference-profile-file(-fd)` but no
`--profile-file(-fd)`. In this case, profman returns either
`kSkipCompilationSmallDelta`, `kSkipCompilationEmptyProfiles`, or
errors. It is essentially a profile checker that checks whether the
reference profile is usable or not.
4. Add a new return code kCopyAndUpdateNoUpdate for the case where
profman is run with `--copy-and-update-profile-key` and the copy
succeeds but nothing has been updated.
5. Use positive values for `--copy-and-update-profile-key` errors
instead of negative values because the exit code range is 0~255.
- Change #1 is safe because there is no one checking the exit code
against 1 for usage error. (If there were, the check would be wrong
anyway.)
- Change #4 and #5 are safe because only installd calls profman with
`--copy-and-update-profile-key`, and installd doesn't check the exit
code.
Bug: 229268202
Test: m test-art-host-gtest-art_profman_tests
Change-Id: I8e82c14955519244852166bc7753df4a2bd102ef
Merged-In: I8e82c14955519244852166bc7753df4a2bd102ef
(cherry picked from commit e3d589c26d6f97c4031986132afd4eb1ef00fe4c)
9 files changed