This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Support inferior events in python


On 02/09/2011 02:55 AM, Jan Kratochvil wrote:
On Fri, 04 Feb 2011 21:06:37 +0100, sami wagiaalla wrote:
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-evthreads.exp
[...]
+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"
+	}
+}

This testcase has very random/racy results.



Hmm... I thought I fixed that by avoiding checking for the prompt. I can't reproduce the problem but maybe moving the thread test into its own testcase helps. It makes the setup simpler.


Sami


Move signal test into its own file.

2011-02-09  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.python/py-evsignal.exp: New file.

diff --git a/gdb/testsuite/gdb.python/py-evsignal.exp b/gdb/testsuite/gdb.python/py-evsignal.exp
new file mode 100644
index 0000000..4d1478f
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-evsignal.exp
@@ -0,0 +1,53 @@
+# 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 <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 $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"
+
+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.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"
-	}
-}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]