* Copyright (c) 2024 Cyril Hrubis <chrubis@suse.cz>
* Copyright (c) Linux Test Project, 2025
*/
#define TST_NO_DEFAULT_MAIN
#include "tst_test.h"
static void print_help(void)
{
printf("Usage: tst_{res,brk} filename lineno [TPASS|TBROK|TFAIL|TWARN|TCONF|TINFO|TDEBUG] 'A short description'\n");
}
int main(int argc, char *argv[])
{
int i, lineno, type;
if (argc < 5) {
fprintf(stderr, "%s:%d: invalid argc=%i, expected 5\n", __FILE__, __LINE__, argc);
goto help;
}
lineno = atoi(argv[2]);
if (!strcmp(argv[3], "TPASS")) {
type = TPASS;
} else if (!strcmp(argv[3], "TFAIL")) {
type = TFAIL;
} else if (!strcmp(argv[3], "TCONF")) {
type = TCONF;
} else if (!strcmp(argv[3], "TINFO")) {
type = TINFO;
} else if (!strcmp(argv[3], "TWARN")) {
type = TWARN;
} else if (!strcmp(argv[3], "TDEBUG")) {
type = TDEBUG;
} else if (!strcmp(argv[3], "TBROK")) {
type = TBROK;
} else {
fprintf(stderr, "%s:%d: Wrong type '%s' (invoked by %s:%d)\n", __FILE__,
__LINE__, argv[3], argv[1], lineno);
goto help;
}
size_t len = 0;
for (i = 4; i < argc; i++)
len += strlen(argv[i]) + 1;
char *msg = SAFE_MALLOC(len);
char *msgp = msg;
for (i = 4; i < argc; i++) {
msgp = strcpy(msgp, argv[i]);
msgp += strlen(argv[i]);
*(msgp++) = ' ';
}
*(msgp - 1) = 0;
tst_reinit();
tst_res_(argv[1], lineno, type, "%s", msg);
return 0;
help:
print_help();
return 1;
}