From: Shankara Pailoor Date: Thu, 20 Dec 2018 13:27:40 +0000 (-0800) Subject: tests: check that printsignal handles xlat styles properly X-Git-Tag: v4.26~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fa35f3e87de2854475d176ccdcce7a19191a0d34;p=strace tests: check that printsignal handles xlat styles properly * tests/printsignal.c: New file. * tests/Makefile.am (EXTRA_DIST): Add it. * tests/printsignal-Xabbrev.c: New file. * tests/printsignal-Xraw.c: Likewise. * tests/printsignal-Xverbose.c: Likewise. * tests/gen_tests.in (printsignal-Xabbrev, printsignal-Xraw, printsignal-Xverbose): New tests. * tests/pure_executables.list: Add printsignal-Xabbrev, * printsignal-Xraw, and printsignal-Xverbose. * tests/.gitignore: Likewise. Co-Authored-by: Dmitry V. Levin --- diff --git a/tests/.gitignore b/tests/.gitignore index 918b95be..d5bc1bd6 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -391,6 +391,9 @@ print_maxfd printpath-umovestr printpath-umovestr-peekdata printpath-umovestr-undumpable +printsignal-Xabbrev +printsignal-Xraw +printsignal-Xverbose printstr printstrn-umoven printstrn-umoven-peekdata diff --git a/tests/Makefile.am b/tests/Makefile.am index 1f0e5a9c..825c989b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -391,6 +391,7 @@ EXTRA_DIST = \ nlattr_ifla.h \ pipe.expected \ print_user_desc.c \ + printsignal.c \ process_vm_readv_writev.c \ pure_executables.list \ qual_fault-exit_group.expected \ diff --git a/tests/gen_tests.in b/tests/gen_tests.in index 9f7e605c..037116d3 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -324,6 +324,9 @@ printstr -e trace=writev printpath-umovestr -a11 -e signal=none -e trace=chdir printpath-umovestr-peekdata -a11 -e signal=none -e trace=chdir printpath-umovestr-undumpable -a11 -e signal=none -e trace=chdir +printsignal-Xabbrev -a11 -Xabbrev -e signal=none -e trace=kill +printsignal-Xraw -a11 -Xraw -e signal=none -e trace=kill +printsignal-Xverbose -a11 -Xverbose -e signal=none -e trace=kill printstrn-umoven -s4096 -e signal=none -e trace=add_key printstrn-umoven-peekdata -e signal=none -e trace=add_key printstrn-umoven-undumpable -e signal=none -e trace=add_key diff --git a/tests/printsignal-Xabbrev.c b/tests/printsignal-Xabbrev.c new file mode 100644 index 00000000..dfd93eee --- /dev/null +++ b/tests/printsignal-Xabbrev.c @@ -0,0 +1 @@ +#include "printsignal.c" diff --git a/tests/printsignal-Xraw.c b/tests/printsignal-Xraw.c new file mode 100644 index 00000000..47d75b77 --- /dev/null +++ b/tests/printsignal-Xraw.c @@ -0,0 +1,2 @@ +#define XLAT_RAW 1 +#include "printsignal.c" diff --git a/tests/printsignal-Xverbose.c b/tests/printsignal-Xverbose.c new file mode 100644 index 00000000..4bb13302 --- /dev/null +++ b/tests/printsignal-Xverbose.c @@ -0,0 +1,2 @@ +#define XLAT_VERBOSE 1 +#include "printsignal.c" diff --git a/tests/printsignal.c b/tests/printsignal.c new file mode 100644 index 00000000..4f5f9866 --- /dev/null +++ b/tests/printsignal.c @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2014-2018 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#include "tests.h" +#include +#include +#include + +int +main(void) +{ + const pid_t pid = getpid(); + int rc = kill(pid, SIGCONT); +#if XLAT_RAW + printf("kill(%d, %d) = %s\n", pid, SIGCONT, sprintrc(rc)); +#elif XLAT_VERBOSE + printf("kill(%d, %d /* SIGCONT */) = %s\n", pid, SIGCONT, sprintrc(rc)); +#else /* XLAT_ABBREV */ + printf("kill(%d, SIGCONT) = %s\n", pid, sprintrc(rc)); +#endif + + static const int sigs[] = { 0, 256, -1 }; + for (unsigned int i = 0; i < ARRAY_SIZE(sigs); ++i) { + rc = kill(pid, sigs[i]); + printf("kill(%d, %d) = %s\n", pid, sigs[i], sprintrc(rc)); + } + + printf("+++ exited with 0 +++\n"); + return 0; +} diff --git a/tests/pure_executables.list b/tests/pure_executables.list index b8120f2b..d7c8ae00 100755 --- a/tests/pure_executables.list +++ b/tests/pure_executables.list @@ -327,6 +327,9 @@ preadv2-pwritev2 printpath-umovestr printpath-umovestr-peekdata printpath-umovestr-undumpable +printsignal-Xabbrev +printsignal-Xraw +printsignal-Xverbose printstr printstrn-umoven printstrn-umoven-peekdata