binutils-gdb/gdb/testsuite/gdb.threads
Simon Marchi 3c55062cc1 gdb/testsuite: fix race in gdb.threads/signal-while-stepping-over-bp-other-thread.exp
Commit 3ec3145c5d ("gdb: introduce scoped debug prints") updated some
tests using "set debug infrun" to handle the fact that a debug print is
now shown after the prompt, after an inferior stop.  The same issue
happens in gdb.threads/signal-while-stepping-over-bp-other-thread.exp.
If I run it in a loop, it eventually fails like these other tests.

The problem is that the testsuite expects to see $gdb_prompt followed by
the end of the buffer.  It happens that expect reads $gdb_prompt and the
debug print at the same time, in which case the regexp never matches and
we get a timeout.

The fix is the same as was done in 3ec3145c5d, make the testsuite
believe that the prompt is the standard GDB prompt followed by that
debug print.

Since that test uses gdb_test_sequence, and the expected prompt is in
gdb_test_sequence, add a -prompt switch to gdb_test_sequence to override
the prompt used for that call.

gdb/testsuite/ChangeLog:

	* lib/gdb.exp (gdb_test_sequence): Accept -prompt switch.
	* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
	Pass prompt containing debug print to gdb_test_sequence.

Change-Id: I33161c53ddab45cdfeadfd50b964f8dc3caa9729
2021-01-06 10:53:22 -05:00
..
async.c
async.exp
attach-into-signal.c
attach-into-signal.exp
attach-many-short-lived-threads.c
attach-many-short-lived-threads.exp
attach-slow-waitpid.c
attach-slow-waitpid.exp
attach-stopped.c
attach-stopped.exp
bp_in_thread.c
bp_in_thread.exp
break-while-running.c
break-while-running.exp
check-libthread-db.c
check-libthread-db.exp
clone-attach-detach.c
clone-attach-detach.exp
clone-new-thread-event.c
clone-new-thread-event.exp
clone-thread_db.c
clone-thread_db.exp
continue-pending-after-query.c
continue-pending-after-query.exp
continue-pending-status.c
continue-pending-status.exp
corethreads.c
corethreads.exp
create-fail.c
create-fail.exp
current-lwp-dead.c
current-lwp-dead.exp
dlopen-libpthread-lib.c
dlopen-libpthread.c
dlopen-libpthread.exp
execl1.c
execl.c
execl.exp
fork-child-threads.c
fork-child-threads.exp
fork-plus-threads.c
fork-plus-threads.exp
fork-thread-pending.c
fork-thread-pending.exp
forking-threads-plus-breakpoint.c
forking-threads-plus-breakpoint.exp
gcore-stale-thread.c
gcore-stale-thread.exp
gcore-thread.exp
hand-call-in-threads.c
hand-call-in-threads.exp
hand-call-new-thread.c
hand-call-new-thread.exp
ia64-sigill.c
ia64-sigill.exp
info-threads-cur-sal-2.c
info-threads-cur-sal.c
info-threads-cur-sal.exp
interrupt-while-step-over.c
interrupt-while-step-over.exp
interrupted-hand-call.c
interrupted-hand-call.exp
kill.c
kill.exp
killed-outside.c
killed-outside.exp
killed.c
killed.exp
leader-exit.c
leader-exit.exp
linux-dp.c
linux-dp.exp
local-watch-wrong-thread.c
local-watch-wrong-thread.exp
manythreads.c
manythreads.exp
multi-create-ns-info-thr.exp
multi-create.c
multi-create.exp
multiple-step-overs.c
multiple-step-overs.exp
multiple-successive-infcall.c
multiple-successive-infcall.exp
names.c
names.exp
next-bp-other-thread.c
next-bp-other-thread.exp
next-while-other-thread-longjmps.c
next-while-other-thread-longjmps.exp
no-unwaited-for-left.c
no-unwaited-for-left.exp
non-ldr-exc-1.c
non-ldr-exc-1.exp
non-ldr-exc-2.c
non-ldr-exc-2.exp
non-ldr-exc-3.c
non-ldr-exc-3.exp
non-ldr-exc-4.c
non-ldr-exc-4.exp
non-ldr-exit.c
non-ldr-exit.exp
non-stop-fair-events.c
non-stop-fair-events.exp
omp-par-scope.c
omp-par-scope.exp
pending-step.c
pending-step.exp
print-threads.c
print-threads.exp
process-dies-while-detaching.c
process-dies-while-detaching.exp
process-dies-while-handling-bp.c
process-dies-while-handling-bp.exp
pthread_cond_wait.c
pthread_cond_wait.exp
pthreads.c
pthreads.exp
queue-signal.c
queue-signal.exp
reconnect-signal.c
reconnect-signal.exp
schedlock.c
schedlock.exp
siginfo-threads.c
siginfo-threads.exp
signal-command-handle-nopass.c
signal-command-handle-nopass.exp
signal-command-multiple-signals-pending.c
signal-command-multiple-signals-pending.exp
signal-delivered-right-thread.c
signal-delivered-right-thread.exp
signal-sigtrap.c
signal-sigtrap.exp
signal-while-stepping-over-bp-other-thread.c
signal-while-stepping-over-bp-other-thread.exp gdb/testsuite: fix race in gdb.threads/signal-while-stepping-over-bp-other-thread.exp 2021-01-06 10:53:22 -05:00
sigstep-threads.c
sigstep-threads.exp
sigthread.c
sigthread.exp
slow-waitpid.c
staticthreads.c
staticthreads.exp
step-bg-decr-pc-switch-thread.c
step-bg-decr-pc-switch-thread.exp
step-over-exec-execd.c
step-over-exec.c
step-over-exec.exp
step-over-lands-on-breakpoint.c
step-over-lands-on-breakpoint.exp
step-over-trips-on-watchpoint.c
step-over-trips-on-watchpoint.exp
stepi-random-signal.c
stepi-random-signal.exp
stop-with-handle.c
stop-with-handle.exp
switch-threads.c
switch-threads.exp
thread_check.c
thread_check.exp
thread_events.c
thread_events.exp
thread-execl.c
thread-execl.exp
thread-find.exp
thread-specific-bp.c
thread-specific-bp.exp
thread-specific.c
thread-specific.exp
thread-unwindonsignal.exp
threadapply.c
threadapply.exp
threxit-hop-specific.c
threxit-hop-specific.exp
tid-reuse.c
tid-reuse.exp
tls2.c
tls-core.c
tls-core.exp
tls-main.c
tls-nodebug-pie.c
tls-nodebug-pie.exp
tls-nodebug.c
tls-nodebug.exp
tls-shared.c
tls-shared.exp
tls-so_extern_main.c
tls-so_extern.c
tls-so_extern.exp
tls-var-main.c
tls-var.c
tls-var.exp
tls.c
tls.exp
vfork-follow-child-exec.c
vfork-follow-child-exec.exp
vfork-follow-child-exit.c
vfork-follow-child-exit.exp
watchpoint-fork-child.c
watchpoint-fork-mt.c
watchpoint-fork-parent.c
watchpoint-fork-st.c
watchpoint-fork.exp
watchpoint-fork.h
watchthreads2.c
watchthreads2.exp
watchthreads-reorder.c
watchthreads-reorder.exp
watchthreads.c
watchthreads.exp
wp-replication.c
wp-replication.exp