Rafał Harabień : include: Allow printing test failure messages in bright red.
Module: wine Branch: master Commit: 549969a6fb4b3206cda595f688d8b1f166313f20 URL: https://gitlab.winehq.org/wine/wine/-/commit/549969a6fb4b3206cda595f688d8b1f... Author: Rafał Harabień <rafalh1992(a)o2.pl> Date: Sun Mar 27 12:26:14 2022 -0500 include: Allow printing test failure messages in bright red. Colours are disabled by default, and can be enabled using WINETEST_COLOR=1. --- include/wine/test.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/wine/test.h b/include/wine/test.h index 6d18dfa3915..2bfdb56da0c 100644 --- a/include/wine/test.h +++ b/include/wine/test.h @@ -199,6 +199,9 @@ int winetest_report_success = 0; /* silence todos and skips above this threshold */ int winetest_mute_threshold = 42; +/* use ANSI escape codes for output coloring */ +static int winetest_color; + /* passing arguments around */ static int winetest_argc; static char** winetest_argv; @@ -277,6 +280,9 @@ const char *winetest_elapsed(void) return wine_dbg_sprintf( "%.3f", (now - winetest_start_time) / 1000.0); } +static const char color_reset[] = "\e[0m"; +static const char color_bright_red[] = "\e[1;91m"; + static void winetest_printf( const char *msg, ... ) __WINE_PRINTF_ATTR(1,2); static void winetest_printf( const char *msg, ... ) { @@ -374,8 +380,10 @@ int winetest_vok( int condition, const char *msg, va_list args ) { if (!condition) { + if (winetest_color) printf( color_bright_red ); winetest_print_context( "Test failed: " ); vprintf(msg, args); + if (winetest_color) printf( color_reset ); InterlockedIncrement(&failures); return 0; } @@ -656,6 +664,7 @@ int main( int argc, char **argv ) else if (running_under_wine()) winetest_platform = "wine"; + if (GetEnvironmentVariableA( "WINETEST_COLOR", p, sizeof(p) )) winetest_color = atoi(p); if (GetEnvironmentVariableA( "WINETEST_DEBUG", p, sizeof(p) )) winetest_debug = atoi(p); if (GetEnvironmentVariableA( "WINETEST_INTERACTIVE", p, sizeof(p) )) winetest_interactive = atoi(p); if (GetEnvironmentVariableA( "WINETEST_REPORT_SUCCESS", p, sizeof(p) )) winetest_report_success = atoi(p);
participants (1)
-
Alexandre Julliard