[PATCH] Make gdb.python/python.exp more robust

Luis Machado lgustavo@codesourcery.com
Fri Jan 20 19:17:00 GMT 2017


On 01/20/2017 10:59 AM, Pedro Alves wrote:
> On 01/20/2017 02:37 PM, Luis Machado wrote:
>
>>  }
>>  gdb_test "python print (symtab\[1\]\[0\].symtab)" ".*${python_1_c}" "test decode_line func1 filename"
>> -gdb_test "python print (symtab\[1\]\[0\].line)" "19" "test decode_line func1 line number"
>> +
>> +# Fetch the line GDB thinks func1 starts at.  This may change depending
>> +# on the architecture and on how GDB handles the prologue of the function.
>> +gdb_test_multiple "info line func1" "info line func1" {
>> +    -re "Line ($decimal) of .* starts at address $hex <func1> and ends at $hex <func1\\+$decimal>\.\[\r\n\]+$gdb_prompt $" {
>> +	# Fetch the line number.
>> +	set func1_lineno $expect_out(1,string)
>> +    }
>> +}
>
> Do:
>
>   set func1_lineno "noline"
>

Indeed.

> before gdb_test_multiple, so that in case the above FAILs, this:
>
>> +
>> +gdb_test "python print (symtab\[1\]\[0\].line)" "$func1_lineno" "test decode_line func1 line number"
>
> FAILs too, instead of ERRORing out with a TCL error, due to
> undefined $func1_lineno.
>
> OK with that change.
>
> Thanks,
> Pedro Alves
>
>

Fixed and pushed as d334ae250a3ec888f0603cf8e909d0f425aeb30f.

Thanks,
Luis



More information about the Gdb-patches mailing list