dte test coverage


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 50.0% high: ≥ 85.0%
Coverage Exec / Excl / Total
Lines: 74.3% 26 / 0 / 35
Functions: 71.4% 5 / 0 / 7
Branches: 50.0% 1 / 0 / 2

src/util/exitcode.c
Line Branch Exec Source
1 #include <stdarg.h>
2 #include <stdio.h>
3 #include <unistd.h>
4 #include "exitcode.h"
5 #include "xreadwrite.h"
6
7 ExitCode ec_error(const char *prefix, ExitCode ec)
8 {
9 perror(prefix);
10 return ec;
11 }
12
13 3 ExitCode ec_write_stdout(const char *str, size_t len)
14 {
15 3 ssize_t r = xwrite_all(STDOUT_FILENO, str, len);
16
1/2
✗ Branch 3 → 4 not taken.
✓ Branch 3 → 5 taken 3 times.
3 return likely(r >= 0) ? EC_OK : ec_error("write", EC_IO_ERROR);
17 }
18
19 VPRINTF(1) NONNULL_ARGS
20 5 static void ec_verrorf(const char *restrict fmt, va_list v)
21 {
22 5 (void)!fputs("Error: ", stderr);
23 5 (void)!vfprintf(stderr, fmt, v);
24 5 (void)!fputc('\n', stderr);
25 5 }
26
27 4 ExitCode ec_usage_error(const char *restrict fmt, ...)
28 {
29 4 va_list v;
30 4 va_start(v, fmt);
31 4 ec_verrorf(fmt, v);
32 4 va_end(v);
33 4 return EC_USAGE_ERROR;
34 }
35
36 1 ExitCode ec_io_error(const char *restrict fmt, ...)
37 {
38 1 va_list v;
39 1 va_start(v, fmt);
40 1 ec_verrorf(fmt, v);
41 1 va_end(v);
42 1 return EC_IO_ERROR;
43 }
44
45 ExitCode ec_os_error(const char *restrict fmt, ...)
46 {
47 va_list v;
48 va_start(v, fmt);
49 ec_verrorf(fmt, v);
50 va_end(v);
51 return EC_OS_ERROR;
52 }
53
54 2 ExitCode ec_printf_ok(const char *restrict fmt, ...)
55 {
56 2 va_list v;
57 2 va_start(v, fmt);
58 2 (void)!vfprintf(stdout, fmt, v);
59 2 va_end(v);
60 2 return EC_OK;
61 }
62