From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
To: gdb-patches@sourceware.org
Cc: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Subject: [RFA_v4 7/8] Modify gdb.threads/pthreads.exp to test FLAG qcs arguments for thread apply. Also, add prefixes to make some non unique tests unique.
Date: Tue, 10 Jul 2018 21:39:00 -0000 [thread overview]
Message-ID: <20180710213926.32240-8-philippe.waroquiers@skynet.be> (raw)
In-Reply-To: <20180710213926.32240-1-philippe.waroquiers@skynet.be>
gdb/testsuite/ChangeLog
2018-07-09 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.threads/pthreads.exp: Test qcs FLAG arguments.
Add some test prefixes to make tests unique.
---
gdb/testsuite/gdb.threads/pthreads.exp | 83 ++++++++++++++++++++++++--
1 file changed, 79 insertions(+), 4 deletions(-)
diff --git a/gdb/testsuite/gdb.threads/pthreads.exp b/gdb/testsuite/gdb.threads/pthreads.exp
index 830432b833..bbda52e92e 100644
--- a/gdb/testsuite/gdb.threads/pthreads.exp
+++ b/gdb/testsuite/gdb.threads/pthreads.exp
@@ -188,8 +188,10 @@ proc check_control_c {} {
global gdb_prompt
# Verify that all threads are running.
- if [all_threads_running] then {
- pass "all threads running after startup"
+ with_test_prefix "after startup" {
+ if [all_threads_running] then {
+ pass "all threads running after startup"
+ }
}
# Send a continue followed by ^C to the process to stop it.
@@ -216,8 +218,10 @@ proc check_control_c {} {
gdb_test "bt" ".*"
# Verify that all threads can be run again after a ^C stop.
- if [all_threads_running] then {
- pass "all threads running after continuing from ^C stop"
+ with_test_prefix "after continue" {
+ if [all_threads_running] then {
+ pass "all threads running after continuing from ^C stop"
+ }
}
return 0
}
@@ -267,6 +271,76 @@ proc check_backtraces {} {
}
}
+proc check_qcs {} {
+ 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"
+
+ with_test_prefix "silent flag" {
+ foreach_with_prefix cmd_and_args {
+ "thread apply all -s frame apply all -s"
+ "tfaas"
+ "taas faas"} {
+ set cmd "$cmd_and_args 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"
+ }
+ }
+
+ # Check quietness.
+ 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. Do not show thread information"
+
+ gdb_test "thread apply all -s -q frame apply all -s -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. Do not show thread and frame info"
+
+ # Check invalid flag combinations.
+ gdb_test "thread apply all -c -s p 1" \
+ "thread apply all: -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 +348,6 @@ if [runto_main] then {
return
}
check_backtraces
+ check_qcs
}
}
--
2.18.0
next prev parent reply other threads:[~2018-07-10 21:39 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-10 21:39 [RFA_v4 0/8] Implement 'frame apply COMMAND', enhance 'thread apply COMMAND' Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 8/8] Add a self-test for cli-utils.c Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 4/8] Documents the new commands 'frame apply', faas, taas, tfaas Philippe Waroquiers
2018-07-11 3:06 ` Eli Zaretskii
2018-07-11 5:57 ` Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 1/8] Add helper functions parse_flags and parse_flags_qcs Philippe Waroquiers
2018-07-30 20:16 ` Joel Brobecker
2018-07-30 21:10 ` Tom Tromey
2018-07-31 13:52 ` Joel Brobecker
2018-07-31 15:41 ` Tom Tromey
2018-07-31 21:13 ` Philippe Waroquiers
2018-08-01 4:04 ` Tom Tromey
2018-08-01 4:34 ` Tom Tromey
2018-07-30 21:48 ` Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 6/8] Add a test for 'frame apply' Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 5/8] Announce the user visible changes for frame/thread apply in NEWS Philippe Waroquiers
2018-07-10 21:39 ` Philippe Waroquiers [this message]
2018-07-10 21:39 ` [RFA_v4 2/8] Implement frame apply [all | COUNT | -COUNT | level LEVEL... ] [FLAG]... COMMAND Philippe Waroquiers
2018-07-14 1:49 ` Simon Marchi
2018-07-14 12:37 ` Tom Tromey
2018-07-10 21:39 ` [RFA_v4 3/8] Add [FLAG]... arguments to 'thread apply' Philippe Waroquiers
2018-07-11 10:58 ` [RFA_v4 0/8] Implement 'frame apply COMMAND', enhance 'thread apply COMMAND' Pedro Alves
2018-07-12 21:12 ` Philippe Waroquiers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180710213926.32240-8-philippe.waroquiers@skynet.be \
--to=philippe.waroquiers@skynet.be \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox