1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * Copyright (c) 2024 Cyril Hrubis <chrubis@suse.cz>
4 */
5
6 #define TST_NO_DEFAULT_MAIN
7 #include "tst_test.h"
8
print_help(void)9 static void print_help(void)
10 {
11 printf("Usage: tst_{res,brk} filename lineno [TPASS|TBROK|TFAIL|TCONF|TINFO|TDEBUG] 'A short description'\n");
12 }
13
main(int argc,char * argv[])14 int main(int argc, char *argv[])
15 {
16 int type, i;
17
18 if (argc < 5) {
19 printf("argc = %i expected 5\n", argc);
20 goto help;
21 }
22
23 if (!strcmp(argv[3], "TPASS")) {
24 type = TPASS;
25 } else if (!strcmp(argv[3], "TFAIL")) {
26 type = TFAIL;
27 } else if (!strcmp(argv[3], "TCONF")) {
28 type = TCONF;
29 } else if (!strcmp(argv[3], "TINFO")) {
30 type = TINFO;
31 } else if (!strcmp(argv[3], "TDEBUG")) {
32 type = TDEBUG;
33 } else if (!strcmp(argv[3], "TBROK")) {
34 type = TBROK;
35 } else {
36 printf("Wrong type '%s'\n", argv[3]);
37 goto help;
38 }
39
40 size_t len = 0;
41
42 for (i = 4; i < argc; i++)
43 len += strlen(argv[i]) + 1;
44
45 char *msg = SAFE_MALLOC(len);
46 char *msgp = msg;
47
48 for (i = 4; i < argc; i++) {
49 msgp = strcpy(msgp, argv[i]);
50 msgp += strlen(argv[i]);
51 *(msgp++) = ' ';
52 }
53
54 *(msgp - 1) = 0;
55
56 tst_reinit();
57
58 tst_res_(argv[1], atoi(argv[2]), type, "%s", msg);
59
60 return 0;
61 help:
62 print_help();
63 return 1;
64 }
65