]> granicus.if.org Git - strace/commitdiff
tests: add sigaltstack.test
authorElvira Khabirova <lineprinter0@gmail.com>
Fri, 17 Jul 2015 01:45:25 +0000 (04:45 +0300)
committerDmitry V. Levin <ldv@altlinux.org>
Sat, 18 Jul 2015 00:01:40 +0000 (00:01 +0000)
* tests/sigaltstack.c: New file.
* tests/sigaltstack.expected: Likewise.
* tests/sigaltstack.test: New test.
* tests/Makefile.am (check_PROGRAMS): Add sigaltstack.
(TESTS): Add sigaltstack.test.
(EXTRA_DIST): sigaltstack.expected.
* tests/.gitignore: Add sigaltstack.

tests/.gitignore
tests/Makefile.am
tests/sigaltstack.c [new file with mode: 0644]
tests/sigaltstack.expected [new file with mode: 0644]
tests/sigaltstack.test [new file with mode: 0755]

index df25127fc3680b96186ac3def964ddc9cd7e927a..449e64cb215389684e2dd02d9e47b3fe99a4891e 100644 (file)
@@ -21,6 +21,7 @@ seccomp
 select
 set_ptracer_any
 sigaction
+sigaltstack
 sigreturn
 stack-fcall
 stat
index 545bb9920511b629d63f177528944cb149125809..cdeea06254f668011cf42a56a9c271d8f5ecdc56 100644 (file)
@@ -32,6 +32,7 @@ check_PROGRAMS = \
        select \
        set_ptracer_any \
        sigaction \
+       sigaltstack \
        sigreturn \
        stack-fcall \
        stat \
@@ -75,6 +76,7 @@ TESTS = \
        seccomp.test \
        select.test \
        sigaction.test \
+       sigaltstack.test \
        sigreturn.test \
        stat.test \
        stat32-v.test \
@@ -131,6 +133,7 @@ EXTRA_DIST = init.sh run.sh match.awk \
             restart_syscall_unknown.expected \
             select.awk \
             sigaction.awk \
+            sigaltstack.expected \
             statfs.expected \
             sun_path.expected \
             uid.awk \
diff --git a/tests/sigaltstack.c b/tests/sigaltstack.c
new file mode 100644 (file)
index 0000000..10a4b6b
--- /dev/null
@@ -0,0 +1,12 @@
+#include <signal.h>
+
+int
+main(void)
+{
+       stack_t ss = {
+               .ss_sp = (void *) 0xbaadf00d,
+               .ss_flags = SS_DISABLE,
+               .ss_size = 0xdeadbeef
+       };
+       return sigaltstack(&ss, (stack_t *) 0) ? 77 : 0;
+}
diff --git a/tests/sigaltstack.expected b/tests/sigaltstack.expected
new file mode 100644 (file)
index 0000000..be8092b
--- /dev/null
@@ -0,0 +1,2 @@
+sigaltstack({ss_sp=0xbaadf00d, ss_flags=SS_DISABLE, ss_size=3735928559}, NULL) = 0
++++ exited with 0 +++
diff --git a/tests/sigaltstack.test b/tests/sigaltstack.test
new file mode 100755 (executable)
index 0000000..ff83c2e
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Check sigaltstack syscall decoding.
+
+. "${srcdir=.}/init.sh"
+
+run_prog
+run_strace -e sigaltstack $args
+match_diff
+
+exit 0