• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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