• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2017 Cyril Hrubis <chrubis@suse.cz>
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of
7  * the License, or (at your option) any later version.
8  *
9  * This program is distributed in the hope that it would be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write the Free Software Foundation,
16  * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18 
19 /*
20  * Basic unit test for the tst_strstatus() function.
21  */
22 
23 #include "tst_test.h"
24 
25 static struct tcase {
26 	int status;
27 	const char *str;
28 } tcases[] = {
29 	{0x0100, "exited with 1"},
30 	{0x0001, "killed by SIGHUP"},
31 	{0x137f, "is stopped"},
32 	{0xffff, "is resumed"},
33 	{0xff, "invalid status 0xff"},
34 };
35 
do_test(unsigned int n)36 static void do_test(unsigned int n)
37 {
38 	const char *str_status = tst_strstatus(tcases[n].status);
39 
40 	if (strcmp(str_status, tcases[n].str))
41 		tst_res(TFAIL, "%s != %s", str_status, tcases[n].str);
42 	else
43 		tst_res(TPASS, "%s", str_status);
44 }
45 
46 static struct tst_test test = {
47 	.test = do_test,
48 	.tcnt = ARRAY_SIZE(tcases),
49 };
50