public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 1/5] Add counter-cases for trace-condition.exp tests
@ 2016-05-27 19:05 Antoine Tremblay
  2016-05-27 19:05 ` [PATCH 3/5 v2] Add emit_less_unsigned test in trace-condition.exp Antoine Tremblay
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Antoine Tremblay @ 2016-05-27 19:05 UTC (permalink / raw)
  To: gdb-patches; +Cc: Antoine Tremblay

In trace-condition.exp, tests are done by doing a conditional tracepoint
and validating that the trace contains all the frames that could be
collected if that condition is true.

E.g. test_tracepoints $trace_command "21 + 21 == 42" 10

This will always return true and collect the 10 frames possible to collect
with the test program.

However, if the condition evaluation is broken such that the condition is
unconditional we will not notice this problem.

This patch adds counter-cases to such conditions like so:

$trace_command "21 + 11 == 42" 0

This way such a problem would be noticed.

gdb/testsuite/ChangeLog:

	* gdb.trace/trace-condition.exp: Add counter-case tests.
---
 gdb/testsuite/gdb.trace/trace-condition.exp | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gdb/testsuite/gdb.trace/trace-condition.exp b/gdb/testsuite/gdb.trace/trace-condition.exp
index b7427ca..f9eaf31 100644
--- a/gdb/testsuite/gdb.trace/trace-condition.exp
+++ b/gdb/testsuite/gdb.trace/trace-condition.exp
@@ -157,4 +157,25 @@ foreach trace_command { "trace" "ftrace" } {
     test_tracepoints $trace_command "(42 >= 42 ? 0 : 1) == 0" 10
     test_tracepoints $trace_command "(42 > 21 ? 0 : 1) == 0" 10 18955_i386_failure
     test_tracepoints $trace_command "\$trace_timestamp >= 0" 10
+
+    # Counter-cases tests.
+    test_tracepoints $trace_command "21 + 21 == 11" 0
+    test_tracepoints $trace_command "42 - 21 == 11" 0
+    test_tracepoints $trace_command "21 * 2 == 11" 0
+    test_tracepoints $trace_command "21 << 1 == 11" 0
+    test_tracepoints $trace_command "42 >> 1 == 11" 0
+    test_tracepoints $trace_command "-(21 << 1) == -11" 0
+    test_tracepoints $trace_command "-42 >> 1 == -11" 0
+    test_tracepoints $trace_command "(0xabababab & 0x0000ffff) == 0xffff" 0
+    test_tracepoints $trace_command "(0xabababab | 0x0000ffff) == 0xeeeedddd" 0
+    test_tracepoints $trace_command "(0xaaaaaaaa ^ 0x55555555) == 0xaaaaaaaa" 0
+    test_tracepoints $trace_command "~0xaaaaaaaa == 0x11111111" 0
+    test_tracepoints $trace_command "61 < 42" 0
+    test_tracepoints $trace_command "42 <= 11" 0
+    test_tracepoints $trace_command "11 >= 42" 0
+    test_tracepoints $trace_command "11 > 21" 0
+    test_tracepoints $trace_command "(66 < 42 ? 0 : 1) == 0" 0 18955_i386_failure
+    test_tracepoints $trace_command "(66 <= 42 ? 0 : 1) == 0" 0
+    test_tracepoints $trace_command "(11 >= 42 ? 0 : 1) == 0" 0
+    test_tracepoints $trace_command "(11 > 21 ? 0 : 1) == 0" 0 18955_i386_failure
 }
-- 
2.8.1

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-05-30 16:55 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-27 19:05 [PATCH 1/5] Add counter-cases for trace-condition.exp tests Antoine Tremblay
2016-05-27 19:05 ` [PATCH 3/5 v2] Add emit_less_unsigned test in trace-condition.exp Antoine Tremblay
2016-05-30 11:02   ` Pedro Alves
2016-05-27 19:05 ` [PATCH 2/5 v2] Move trace conditions tests from ftrace.exp to trace-condition.exp Antoine Tremblay
2016-05-30 11:02   ` Pedro Alves
2016-05-27 19:05 ` [PATCH 5/5 v2] Add tests for 64bit values in trace-condition.exp Antoine Tremblay
2016-05-30 11:02   ` Pedro Alves
2016-05-30 14:50     ` [PATCH 5/5 v3] " Antoine Tremblay
2016-05-30 15:06       ` Pedro Alves
2016-05-30 16:55         ` Antoine Tremblay
2016-05-27 19:05 ` [PATCH 4/5 v2] Add variable length tests for emit_ref " Antoine Tremblay
2016-05-30 11:02   ` Pedro Alves
2016-05-30 10:50 ` [PATCH 1/5] Add counter-cases for trace-condition.exp tests Pedro Alves
2016-05-30 14:20   ` Antoine Tremblay
2016-05-30 14:48   ` [PATCH 1/5 v3] " Antoine Tremblay
2016-05-30 15:06     ` Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).