-# Copyright 2011-2012 Free Software Foundation, Inc.
+# Copyright 2011-2015 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
load_lib "ada.exp"
-set testdir "mi_catch_ex"
-set testfile "${testdir}/foo"
-set srcfile ${srcdir}/${subdir}/${testfile}.adb
-set binfile ${objdir}/${subdir}/${testfile}
+standard_ada_testfile foo
-file mkdir ${objdir}/${subdir}/${testdir}
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-gnata ]] != "" } {
return -1
}
return 0
}
-mi_gdb_test "catch exception"
+mi_gdb_test "-catch-exception" \
+ "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",addr=\"$hex\",what=\"all Ada exceptions\",.*}" \
+ "catch all exceptions"
mi_execute_to "exec-continue" \
"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"CONSTRAINT_ERROR" \
"foo" "" ".*" ".*" \
".*" \
- "continue to exception catchpoint hit"
+ "continue until CE caught by all-exceptions catchpoint"
mi_execute_to "exec-continue" \
"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"PROGRAM_ERROR" \
"foo" "" ".*" ".*" \
".*" \
- "continue to exception catchpoint hit"
+ "continue until PE caught by all-exceptions catchpoint"
################################################
# 2. Try catching only some of the exceptions. #
return 0
}
-mi_gdb_test "catch exception Program_Error"
+mi_gdb_test "-catch-exception -e Program_Error" \
+ "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",addr=\"$hex\",what=\"`Program_Error' Ada exception\",.*}" \
+ "catch Program_Error"
-mi_gdb_test "catch assert"
+mi_gdb_test "-catch-assert" \
+ "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",addr=\"$hex\",what=\"failed Ada assertions\",.*}" \
+ "catch assert failures"
-mi_gdb_test "catch exception unhandled"
+mi_gdb_test "-catch-exception -u" \
+ "\\^done,bkptno=\"$decimal\",bkpt={.*disp=\"keep\",enabled=\"y\",addr=\"$hex\",what=\"unhandled Ada exceptions\",.*}" \
+ "catch unhandled exceptions"
mi_execute_to "exec-continue" \
"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"PROGRAM_ERROR" \
"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb" \
"foo" "" ".*" ".*" \
".*" \
- "continue to exception catchpoint hit"
+ "continue to assert failure catchpoint hit"
mi_execute_to "exec-continue" \
"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"CONSTRAINT_ERROR" \
"foo" "" ".*" ".*" \
".*" \
- "continue to exception catchpoint hit"
+ "continue to unhandled exception catchpoint hit"