xref: /kvm-unit-tests/lib/report.c (revision f3cdd1591ac895d078481a12f2fb831d48e37174)
1*f3cdd159SJan Kiszka /*
2*f3cdd159SJan Kiszka  * Test result reporting
3*f3cdd159SJan Kiszka  *
4*f3cdd159SJan Kiszka  * Copyright (c) Siemens AG, 2014
5*f3cdd159SJan Kiszka  *
6*f3cdd159SJan Kiszka  * Authors:
7*f3cdd159SJan Kiszka  *  Jan Kiszka <jan.kiszka@siemens.com>
8*f3cdd159SJan Kiszka  *
9*f3cdd159SJan Kiszka  * This work is licensed under the terms of the GNU LGPL, version 2.
10*f3cdd159SJan Kiszka  */
11*f3cdd159SJan Kiszka 
12*f3cdd159SJan Kiszka #include "libcflat.h"
13*f3cdd159SJan Kiszka 
14*f3cdd159SJan Kiszka static unsigned int tests, failures;
15*f3cdd159SJan Kiszka 
16*f3cdd159SJan Kiszka void report(const char *msg_fmt, bool pass, ...)
17*f3cdd159SJan Kiszka {
18*f3cdd159SJan Kiszka 	char buf[2000];
19*f3cdd159SJan Kiszka 	va_list va;
20*f3cdd159SJan Kiszka 
21*f3cdd159SJan Kiszka 	tests++;
22*f3cdd159SJan Kiszka 	printf("%s: ", pass ? "PASS" : "FAIL");
23*f3cdd159SJan Kiszka 	va_start(va, pass);
24*f3cdd159SJan Kiszka 	vsnprintf(buf, sizeof(buf), msg_fmt, va);
25*f3cdd159SJan Kiszka 	va_end(va);
26*f3cdd159SJan Kiszka 	puts(buf);
27*f3cdd159SJan Kiszka 	puts("\n");
28*f3cdd159SJan Kiszka 	if (!pass)
29*f3cdd159SJan Kiszka 		failures++;
30*f3cdd159SJan Kiszka }
31*f3cdd159SJan Kiszka 
32*f3cdd159SJan Kiszka int report_summary(void)
33*f3cdd159SJan Kiszka {
34*f3cdd159SJan Kiszka 	printf("\nSUMMARY: %d tests, %d failures\n", tests, failures);
35*f3cdd159SJan Kiszka 	return failures > 0 ? 1 : 0;
36*f3cdd159SJan Kiszka }
37