[PATCH v2] Introduce remote_target_is_gdbserver

Pedro Alves palves@redhat.com
Thu Sep 11 16:46:00 GMT 2014


On 09/11/2014 03:47 PM, Simon Marchi wrote:
> On 14-09-05 07:30 PM, Sergio Durigan Junior wrote:


>>>  # Check whether we're testing with our own GDBserver.
>>> -set is_gdbserver -1
>>> -set test "probe for GDBserver"
>>> -gdb_test_multiple "monitor help" $test {
>>> -    -re "The following monitor commands are supported.*debug-hw-points.*remote-debug.*GDBserver.*$gdb_prompt $" {
>>> -	set is_gdbserver 1
>>> -	pass $test
>>> -    }
>>> -    -re "$gdb_prompt $" {
>>> -	set is_gdbserver 0
>>> -	pass $test
>>> -    }
>>> -}


>>> +# Return true if the current remote target is an instance of gdbserver.
>>> +
>>> +proc remote_target_is_gdbserver { } {
>>> +    global gdb_prompt
>>> +
>>> +    set is_gdbserver 0
>>> +    set test "Probing for GDBserver"
>>> +
>>> +    gdb_test_multiple "monitor help" $test {
>>> +	-re "The following monitor commands are supported.*Quit GDBserver.*$gdb_prompt $" {
>>> +		pass $test
>>> +		set is_gdbserver 1
>>> +	}
>>> +	-re "$gdb_prompt $" {
>>> +		pass $test
>>> +	}
>>> +	default {
>>> +		pass $test
>>> +	}
>>
>> Do we really need these "pass"?  I'd rather we don't put it, and by
>> looking at lib/gdb.exp I see many tests also don't use it.
> 
> I thought so, but apparently no. I thought that each gdb_test_multiple had to be matched with one pass or fail.

FWIW, yeah, that was the original rationale behind the "pass"es
in the original code.  The test was written in the form of
"Probing for GDBserver", and the idea is that if we find that we're
not running GDBserver but something else, the _probing_ itself was
still a success.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list