From 09b00c49c496a3e667e29fd0a29a1ac9ea31be91 Mon Sep 17 00:00:00 2001 From: Rhys Kidd Date: Sat, 23 May 2015 10:20:06 +0000 Subject: [PATCH] Add (presently) failing test case for bz#234814. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15282 --- none/tests/Makefile.am | 3 ++- none/tests/bug234814.c | 30 ++++++++++++++++++++++++++++++ none/tests/bug234814.stderr.exp | 1 + none/tests/bug234814.stdout.exp | 3 +++ none/tests/bug234814.vgtest | 1 + 5 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 none/tests/bug234814.c create mode 100644 none/tests/bug234814.stderr.exp create mode 100644 none/tests/bug234814.stdout.exp create mode 100644 none/tests/bug234814.vgtest diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am index 4c35f65137..1dfcfc498d 100644 --- a/none/tests/Makefile.am +++ b/none/tests/Makefile.am @@ -77,6 +77,7 @@ EXTRA_DIST = \ bigcode.vgtest bigcode.stderr.exp bigcode.stdout.exp \ bitfield1.stderr.exp bitfield1.vgtest \ bug129866.vgtest bug129866.stderr.exp bug129866.stdout.exp \ + bug234814.vgtest bug234814.stderr.exp bug234814.stdout.exp \ closeall.stderr.exp closeall.vgtest \ cmdline0.stderr.exp cmdline0.stdout.exp cmdline0.vgtest \ cmdline1.stderr.exp cmdline1.stdout.exp cmdline1.vgtest \ @@ -182,7 +183,7 @@ check_PROGRAMS = \ ansi args \ async-sigs \ bitfield1 \ - bug129866 \ + bug129866 bug234814 \ closeall coolo_strlen \ discard exec-sigmask execve faultstatus fcntl_setown \ fdleak_cmsg fdleak_creat fdleak_dup fdleak_dup2 \ diff --git a/none/tests/bug234814.c b/none/tests/bug234814.c new file mode 100644 index 0000000000..9171b13142 --- /dev/null +++ b/none/tests/bug234814.c @@ -0,0 +1,30 @@ +/* Refer https://bugs.kde.org/show_bug.cgi?id=234814 + */ + +#include +#include +#include + +const char kSigbus[] = "I caught the SIGBUS signal!\n"; + +int GLOB = 3; + +void mysigbus() { + write(2, kSigbus, sizeof(kSigbus)); + GLOB--; + return; +} + +int main() { + struct sigaction sa; + sa.sa_handler = mysigbus; + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + if (sigaction(SIGBUS, &sa, NULL) == -1) { + perror("ERROR:"); + } + while(GLOB) { + kill(getpid(), SIGBUS); + }; + return 0; +} \ No newline at end of file diff --git a/none/tests/bug234814.stderr.exp b/none/tests/bug234814.stderr.exp new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/none/tests/bug234814.stderr.exp @@ -0,0 +1 @@ + diff --git a/none/tests/bug234814.stdout.exp b/none/tests/bug234814.stdout.exp new file mode 100644 index 0000000000..66c57f8660 --- /dev/null +++ b/none/tests/bug234814.stdout.exp @@ -0,0 +1,3 @@ +I caught the SIGBUS signal! +I caught the SIGBUS signal! +I caught the SIGBUS signal! diff --git a/none/tests/bug234814.vgtest b/none/tests/bug234814.vgtest new file mode 100644 index 0000000000..67a28e6a74 --- /dev/null +++ b/none/tests/bug234814.vgtest @@ -0,0 +1 @@ +prog: bug234814 -- 2.47.3