diff options
author | Colin Cross <ccross@android.com> | 2016-04-28 19:36:49 (GMT) |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2016-04-29 19:21:46 (GMT) |
commit | af4973d2251bf9bc616ceb5f9d9d64dd948ed569 (patch) | |
tree | 9da4c4ac38b96a3dcb998c53002233398dbe1aeb /src/build_test.cc | |
parent | f1b5d2bf37ba6cd10bf7ab4b51877d68eae97cbc (diff) | |
download | Ninja-af4973d2251bf9bc616ceb5f9d9d64dd948ed569.zip Ninja-af4973d2251bf9bc616ceb5f9d9d64dd948ed569.tar.gz Ninja-af4973d2251bf9bc616ceb5f9d9d64dd948ed569.tar.bz2 |
Fix NINJA_STATUS %r on dumb terminals
PR #999 made dumb terminals only output when edges finish. PrintStatus
is called after finished_edges_ is incremented, which means the
calculation for running edges will always return 1 less than the real
number of running processes. This happens on smart terminals too, but
ninja will immediately print the status for the next edge with
starting_edges_ incremented, so the incorrect value is never visible.
Pass a boolean specifying whether the status is being printed on an edge
finishing, and if so count the edge that just finished as being running.
Diffstat (limited to 'src/build_test.cc')
-rw-r--r-- | src/build_test.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/build_test.cc b/src/build_test.cc index 55d093e..06871d2 100644 --- a/src/build_test.cc +++ b/src/build_test.cc @@ -1286,7 +1286,8 @@ TEST_F(BuildWithLogTest, RestatTest) { ASSERT_EQ("", err); EXPECT_TRUE(builder_.Build(&err)); ASSERT_EQ("", err); - EXPECT_EQ("[3/3]", builder_.status_->FormatProgressStatus("[%s/%t]")); + EXPECT_EQ("[3/3]", builder_.status_->FormatProgressStatus("[%s/%t]", + BuildStatus::kEdgeStarted)); command_runner_.commands_ran_.clear(); state_.Reset(); @@ -1726,7 +1727,8 @@ TEST_F(BuildTest, DepsGccWithEmptyDepfileErrorsOut) { TEST_F(BuildTest, StatusFormatReplacePlaceholder) { EXPECT_EQ("[%/s0/t0/r0/u0/f0]", - status_.FormatProgressStatus("[%%/s%s/t%t/r%r/u%u/f%f]")); + status_.FormatProgressStatus("[%%/s%s/t%t/r%r/u%u/f%f]", + BuildStatus::kEdgeStarted)); } TEST_F(BuildTest, FailedDepsParse) { |