-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnk_test_printer.cpp
More file actions
49 lines (44 loc) · 1.52 KB
/
nk_test_printer.cpp
File metadata and controls
49 lines (44 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "nk_test_printer.h"
#define C1 "\e[31m"
#define C2 "\e[32m"
#define C3 "\e[33m"
#define CR "\e[m"
void NkTestPrinter::OnTestStart(const testing::TestInfo &t) {
std::cout << t.test_suite_name() << '.' << t.name() << " ... ";
std::flush(std::cout);
}
void NkTestPrinter::OnTestPartResult(const testing::TestPartResult &tpr) {
if (tpr.skipped() || !tpr.failed()) {
return;
}
std::cout << std::endl << "--" << std::endl;
if (is_atty_) {
std::cout << C1 << "Assertion Error in " << CR;
std::cout << C3 << tpr.file_name() << ':' << tpr.line_number() << CR;
} else {
std::cout << "Assertion Error in ";
std::cout << tpr.file_name() << ':' << tpr.line_number();
}
std::cout << std::endl << "--" << std::endl;
std::cout << tpr.summary();
std::cout << "--" << std::endl;
}
void NkTestPrinter::OnTestEnd(const testing::TestInfo &t) {
if (is_atty_) {
std::cout << C2 << "[ok]" << CR;
} else {
std::cout << "[ok]";
}
long mils = t.result()->elapsed_time();
if (mils != 0) {
std::cout << " (" << mils << "ms)";
}
std::cout << std::endl;
}
void NkTestPrinter::OnTestProgramEnd(const testing::UnitTest &u) {
std::cout << "All " << u.total_test_count() << " test(s) completed."
<< std::endl;
std::cout << "* passed: " << u.successful_test_count() << std::endl;
std::cout << "* failed: " << u.failed_test_count() << std::endl;
std::cout << u.elapsed_time() << "ms elapsed." << std::endl;
}