Merge "Always print the initial bugreport progress message."

This commit is contained in:
Treehugger Robot 2017-05-24 02:05:13 +00:00 committed by Gerrit Code Review
commit 5b17d7131b
2 changed files with 24 additions and 1 deletions

View File

@ -149,7 +149,7 @@ class BugreportStandardStreamsCallback : public StandardStreamsCallbackInterface
int progress = std::stoi(line.substr(idx1, (idx2 - idx1)));
int total = std::stoi(line.substr(idx2 + 1));
int progress_percentage = (progress * 100 / total);
if (progress_percentage <= last_progress_percentage_) {
if (progress_percentage != 0 && progress_percentage <= last_progress_percentage_) {
// Ignore.
return;
}

View File

@ -311,6 +311,29 @@ TEST_F(BugreportTest, OkProgressAlwaysForward) {
ASSERT_EQ(0, br_.DoIt(kTransportLocal, "HannibalLecter", 2, args));
}
// Tests 'adb bugreport file.zip' when it succeeds and displays the initial progress of 0%
TEST_F(BugreportTest, OkProgressZeroPercentIsNotIgnored) {
ExpectBugreportzVersion("1.1");
ExpectProgress(0);
ExpectProgress(1);
// clang-format off
EXPECT_CALL(br_, SendShellCommand(kTransportLocal, "HannibalLecter", "bugreportz -p", false, _))
// NOTE: DoAll accepts at most 10 arguments, and we're almost reached that limit...
.WillOnce(DoAll(
WithArg<4>(WriteOnStdout("BEGIN:/device/bugreport.zip\n")),
WithArg<4>(WriteOnStdout("PROGRESS:1/100000\n")),
WithArg<4>(WriteOnStdout("PROGRESS:1/100\n")), // 1%
WithArg<4>(WriteOnStdout("OK:/device/bugreport.zip")),
WithArg<4>(ReturnCallbackDone())));
// clang-format on
EXPECT_CALL(br_, DoSyncPull(ElementsAre(StrEq("/device/bugreport.zip")), StrEq("file.zip"),
true, StrEq("pulling file.zip")))
.WillOnce(Return(true));
const char* args[] = {"bugreport", "file.zip"};
ASSERT_EQ(0, br_.DoIt(kTransportLocal, "HannibalLecter", 2, args));
}
// Tests 'adb bugreport dir' when it succeeds and destination is a directory.
TEST_F(BugreportTest, OkDirectory) {
ExpectBugreportzVersion("1.1");