aboutsummaryrefslogtreecommitdiff
path: root/builtins/functions.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-02-18 14:38:05 -0500
committerBruce Hill <bruce@bruce-hill.com>2024-02-18 14:38:05 -0500
commitf77a45095a76b99c9d470bc861bd69f5cb5b8742 (patch)
tree609463ec5b7aab70955acacb7ee3bcc1deaec1d1 /builtins/functions.c
parent095970170ca3ef4a91970e02494f8056ca47c2c9 (diff)
Improved error messages
Diffstat (limited to 'builtins/functions.c')
-rw-r--r--builtins/functions.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/builtins/functions.c b/builtins/functions.c
index 4a29af40..4ca91d3e 100644
--- a/builtins/functions.c
+++ b/builtins/functions.c
@@ -20,11 +20,13 @@ extern bool USE_COLOR;
public const char *SSS_HASH_VECTOR = "sss hash vector ----------------------------------------------";;
-public void fail(const char *fmt, ...)
+public void fail(CORD fmt, ...)
{
va_list args;
va_start(args, fmt);
- vfprintf(stderr, fmt, args);
+ if (USE_COLOR) fputs("\x1b[31;7m FAIL: \x1b[m ", stderr);
+ else fputs("FAIL: ", stderr);
+ CORD_vfprintf(stderr, fmt, args);
va_end(args);
raise(SIGABRT);
}
@@ -145,7 +147,7 @@ public void __doctest(void *expr, TypeInfo *type, CORD expected, const char *fil
if (!success) {
if (filename && file)
fprint_span(stderr, file, file->text+start, file->text+end, "\x1b[31;1m", 2, USE_COLOR);
- fail(USE_COLOR ? "\x1b[31;1mExpected: \x1b[32;7m%s\x1b[0m\n\x1b[31;1m But got: \x1b[31;7m%s\x1b[0m\n" : "Expected: %s\n But got: %s\n",
+ fail(USE_COLOR ? "\x1b[31;1mDoctest failure:\nExpected: \x1b[32;7m%s\x1b[0m\n\x1b[31;1m But got: \x1b[31;7m%s\x1b[0m\n" : "Doctest failure:\nExpected: %s\n But got: %s\n",
expected, expr_str);
}
}