Added tests for DumpFile.
BUG: 31807540
BUG: 30564705
Test: mmm -j32 frameworks/native/cmds/dumpstate/ && adb push ${ANDROID_PRODUCT_OUT}/data/nativetest/dumpstate_test* /data/nativetest && adb shell /data/nativetest/dumpstate_test/dumpstate_test
Change-Id: Ide3a8d5f4b2c02b752ce6f6692c83b71ebdf62ed
diff --git a/cmds/dumpstate/utils.cpp b/cmds/dumpstate/utils.cpp
index a9118b1..b7645b4 100644
--- a/cmds/dumpstate/utils.cpp
+++ b/cmds/dumpstate/utils.cpp
@@ -591,11 +591,23 @@
int Dumpstate::DumpFile(const std::string& title, const std::string& path) {
DurationReporter durationReporter(title);
+ if (IsDryRun()) {
+ if (!title.empty()) {
+ printf("------ %s (%s) ------\n", title.c_str(), path.c_str());
+ printf("\t(skipped on dry run)\n");
+ }
+ UpdateProgress(WEIGHT_FILE);
+ return 0;
+ }
+
int fd = TEMP_FAILURE_RETRY(open(path.c_str(), O_RDONLY | O_NONBLOCK | O_CLOEXEC));
if (fd < 0) {
int err = errno;
- printf("*** %s: %s\n", path.c_str(), strerror(err));
- if (!title.empty()) printf("\n");
+ if (title.empty()) {
+ printf("*** Error dumping %s: %s\n", path.c_str(), strerror(err));
+ } else {
+ printf("*** Error dumping %s (%s): %s\n", path.c_str(), title.c_str(), strerror(err));
+ }
return -1;
}
return _dump_file_from_fd(title, path.c_str(), fd);