2011-12-16 Phil Muldoon <pmuldoon@redhat.com>

* testsuite/gdb.python/py-function.exp: Change "on" to "full" for
	python print-stack.  Add set/show python print-stack
	off|full|message tests.

2011-12-16  Phil Muldoon  <pmuldoon@redhat.com>

	* python/python.c: Define python_excp_enums.
	(eval_python_from_control_command): Do not call gdbpy_print_stack.
	(python_command): Ditto.
	(gdbpy_print_stack): Rewrite to use new enum constants.
	(maint_set_python): Remove function.
	(maint_show_python): Ditto.
	(_initialize_python): Do not add "maint" commands.  Add "set/show
	python print-stack commands".
	* NEWS: Update to reflect removal for "maint set/show
	print-stack"

2011-12-16  Phil Muldoon  <pmuldoon@redhat.com>

	* doc/gdb.texinfo (Python Commands): Remove "maint set/show print
	stack".  Add documentation for "set/show python print-stack".
This commit is contained in:
Phil Muldoon 2011-12-16 15:55:40 +00:00
parent b93a1992f4
commit 80b6e7564f
9 changed files with 168 additions and 100 deletions

View file

@ -195,20 +195,15 @@ gdb_test "python gdb.write(\"Error stream\\n\", stream=gdb.STDERR)" "Error strea
gdb_test "python gdb.write(\"Normal stream\\n\", stream=gdb.STDOUT)" "Normal stream" "Test stdout write"
gdb_test "python gdb.write(\"Log stream\\n\", stream=gdb.STDLOG)" "Log stream" "Test stdlog write"
# Deprecate maint set/show python print-stack
gdb_test "maint show python print-stack" \
"Warning: command 'maintenance show python print-stack' is deprecated.*Use 'show python print-stack'.*" \
"Test deprecation maint show warning."
gdb_test "maint set python print-stack off" \
"Warning: command 'maintenance set python print-stack' is deprecated.*Use 'set python print-stack'.*" \
"Test deprecation maint set warning."
# print-stack
gdb_test "show python print-stack" \
"Whether Python stack will be printed on error is off.*" \
"Test print-backtrace show setting. Default off."
gdb_py_test_silent_cmd "set python print-stack on" \
"The mode of Python stack printing on error is \"message\".*" \
"Test print-backtrace show setting. Default is message."
gdb_py_test_silent_cmd "set python print-stack full" \
"Test print-backtrace set setting" 1
gdb_test "show python print-stack" \
"Whether Python stack will be printed on error is on.*" \
"The mode of Python stack printing on error is \"full\".*" \
"Test print-backtrace show setting to full."
# Test prompt substituion
@ -313,7 +308,63 @@ gdb_test_multiple "set extended-prompt \\w " \
gdb_test_multiple "set extended-prompt some param \\p{python print-stack} " \
"set extended prompt parameter" {
-re "\[\r\n\]some param True $" {
-re "\[\r\n\]some param full $" {
pass "set extended prompt parameter"
}
}
# Start with a fresh gdb.
clean_restart ${testfile}
# The following tests require execution.
if ![runto_main] then {
fail "Can't run to main"
return 0
}
# print-stack settings
gdb_test "show python print-stack" \
"The mode of Python stack printing on error is \"message\".*" \
"Test print-backtrace show setting. Default is message."
gdb_py_test_silent_cmd "set python print-stack full" \
"Test print-backtrace set setting" 1
gdb_test "show python print-stack" \
"The mode of Python stack printing on error is \"full\".*" \
"Test print-backtrace show setting to full."
gdb_py_test_silent_cmd "set python print-stack none" \
"Test print-backtrace set setting" 1
gdb_test "show python print-stack" \
"The mode of Python stack printing on error is \"none\".*" \
"Test print-backtrace show setting to none."
gdb_py_test_silent_cmd "set python print-stack message" \
"Test print-backtrace set setting" 1
gdb_py_test_multiple "prompt substitution readline" \
"python" "" \
"pCounter = 0" "" \
"def error_prompt(current):" "" \
" raise RuntimeError(\"Python exception called\")" "" \
"end" ""
gdb_test_multiple "python gdb.prompt_hook = error_prompt" "set the hook" {
-re "Python Exception <type 'exceptions.RuntimeError'> Python exception called.*" {
pass "set hook"
}
}
gdb_py_test_silent_cmd "python gdb.prompt_hook = None" \
"set the hook to default" 1
gdb_py_test_silent_cmd "set python print-stack full" \
"Test print-backtrace set setting" 1
gdb_test_multiple "python gdb.prompt_hook = error_prompt" "set the hook" {
-re "Traceback.*File.*line.*RuntimeError.*Python exception called.*" {
pass "set hook"
}
}
gdb_py_test_silent_cmd "python gdb.prompt_hook = None" \
"set the hook to default" 1