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

Pedro Alves palves@redhat.com
Fri Jan 20 16:59:00 GMT 2017


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"

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



More information about the Gdb-patches mailing list