Fix test names starting with uppercase output by basic functions
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.python / py-evthreads.exp
index 89847f168f51f17dff671a48e122280aa508b015..c14b49a43069331fafbce5bab9656b8d45a8abd3 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2010-2016 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
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# 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 {[is_remote target]} {
+    # RuntimeError: Could not find event thread
+    kfail "python/12966" "Run to breakpoint 1"
+    return -1
+}
 
-if $tracelevel then {
-    strace $tracelevel
+if { ![support_displaced_stepping] } { 
+    unsupported "displaced stepping"
+    return -1
 }
 
 load_lib gdb-python.exp
 
-set testfile "py-evthreads"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile
 set pyfile ${srcdir}/${subdir}/py-events.py
 
-gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+    return -1
+}
 clean_restart $testfile
 
 if { [skip_python_tests] } { continue }
 
-gdb_test_no_output "python execfile ('${pyfile}')" ""
+gdb_test_no_output "python exec (open ('${pyfile}').read ())" ""
 
-gdb_test "Test_Events" "Event testers registered."
+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 "main"
 gdb_breakpoint "thread2"
 gdb_breakpoint "thread3"
 
-send_gdb "run\n"
-gdb_expect {
-    -re "event type: stop.*
-.*stop reason: breakpoint.*
-.*breakpoint number: 1.*
-.*thread num: 1.*" {
-        pass "reached breakpoint 1"
+gdb_run_cmd
+set test "run to breakpoint 1"
+gdb_test_multiple "" $test {
+    -re "event type: stop\r\nstop reason: breakpoint\r\nfirst breakpoint number: 1\r\nbreakpoint number: 1\r\nthread num: 1\r\n.*$gdb_prompt $" {
+        pass $test
     }
-    timeout {
-           fail "did not reach breakpoint 1"
-       }
-}
-
-send_gdb "next\n"
-gdb_expect {
-    -re "event type: stop.*
-.*stop reason: breakpoint.*
-.*breakpoint number: 2.*
-.*thread num: 2.*" {
-        pass "reached breakpoint 2"
+    -re "The target does not support running in non-stop mode" {
+        unsupported "non-stop mode is unsupported"
+        return
     }
-    timeout {
-           fail "did not reach breakpoint 2"
-       }
 }
 
-send_gdb "next\n"
-gdb_expect {
-    -re "event type: stop.*
-.*stop reason: breakpoint.*
-.*breakpoint number: 3.*
-.*thread num: 3.*" {
-        pass "reached breakpoint 3"
-    }
-    timeout {
-           fail "did not reach breakpoint 3"
-       }
-}
+gdb_test "next" "event type: stop\r\nstop reason: breakpoint\r\nfirst breakpoint number: 2\r\nbreakpoint number: 2\r\nthread num: 2.*" "reached breakpoint 2"
 
-send_gdb "continue&\n"
-gdb_expect {
-    -re ".*event type: continue.*
-.*thread num: 1.*\r\n$gdb_prompt " {
-        pass "continue thread 1"
-    }
-    timeout {
-           fail "continue thread 1 failed"
-       }
-}
+gdb_test "thread 2" {\[Switching to thread 2 .*}
+
+gdb_test "next" "event type: stop\r\nstop reason: breakpoint\r\nfirst breakpoint number: 3\r\nbreakpoint number: 3\r\nthread num: 3.*" "reached breakpoint 3"
+
+gdb_test "thread 3" {\[Switching to thread 3 .*}
 
-gdb_test "thread 2" ".*Switching to thread 2.*"
-send_gdb "continue&\n"
-gdb_expect {
-    -re ".*event type: continue.*
-.*thread num: 2.*" {
-        pass "continue thread 2"
+set test "continue thread 1"
+gdb_test_multiple "continue&" $test {
+    -re "event type: continue\r\nthread num: 3\r\n$gdb_prompt " {
+       # This expect string must not expect the end-of-buffer '$'.
+        pass $test
     }
-    timeout {
-           fail "continue thread 2 failed"
-       }
 }
 
-send_gdb "continue -a\n"
-gdb_expect {
-    -re ".*stop reason: signal.*
-.*stop signal: SIGSEGV.*
-.*thread num: 3.*" {
-        pass "thread 3 was signalled"
+set test "thread 3 was signaled"
+gdb_test_multiple "" $test {
+    -re "event type: stop\r\nstop reason: signal\r\nstop signal: SIGUSR1\r\nthread num: 3\r\nevent type: stop\r\n" {
+        pass $test
     }
-    timeout {
-           fail "thread 3 was not signalled"
-       }
 }
This page took 0.030979 seconds and 4 git commands to generate.