[RFA_v2,7/8] Modify gdb.threads/threads.exp to test FLAGS vqcs for thread apply
Commit Message
gdb/testsuite/ChangeLog
2018-06-05 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.threads/pthreads.exp: Test vqcs FLAGS.
---
gdb/testsuite/gdb.threads/pthreads.exp | 65 ++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
@@ -267,6 +267,70 @@ proc check_backtraces {} {
}
}
+proc check_vqcs {} {
+ set any "\[^\r\n\]*"
+ set ws "\[ \t\]\+"
+ set number "\[0-9]\+"
+
+ # check -c (continue) and -s (silently continue) flags
+ gdb_test "thread apply 2-3 p notfound" \
+ [multi_line \
+ "" \
+ "Thread 2 ${any}" \
+ "No symbol \\\"notfound\\\" in current context." \
+ ] \
+ "Run a failing command that aborts thread apply"
+
+ gdb_test "thread apply 2-3 -c p notfound" \
+ [multi_line \
+ "" \
+ "Thread 2 ${any}" \
+ "No symbol \\\"notfound\\\" in current context." \
+ "" \
+ "Thread 3 ${any}" \
+ "No symbol \\\"notfound\\\" in current context." \
+ ] \
+ "Run a failing command, -c to continue"
+
+ foreach cmd {"thread apply all -s frame apply all -s p i" "tfaas p i" "taas faas p i"} {
+ gdb_test $cmd \
+ [multi_line \
+ "" \
+ "Thread 3 ${any}" \
+ "#${number}${ws}${any} in thread2 ${any}" \
+ "\\\$\[0-9]+ = ${number}${any}" \
+ "" \
+ "Thread 2 ${any}" \
+ "#${number}${ws}${any} in thread1 ${any}" \
+ "\\\$\[0-9]+ = ${number}${any}" \
+ ] \
+ "Run a failing command except in one frame of thread 2,3, -s to silently continue"
+ }
+
+ # Verbosity tests
+ gdb_test "thread apply all -s -q frame apply all -s p i" \
+ [multi_line \
+ "#${number}${ws}${any} in thread2 ${any}" \
+ "\\\$\[0-9]+ = ${number}${any}" \
+ "#${number}${ws}${any} in thread1 ${any}" \
+ "\\\$\[0-9]+ = ${number}${any}" \
+ ] \
+ "Run a failing command except in one frame of thread 2,3, -s to silently continue. Verbosity 0 threads"
+
+ gdb_test "thread apply all -s -q frame apply all -s -q -q p i" \
+ [multi_line \
+ "\\\$\[0-9]+ = ${number}${any}" \
+ "\\\$\[0-9]+ = ${number}${any}" \
+ ] \
+ "Run a failing command except in one frame of thread 2,3, -s to silently continue. Verbosity 0 threads and frames"
+
+ # check invalid flag combinations
+ gdb_test "thread apply all -c -s p 1" \
+ "thread apply all: flags c and s are mutually exclusive" \
+ "Check c and s cannot be used simultaneously"
+
+}
+
if [runto_main] then {
if [test_startup] then {
if [check_control_c] then {
@@ -274,5 +338,6 @@ if [runto_main] then {
return
}
check_backtraces
+ check_vqcs
}
}