X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fui%2Fterminal%2Fmain.at;h=29fef65843bebea780e02284364c40e3079618bc;hb=56e6166660c0f1388cad4cb4d3189e026bc84dd5;hp=1ee822688f30b416438d145fa79a834739a526fc;hpb=afca77f0c62b04630fde858c923134e8c680ffa9;p=pspp
diff --git a/tests/ui/terminal/main.at b/tests/ui/terminal/main.at
index 1ee822688f..29fef65843 100644
--- a/tests/ui/terminal/main.at
+++ b/tests/ui/terminal/main.at
@@ -1,7 +1,74 @@
+dnl PSPP - a program for statistical analysis.
+dnl Copyright (C) 2017 Free Software Foundation, Inc.
+dnl
+dnl This program is free software: you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation, either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see .
+dnl
AT_BANNER([PSPP terminal UI])
AT_SETUP([nonexistent syntax file crash])
-AT_CHECK([pspp nonexistent], [1],
+AT_CHECK([pspp nonexistent], [1],
[error: Opening `nonexistent': No such file or directory.
])
AT_CLEANUP
+
+AT_SETUP([SIGTERM yields clean shutdown])
+AT_KEYWORDS([slow])
+AT_DATA([main.sps], [dnl
+INPUT PROGRAM.
+COMPUTE x = x + 1.
+DO IF x = 10000.
+END CASE.
+ELSE IF x < 0.
+END FILE.
+END IF.
+END INPUT PROGRAM.
+EXECUTE.
+])
+AT_CHECK([pspp main.sps & sleep 1; kill $!; wait $!], [143], [], [ignore])
+AT_CLEANUP
+
+AT_SETUP([SIGSEGV yields error report])
+
+# This test intentionally causes SIGSEGV, so make Address Sanitizer ignore it.
+ASAN_OPTIONS=$ASAN_OPTIONS:handle_segv=0; export ASAN_OPTIONS
+
+AT_CHECK([[echo 'host command=["kill -SEGV $PPID"].' | pspp -O format=csv]],
+ [139], [], [stderr])
+
+cat > expout <