Re: [rfc target-side break conditions ] Testcase

Luis Gustavo
2012-02-22T15:29:25Z

[-- Attachment #1: Type: text/plain, Size: 1029 bytes --]

On 02/14/2012 12:29 PM, Pedro Alves wrote:
> I'm not seeing how this test is intended to catch as is. Any other
> GDB output will PASS as long as it ends in the prompt, which usually
> does.
>
> On 02/08/2012 11:16 PM, Luis Gustavo wrote:
>> +# If target-side condition evaluation is not supported, this warning will be
>> +# displayed.
>> +set warning "warning: Target does not support breakpoint condition evaluation.\r\nUsing GDB evaluation mode instead.\r\n"
>> +
>> +gdb_test_multiple $test_target $test_target {
>> + -re $warning {
>
> This should match $gdb_prompt as well. Otherwise, you confuse the following tests.
>
>> + unsupported $test_target
>> + return -1
>> + }
>> +
>> + -re "\r\n$gdb_prompt " {
>
> Did you intend to make sure that _only_ the prompt was output, like
> gdb_tests_no_output? If so, then you need to make that:
>
> -re "^$test_target\r\n$gdb_prompt $" {
>
>> + pass $test_target
>> + }
>> +}
>

Fixed. Thanks for the input.

I apologize for the poor expect hackery.

Luis

[-- Attachment #2: 0005-condition_evaluation_test.diff --]
[-- Type: text/x-patch, Size: 1894 bytes --]

2012-02-22 Luis Machado <lgustavo@codesourcery.com>

* gdb.base/cond-eval-mode.exp: New file.

Index: gdb/gdb/testsuite/gdb.base/cond-eval-mode.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb/gdb/testsuite/gdb.base/cond-eval-mode.exp 2012-02-22 11:25:05.722553985 -0200
@@ -0,0 +1,44 @@
+# Copyright 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test 'set breakpoint condition-evaluation' settings
+
+if { [prepare_for_testing break.exp "break" {break.c break1.c}] } {
+ return -1
+}
+
+runto main
+
+set test_host "set breakpoint condition-evaluation host"
+set test_auto "set breakpoint condition-evaluation auto"
+set test_target "set breakpoint condition-evaluation target"
+
+gdb_test_no_output $test_host
+gdb_test_no_output $test_auto
+
+# If target-side condition evaluation is not supported, this warning will be
+# displayed.
+set warning "warning: Target does not support breakpoint condition evaluation.\r\nUsing GDB evaluation mode instead.\r\n"
+
+gdb_test_multiple $test_target $test_target {
+ -re $warning$gdb_prompt {
+ unsupported $test_target
+ return -1
+ }
+
+ -re "^$test_target\r\n$gdb_prompt $" {
+ pass $test_target
+ }
+}