Rename internal Python functions to start with an underscore

I could not tell if GdbSetPythonDirectory is internal or not because
I could not find any references to it, so I left it as-is.

Tested by running the testsuite on gdb.python/*.exp; everything still
passes.

2019-08-15  Christian Biesinger  <cbiesinger@google.com>

	* python/lib/gdb/__init__.py (GdbOutputFile): Rename to have a
	leading underscore.
	(GdbOutputErrorFile): Likewise.
	(global scope): Adjust constructor calls to GdbOutput{,Error}File
	accordingly.
	(execute_unwinders): Rename to have a leading underscore.
	(auto_load_packages): Likewise.
	(global scope): Adjust call to auto_load_packages accordingly.
	(GdbSetPythonDirectory): Likewise.
	* python/py-unwind.c (pyuw_sniffer): Call _execute_unwinders
	instead of execute_unwinders.

gdb/testsuite/ChangeLog:

2019-08-15  Christian Biesinger  <cbiesinger@google.com>

	* gdb.python/python.exp: Expect a leading underscore on
	GdbOutput{,Error}File.
This commit is contained in:
Christian Biesinger
2019-08-15 11:29:04 -05:00
parent 080a488354
commit 08235187bc
5 changed files with 32 additions and 13 deletions

View File

@ -1,3 +1,17 @@
2019-08-15 Christian Biesinger <cbiesinger@google.com>
* python/lib/gdb/__init__.py (GdbOutputFile): Rename to have a
leading underscore.
(GdbOutputErrorFile): Likewise.
(global scope): Adjust constructor calls to GdbOutput{,Error}File
accordingly.
(execute_unwinders): Rename to have a leading underscore.
(auto_load_packages): Likewise.
(global scope): Adjust call to auto_load_packages accordingly.
(GdbSetPythonDirectory): Likewise.
* python/py-unwind.c (pyuw_sniffer): Call _execute_unwinders
instead of execute_unwinders.
2019-08-15 Tom Tromey <tom@tromey.com> 2019-08-15 Tom Tromey <tom@tromey.com>
* tui/tui-layout.c (show_layout, show_source_disasm_command) * tui/tui-layout.c (show_layout, show_source_disasm_command)

View File

@ -43,17 +43,17 @@ class _GdbFile (object):
def flush(self): def flush(self):
flush() flush()
class GdbOutputFile (_GdbFile): class _GdbOutputFile (_GdbFile):
def write(self, s): def write(self, s):
write(s, stream=STDOUT) write(s, stream=STDOUT)
sys.stdout = GdbOutputFile() sys.stdout = _GdbOutputFile()
class GdbOutputErrorFile (_GdbFile): class _GdbOutputErrorFile (_GdbFile):
def write(self, s): def write(self, s):
write(s, stream=STDERR) write(s, stream=STDERR)
sys.stderr = GdbOutputErrorFile() sys.stderr = _GdbOutputErrorFile()
# Default prompt hook does nothing. # Default prompt hook does nothing.
prompt_hook = None prompt_hook = None
@ -74,7 +74,7 @@ frame_filters = {}
# Initial frame unwinders. # Initial frame unwinders.
frame_unwinders = [] frame_unwinders = []
def execute_unwinders(pending_frame): def _execute_unwinders(pending_frame):
"""Internal function called from GDB to execute all unwinders. """Internal function called from GDB to execute all unwinders.
Runs each currently enabled unwinder until it finds the one that Runs each currently enabled unwinder until it finds the one that
@ -124,7 +124,7 @@ packages = [
# manually iterate the list, collating the Python files in each module # manually iterate the list, collating the Python files in each module
# path. Construct the module name, and import. # path. Construct the module name, and import.
def auto_load_packages(): def _auto_load_packages():
for package in packages: for package in packages:
location = os.path.join(os.path.dirname(__file__), package) location = os.path.join(os.path.dirname(__file__), package)
if os.path.exists(location): if os.path.exists(location):
@ -144,7 +144,7 @@ def auto_load_packages():
except: except:
sys.stderr.write (traceback.format_exc() + "\n") sys.stderr.write (traceback.format_exc() + "\n")
auto_load_packages() _auto_load_packages()
def GdbSetPythonDirectory(dir): def GdbSetPythonDirectory(dir):
"""Update sys.path, reload gdb and auto-load packages.""" """Update sys.path, reload gdb and auto-load packages."""
@ -161,7 +161,7 @@ def GdbSetPythonDirectory(dir):
# note that reload overwrites the gdb module without deleting existing # note that reload overwrites the gdb module without deleting existing
# attributes # attributes
reload(__import__(__name__)) reload(__import__(__name__))
auto_load_packages() _auto_load_packages()
def current_progspace(): def current_progspace():
"Return the current Progspace." "Return the current Progspace."

View File

@ -507,16 +507,16 @@ pyuw_sniffer (const struct frame_unwind *self, struct frame_info *this_frame,
/* Run unwinders. */ /* Run unwinders. */
if (gdb_python_module == NULL if (gdb_python_module == NULL
|| ! PyObject_HasAttrString (gdb_python_module, "execute_unwinders")) || ! PyObject_HasAttrString (gdb_python_module, "_execute_unwinders"))
{ {
PyErr_SetString (PyExc_NameError, PyErr_SetString (PyExc_NameError,
"Installation error: gdb.execute_unwinders function " "Installation error: gdb._execute_unwinders function "
"is missing"); "is missing");
gdbpy_print_stack (); gdbpy_print_stack ();
return 0; return 0;
} }
gdbpy_ref<> pyo_execute (PyObject_GetAttrString (gdb_python_module, gdbpy_ref<> pyo_execute (PyObject_GetAttrString (gdb_python_module,
"execute_unwinders")); "_execute_unwinders"));
if (pyo_execute == NULL) if (pyo_execute == NULL)
{ {
gdbpy_print_stack (); gdbpy_print_stack ();

View File

@ -1,3 +1,8 @@
2019-08-15 Christian Biesinger <cbiesinger@google.com>
* gdb.python/python.exp: Expect a leading underscore on
GdbOutput{,Error}File.
2019-08-15 Sandra Loosemore <sandra@codesourcery.com> 2019-08-15 Sandra Loosemore <sandra@codesourcery.com>
* gdb.dwarf2/dw2-dir-file-name.exp: Skip on remote or * gdb.dwarf2/dw2-dir-file-name.exp: Skip on remote or

View File

@ -288,8 +288,8 @@ gdb_test "python print (symtab\[1\]\[0\].symtab)" "None" "test decode_line *0 fi
gdb_test "python print (symtab\[1\]\[0\].pc)" "0" "test decode_line *0 pc" gdb_test "python print (symtab\[1\]\[0\].pc)" "0" "test decode_line *0 pc"
# gdb.write # gdb.write
gdb_test "python print (sys.stderr)" ".*gdb.GdbOutputErrorFile (instance|object) at.*" "test stderr location" gdb_test "python print (sys.stderr)" ".*gdb._GdbOutputErrorFile (instance|object) at.*" "test stderr location"
gdb_test "python print (sys.stdout)" ".*gdb.GdbOutputFile (instance|object) at.*" "test stdout location" gdb_test "python print (sys.stdout)" ".*gdb._GdbOutputFile (instance|object) at.*" "test stdout location"
gdb_test "python gdb.write(\"Foo\\n\")" "Foo" "test default write" 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(\"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" gdb_test "python gdb.write(\"Normal stream\\n\", stream=gdb.STDOUT)" "Normal stream" "test stdout write"