This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Change method of loading .py files in Python tests


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]