Move signal test into its own file. Initialize bad pointer. 2011-02-11 Sami Wagiaalla * gdb.python/py-evsignal.exp: New file. * gdb.python/py-evthreads.cc: Initialize bad pointer to NULL. diff --git a/gdb/testsuite/gdb.python/py-evsignal.exp b/gdb/testsuite/gdb.python/py-evsignal.exp new file mode 100644 index 0000000..6fbe033 --- /dev/null +++ b/gdb/testsuite/gdb.python/py-evsignal.exp @@ -0,0 +1,55 @@ +# Copyright (C) 2010, 2011 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# This file is part of the GDB testsuite. It tests Python-based +# pretty-printing for the CLI. + +# Skip all tests if Python scripting is not enabled. + +if $tracelevel then { + strace $tracelevel +} + +load_lib gdb-python.exp + +set testfile "py-evthreads" +set srcfile ${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} +set pyfile ${srcdir}/${subdir}/py-events.py + +gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings} +clean_restart $testfile + +if { [skip_python_tests] } { continue } + +gdb_test_no_output "python execfile ('${pyfile}')" "" + +gdb_test "Test_Events" "Event testers registered." +gdb_test_no_output "set non-stop on" +gdb_test_no_output "set target-async on" + +gdb_breakpoint [gdb_get_line_number "end of main"] + +send_gdb "run\n" +gdb_expect { + -re ".*stop reason: signal.* +.*stop signal: SIGSEGV.* +.*thread num: 3.*" { + pass "thread 3 was signalled" + } + timeout { + fail "thread 3 was not signalled" + } +} diff --git a/gdb/testsuite/gdb.python/py-evthreads.c b/gdb/testsuite/gdb.python/py-evthreads.c index 1464ce6..55414ed 100644 --- a/gdb/testsuite/gdb.python/py-evthreads.c +++ b/gdb/testsuite/gdb.python/py-evthreads.c @@ -28,7 +28,7 @@ void* thread3 (void* d) int count3 = 0; count3++; - int *bad; + int *bad = NULL; *bad = 1; return NULL; @@ -46,10 +46,10 @@ int main (){ pthread_create (&thread2_id, NULL, thread2, NULL); pthread_create (&thread3_id, NULL, thread3, NULL); - int count1 = 0; // stop1 + int count1 = 0; count1++; pthread_join (thread2_id, NULL); pthread_join (thread3_id, NULL); - return 12; + return 12; // end of main } diff --git a/gdb/testsuite/gdb.python/py-evthreads.exp b/gdb/testsuite/gdb.python/py-evthreads.exp index 6ea7eb4..957d345 100644 --- a/gdb/testsuite/gdb.python/py-evthreads.exp +++ b/gdb/testsuite/gdb.python/py-evthreads.exp @@ -106,14 +106,3 @@ gdb_expect { } } -send_gdb "continue -a\n" -gdb_expect { - -re ".*stop reason: signal.* -.*stop signal: SIGSEGV.* -.*thread num: 3.*" { - pass "thread 3 was signalled" - } - timeout { - fail "thread 3 was not signalled" - } -}