[PATCH] Change method of loading .py files in Python tests
Simon Marchi
simon.marchi@polymtl.ca
Thu Jan 26 21:13:00 GMT 2017
On 2017-01-26 11:33, Pedro Alves wrote:
> On 01/21/2017 04:52 AM, Simon Marchi wrote:
>> With my debug build of Python (--with-pydebug), many tests fails
>> because
>> of the same issue. Python scripts are loaded by the tests using this
>> pattern:
>>
>> (gdb) python exec (open ('file.py').read ())
>>
>> This causes Python to output this warning:
>>
>> __main__:1: ResourceWarning: unclosed file <_io.TextIOWrapper
>> name='file.py' mode='r' encoding='ANSI_X3.4-1968'>
>>
>> and the test to fail because of that extra output. Instead of using
>> the
>> open + read + exec trick which leaks the file and causes the warning,
>> why not just source the files?
>>
>> (gdb) source file.py
>
> Maybe historical. ISTR that "source" didn't read in python
> files automatically originally. But I may easily be misremembering.
>
>>
>> This patch changes this, and standardizes the test names of the tests
>> I
>> touched to "load python file" (some of them were empty, others were
>> overly complicated).
>
> Guess we could have:
>
> proc gdb_load_python_file { pyfile {test "load python file"} } {
> gdb_test_no_output "source $pyfile" $test
> }
>
> But what you have LGTM.
>
>> -gdb_test_no_output "python exec (open ('${remote_python_file}').read
>> ())" \
>> - "load python file for no debuginfo tests"
>> +gdb_test_no_output "source ${remote_python_file}" "load python file
>> for no debuginfo tests"
>
> Long line?
Thanks, pushed with that fixed.
More information about the Gdb-patches
mailing list