Platform abstraction for terminal colour
This commit is contained in:
@@ -1,16 +1,20 @@
|
||||
#include "tester.h"
|
||||
#include "aliases.h"
|
||||
#include "platform.h"
|
||||
#include "termcolour.h"
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
internal void print_test_result(TestFuncResult result);
|
||||
internal void print_test_result(TerminalColourist *colourist,
|
||||
TestFuncResult result);
|
||||
|
||||
void run_tests(TestFunc *func1, ...) {
|
||||
TerminalColourist colourist = wapp_termcolour_get_colourist();
|
||||
|
||||
printf("\n");
|
||||
|
||||
print_test_result(func1());
|
||||
print_test_result(&colourist, func1());
|
||||
|
||||
va_list args;
|
||||
va_start(args, func1);
|
||||
@@ -19,7 +23,7 @@ void run_tests(TestFunc *func1, ...) {
|
||||
|
||||
while (func) {
|
||||
TestFuncResult result = func();
|
||||
print_test_result(result);
|
||||
print_test_result(&colourist, result);
|
||||
|
||||
if (!result.passed) {
|
||||
exit(EXIT_FAILURE);
|
||||
@@ -33,18 +37,21 @@ void run_tests(TestFunc *func1, ...) {
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
internal void print_test_result(TestFuncResult result) {
|
||||
const char *colour;
|
||||
internal void print_test_result(TerminalColourist *colourist,
|
||||
TestFuncResult result) {
|
||||
TerminalColour colour;
|
||||
const char *result_text;
|
||||
|
||||
if (result.passed) {
|
||||
colour = TERM_COLOUR_FG_BR_GREEN;
|
||||
colour = WAPP_TERM_COLOUR_FG_BR_GREEN;
|
||||
result_text = "PASSED";
|
||||
} else {
|
||||
colour = TERM_COLOUR_FG_BR_RED;
|
||||
colour = WAPP_TERM_COLOUR_FG_BR_RED;
|
||||
result_text = "FAILED";
|
||||
}
|
||||
|
||||
printf("[%s%s%s%s] %s\n", colour, TERM_COLOUR_BOLD, result_text,
|
||||
TERM_COLOUR_CLEAR, result.name);
|
||||
printf("[");
|
||||
wapp_termcolour_print_text(colourist, result_text, colour);
|
||||
wapp_termcolour_clear_colour(colourist);
|
||||
printf("] %s\n", result.name);
|
||||
}
|
||||
|
Reference in New Issue
Block a user