From b9516fa158d68eedaa9e2191e38e7a1acfcfee77 Mon Sep 17 00:00:00 2001 From: Yit Phang Khoo Date: Thu, 13 Sep 2012 21:49:32 +0000 Subject: Refactor Python "gdb" module into a proper Python package, by introducing a new "_gdb" module for code implemented in C, and using reload/__import__ instead of exec. gdb/ * python/lib/gdb/__init__.py: Import * from _gdb. (GdbOutputFile, sys.stdout, GdbOutputErrorFile, sys.stderr, prompt_hook, sys.argv): Moved from finish_python_initialization. (pretty_printers, PYTHONDIR): Moved from _initialize_python. (packages, auto_load_packages): New list and function replacing module_dict and auto-loading code, using __file__ instead of gdb.PYTHONDIR and reload/__import__ instead of exec. (GdbSetPythonDirectory): Replacing function of the same name from finish_python_initialization, using reload/__import__ instead of exec, as well as call auto_load_packages. * python/py-prettyprint.c (find_pretty_printer_from_gdb): Check gdb_python_module and not gdb_module. * python/python-internal.h (gdb_python_module): Declare. * python/python.c (gdb_python_module): New global. (before_prompt_hook): Check gdb_python_module and not gdb_module. (_initialize_python): Rename gdb module to _gdb. Move gdb.PYTHONDIR and gdb.pretty_printer to lib/gdb/__init__.py. (finish_python_initialization): Move Python code to lib/gdb/__init__.py; instead, set up sys.path and import gdb into __main__. gdb/testsuite/ * gdb.python/python.exp (Test stderr location): Update module location of GDB-specific sys.stderr. (Test stdout location): Ditto for sys.stdout. --- gdb/testsuite/gdb.python/python.exp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gdb/testsuite/gdb.python') diff --git a/gdb/testsuite/gdb.python/python.exp b/gdb/testsuite/gdb.python/python.exp index 9683b1c..9f29e3a 100644 --- a/gdb/testsuite/gdb.python/python.exp +++ b/gdb/testsuite/gdb.python/python.exp @@ -183,8 +183,8 @@ gdb_py_test_silent_cmd {python symtab = gdb.decode_line ("func1,func2")} \ gdb_test {python print symtab[0]} ",func2" "stop at comma in linespec" # gdb.write -gdb_test "python print sys.stderr" ".*__main__.GdbOutputErrorFile instance at.*" "Test stderr location" -gdb_test "python print sys.stdout" ".*__main__.GdbOutputFile instance at.*" "Test stdout location" +gdb_test "python print sys.stderr" ".*gdb.GdbOutputErrorFile instance at.*" "Test stderr location" +gdb_test "python print sys.stdout" ".*gdb.GdbOutputFile instance at.*" "Test stdout location" gdb_test "python gdb.write(\"Foo\\n\")" "Foo" "Test default write" gdb_test "python gdb.write(\"Error stream\\n\", stream=gdb.STDERR)" "Error stream" "Test stderr write" gdb_test "python gdb.write(\"Normal stream\\n\", stream=gdb.STDOUT)" "Normal stream" "Test stdout write" -- cgit v1.1