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?