From 2f729fdbd6a3e70fb61dcc5b77fd86ea23edf8ae Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexandra=20H=C3=A1jkov=C3=A1?= Date: Mon, 16 Dec 2019 15:58:26 +0100 Subject: [PATCH] none/tests: Add test for bz414565. Integrate the test case written by Nikola Milutinovic to the testsuite. (https://bugs.kde.org/show_bug.cgi?id=414565) --- none/tests/Makefile.am | 7 +++++-- none/tests/sigprocmask.c | 26 ++++++++++++++++++++++++++ none/tests/sigprocmask.stderr.exp | 0 none/tests/sigprocmask.vgtest | 2 ++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 none/tests/sigprocmask.c create mode 100644 none/tests/sigprocmask.stderr.exp create mode 100644 none/tests/sigprocmask.vgtest diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am index b63c8d97c3..e2b0187664 100644 --- a/none/tests/Makefile.am +++ b/none/tests/Makefile.am @@ -203,7 +203,9 @@ EXTRA_DIST = \ unit_debuglog.stderr.exp unit_debuglog.vgtest \ vgprintf.stderr.exp vgprintf.vgtest \ vgprintf_nvalgrind.stderr.exp vgprintf_nvalgrind.vgtest \ - process_vm_readv_writev.stderr.exp process_vm_readv_writev.vgtest + process_vm_readv_writev.stderr.exp process_vm_readv_writev.vgtest \ + sigprocmask.stderr.exp sigprocmask.vgtest + check_PROGRAMS = \ args \ @@ -251,7 +253,8 @@ check_PROGRAMS = \ vgprintf_nvalgrind \ coolo_sigaction \ gxx304 \ - process_vm_readv_writev + process_vm_readv_writev \ + sigprocmask if HAVE_NESTED_FUNCTIONS check_PROGRAMS += nestedfns diff --git a/none/tests/sigprocmask.c b/none/tests/sigprocmask.c new file mode 100644 index 0000000000..4cb77c594c --- /dev/null +++ b/none/tests/sigprocmask.c @@ -0,0 +1,26 @@ +#define _GNU_SOURCE + +#include +#include +#include + +#include + +int main() { + + sigset_t oldset; + + const int TRASH = 123; + + // TRASH variable, that represents HOW parameter, should be ignored in this case + // Taken from: http://man7.org/linux/man-pages/man2/sigprocmask.2.html : + // If set is NULL, then the signal mask is unchanged (i.e., HOW is + // ignored), but the current value of the signal mask is nevertheless + // returned in oldset (if it is not NULL). + if (sigprocmask(TRASH, NULL, &oldset) == 0) { + exit(EXIT_FAILURE); + } else { + exit(EXIT_SUCCESS); + } + +} diff --git a/none/tests/sigprocmask.stderr.exp b/none/tests/sigprocmask.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/sigprocmask.vgtest b/none/tests/sigprocmask.vgtest new file mode 100644 index 0000000000..e0331280cb --- /dev/null +++ b/none/tests/sigprocmask.vgtest @@ -0,0 +1,2 @@ +prog: sigprocmask +vgopts: -q -- 2.47.2