This is the mail archive of the 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 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 ('').read ())
> This causes Python to output this warning:
>   __main__:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='' 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

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?

Pedro Alves

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