From: Antoine Tremblay Date: Mon, 30 May 2016 15:24:44 +0000 (-0400) Subject: Add counter-cases for trace-condition.exp tests X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7faeb45ae36426b827c49457cf7186d73756cccc;p=binutils-gdb.git Add counter-cases for trace-condition.exp tests 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. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 8397f671a1e..45c3ff03413 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-05-30 Antoine Tremblay + + * gdb.trace/trace-condition.exp: Add counter-case tests. + 2016-05-30 Jan Kratochvil PR c++/15231 diff --git a/gdb/testsuite/gdb.trace/trace-condition.exp b/gdb/testsuite/gdb.trace/trace-condition.exp index b7427cac413..ca3232fc80d 100644 --- a/gdb/testsuite/gdb.trace/trace-condition.exp +++ b/gdb/testsuite/gdb.trace/trace-condition.exp @@ -138,23 +138,61 @@ foreach trace_command { "trace" "ftrace" } { # Test various operations to cover as many opcodes as possible. test_tracepoints $trace_command "21 + 21 == 42" 10 + test_tracepoints $trace_command "21 + 21 == 11" 0 + test_tracepoints $trace_command "42 - 21 == 21" 10 + test_tracepoints $trace_command "42 - 21 == 11" 0 + test_tracepoints $trace_command "21 * 2 == 42" 10 + test_tracepoints $trace_command "21 * 2 == 11" 0 + test_tracepoints $trace_command "21 << 1 == 42" 10 + test_tracepoints $trace_command "21 << 1 == 11" 0 + test_tracepoints $trace_command "42 >> 1 == 21" 10 + test_tracepoints $trace_command "42 >> 1 == 11" 0 + test_tracepoints $trace_command "-(21 << 1) == -42" 10 + test_tracepoints $trace_command "-(21 << 1) == -11" 0 + test_tracepoints $trace_command "-42 >> 1 == -21" 10 + test_tracepoints $trace_command "-42 >> 1 == -11" 0 + test_tracepoints $trace_command "(0xabababab & 0x0000ffff) == 0xabab" 10 + test_tracepoints $trace_command "(0xabababab & 0x0000ffff) == 0xffff" 0 + test_tracepoints $trace_command "(0xabababab | 0x0000ffff) == 0xababffff" 10 + test_tracepoints $trace_command "(0xabababab | 0x0000ffff) == 0xeeeedddd" 0 + test_tracepoints $trace_command "(0xaaaaaaaa ^ 0x55555555) == 0xffffffff" 10 + test_tracepoints $trace_command "(0xaaaaaaaa ^ 0x55555555) == 0xaaaaaaaa" 0 + test_tracepoints $trace_command "~0xaaaaaaaa == 0x55555555" 10 + test_tracepoints $trace_command "~0xaaaaaaaa == 0x11111111" 0 + test_tracepoints $trace_command "21 < 42" 10 + test_tracepoints $trace_command "61 < 42" 0 + test_tracepoints $trace_command "42 <= 42" 10 + test_tracepoints $trace_command "42 <= 11" 0 + test_tracepoints $trace_command "42 >= 42" 10 + test_tracepoints $trace_command "11 >= 42" 0 + test_tracepoints $trace_command "42 > 21" 10 + test_tracepoints $trace_command "11 > 21" 0 + test_tracepoints $trace_command "(21 < 42 ? 0 : 1) == 0" 10 18955_i386_failure + test_tracepoints $trace_command "(66 < 42 ? 0 : 1) == 0" 0 18955_i386_failure + test_tracepoints $trace_command "(42 <= 42 ? 0 : 1) == 0" 10 + test_tracepoints $trace_command "(66 <= 42 ? 0 : 1) == 0" 0 + test_tracepoints $trace_command "(42 >= 42 ? 0 : 1) == 0" 10 + test_tracepoints $trace_command "(11 >= 42 ? 0 : 1) == 0" 0 + test_tracepoints $trace_command "(42 > 21 ? 0 : 1) == 0" 10 18955_i386_failure + test_tracepoints $trace_command "(11 > 21 ? 0 : 1) == 0" 0 18955_i386_failure + test_tracepoints $trace_command "\$trace_timestamp >= 0" 10 }