pass $test
}
}
+
+# Test command redefining itself
+
+proc_with_prefix test_command_redefining_itself {} {
+ # Start with a fresh gdb
+ clean_restart
+
+
+ gdb_test_multiline "input command redefining itself" \
+ "python" "" \
+ "class redefine_cmd (gdb.Command):" "" \
+ " def __init__ (self, msg):" "" \
+ " super (redefine_cmd, self).__init__ (\"redefine_cmd\", gdb.COMMAND_OBSCURE)" "" \
+ " self._msg = msg" "" \
+ " def invoke (self, arg, from_tty):" "" \
+ " print (\"redefine_cmd output, msg = %s\" % self._msg)" "" \
+ " redefine_cmd (arg)" "" \
+ "redefine_cmd (\"XXX\")" "" \
+ "end" ""
+
+ gdb_test "redefine_cmd AAA" \
+ "redefine_cmd output, msg = XXX" \
+ "call command redefining itself 1"
+
+ gdb_test "redefine_cmd BBB" \
+ "redefine_cmd output, msg = AAA" \
+ "call command redefining itself 2"
+}
+
+test_command_redefining_itself