RFC: Some expect cleanups for the threads tests

Daniel Jacobowitz
2003-07-26T16:04:39Z

These patches fix some testsuite problems on my setup - compiler and
assembler both support TLS, but the C library doesn't. I think you get a
different error (earlier) if the kernel doesn't support TLS; I'll have to
check at some point.

Elena, how do the two TLS changes look? The print-threads.exp just handles
the case where we weren't switching threads before reporting the SIGTRAP, so
the zombie notice was never printed. If you say "info threads" at that
point GDB crashes. I'll get that one later today.

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer

2003-07-26 Daniel Jacobowitz <drow@mvista.com>

* gdb.threads/print-threads.exp (test_all_threads): Loosen KFAIL
pattern.
* gdb.threads/tls-shared.exp: Don't use gdb_suppress_entire_file.
* gdb.threads/tls.exp: Recognize one case of the host library not
supporting TLS.

Index: gdb/testsuite/gdb.threads/print-threads.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/print-threads.exp,v
retrieving revision 1.4
diff -u -p -r1.4 print-threads.exp
--- gdb/testsuite/gdb.threads/print-threads.exp 29 Jun 2003 19:29:42 -0000 1.4
+++ gdb/testsuite/gdb.threads/print-threads.exp 26 Jul 2003 16:00:40 -0000
@@ -94,7 +94,7 @@ proc test_all_threads { name kill } {
fail "all threads ran once ($name) (total $i threads ran)"
}
}
- -re "Program received signal SIGTRAP.*Thread \[0-9\]* \\(zombie\\).*$gdb_prompt $" {
+ -re "Program received signal SIGTRAP.*(Thread \[0-9\]* \\(zombie\\)|0x00000000 in ).*$gdb_prompt $" {
if { $kill == 1 } {
kfail "gdb/1265" "Running threads ($name) (zombie thread)"
} else {
Index: gdb/testsuite/gdb.threads/tls-shared.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls-shared.exp,v
retrieving revision 1.1
diff -u -p -r1.1 tls-shared.exp
--- gdb/testsuite/gdb.threads/tls-shared.exp 22 Jul 2003 15:49:45 -0000 1.1
+++ gdb/testsuite/gdb.threads/tls-shared.exp 26 Jul 2003 16:00:40 -0000
@@ -78,7 +78,7 @@ if { ($gcc_compiled
}

if {[gdb_compile_pthreads "${objdir}/${subdir}/${testfile}.o ${objdir}/${subdir}/${libfile}.so" "${binfile}" executable [list debug $additional_flags]] != ""} {
- gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+ return -1
}

Index: gdb/testsuite/gdb.threads/tls.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.threads/tls.exp,v
retrieving revision 1.2
diff -u -p -r1.2 tls.exp
--- gdb/testsuite/gdb.threads/tls.exp 23 Jul 2003 03:08:26 -0000 1.2
+++ gdb/testsuite/gdb.threads/tls.exp 26 Jul 2003 16:00:40 -0000
@@ -172,6 +172,10 @@ gdb_test "b [gdb_get_line_number "before

send_gdb "continue\n"
gdb_expect {
+ -re ".*Program received signal SIGSEGV.*a_thread_local = 0;.*$gdb_prompt $" {
+ unsupported "continue to first thread: system does not support TLS"
+ return -1
+ }
-re ".*Program exited normally.*$gdb_prompt $" {
fail "continue to first thread: program runaway"
}