summaryrefslogtreecommitdiffstats
path: root/src/ninja_test.cc
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2013-04-09 04:41:50 (GMT)
committerNico Weber <nicolasweber@gmx.de>2013-04-09 04:41:50 (GMT)
commit45fc9492718aab1256152edc112671214587f020 (patch)
tree53ac579cdda43d9c9bf9d7d7e838a5836fa3e12c /src/ninja_test.cc
parent6c274da149719fd13150ab0f1f853c524e128f1e (diff)
downloadNinja-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.cc20
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) {