diff options
author | Nico Weber <nicolasweber@gmx.de> | 2013-04-09 04:41:50 (GMT) |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2013-04-09 04:41:50 (GMT) |
commit | 45fc9492718aab1256152edc112671214587f020 (patch) | |
tree | 53ac579cdda43d9c9bf9d7d7e838a5836fa3e12c /src/ninja_test.cc | |
parent | 6c274da149719fd13150ab0f1f853c524e128f1e (diff) | |
download | Ninja-45fc9492718aab1256152edc112671214587f020.zip Ninja-45fc9492718aab1256152edc112671214587f020.tar.gz Ninja-45fc9492718aab1256152edc112671214587f020.tar.bz2 |
Make ninja_test output nicer.
Diffstat (limited to 'src/ninja_test.cc')
-rw-r--r-- | src/ninja_test.cc | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/ninja_test.cc b/src/ninja_test.cc index 5808e39..8e431ab 100644 --- a/src/ninja_test.cc +++ b/src/ninja_test.cc @@ -31,9 +31,16 @@ std::string StringPrintf(const char* format, ...) { /// A test result printer that's less wordy than gtest's default. class LaconicPrinter : public testing::EmptyTestEventListener { public: + LaconicPrinter() : tests_started_(0), test_count_(0) {} + virtual void OnTestProgramStart(const testing::UnitTest& unit_test) { + test_count_ = unit_test.test_to_run_count(); + } + virtual void OnTestStart(const testing::TestInfo& test_info) { - printer_.Print(StringPrintf("%s.%s starting", test_info.test_case_name(), - test_info.name()), LinePrinter::SHORT); + ++tests_started_; + printer_.Print(StringPrintf("[%d/%d] %s.%s", tests_started_, test_count_, + test_info.test_case_name(), test_info.name()), + LinePrinter::SHORT); } virtual void OnTestPartResult( @@ -45,17 +52,14 @@ class LaconicPrinter : public testing::EmptyTestEventListener { test_part_result.line_number(), test_part_result.summary())); } - virtual void OnTestEnd(const testing::TestInfo& test_info) { - printer_.Print(StringPrintf("%s.%s ending", test_info.test_case_name(), - test_info.name()), LinePrinter::SHORT); - } - virtual void OnTestProgramEnd(const testing::UnitTest& unit_test) { - printer_.PrintOnNewLine(""); + printer_.PrintOnNewLine(unit_test.Passed() ? "passed\n" : "failed\n"); } private: LinePrinter printer_; + int tests_started_; + int test_count_; }; int main(int argc, char **argv) { |