aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2023-04-20 11:28:51 -0600
committerTom Tromey <tromey@adacore.com>2023-06-12 11:51:52 -0600
commitdd473473033f865258b85b5cb0001e64b03ad9ad (patch)
tree1c2609d3922842aaa3cc2127a46d16d3d12f1e8a
parent4adf3a4059b291364842678be17d4b62214bbdbd (diff)
downloadgdb-dd473473033f865258b85b5cb0001e64b03ad9ad.zip
gdb-dd473473033f865258b85b5cb0001e64b03ad9ad.tar.gz
gdb-dd473473033f865258b85b5cb0001e64b03ad9ad.tar.bz2
Use gnat_runtime_has_debug_info in Ada catchpoint tests
This changes the Ada catchpoint tests to use gnat_runtime_has_debug_info. This simplifies the code.
-rw-r--r--gdb/testsuite/gdb.ada/catch_assert_if.exp28
-rw-r--r--gdb/testsuite/gdb.ada/catch_ex.exp18
-rw-r--r--gdb/testsuite/gdb.ada/catch_ex_std.exp27
-rw-r--r--gdb/testsuite/gdb.ada/excep_handle.exp24
-rw-r--r--gdb/testsuite/gdb.ada/mi_catch_assert.exp33
-rw-r--r--gdb/testsuite/gdb.ada/mi_catch_ex.exp31
-rw-r--r--gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp32
-rw-r--r--gdb/testsuite/gdb.ada/mi_ex_cond.exp33
8 files changed, 25 insertions, 201 deletions
diff --git a/gdb/testsuite/gdb.ada/catch_assert_if.exp b/gdb/testsuite/gdb.ada/catch_assert_if.exp
index f5b6096..4078fa4 100644
--- a/gdb/testsuite/gdb.ada/catch_assert_if.exp
+++ b/gdb/testsuite/gdb.ada/catch_assert_if.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile bla
@@ -25,35 +25,9 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional
clean_restart ${testfile}
-######################################################################
-# 1. Try catching all exceptions to check that runtime supports it. #
-######################################################################
-
set eol "\[\r\n\]+"
set sp "\[ \t\]*"
-if {![runto_main]} {
- return 0
-}
-
-set msg "insert catchpoint on all Ada exceptions"
-gdb_test_multiple "catch exception" $msg {
- -re "Catchpoint $decimal: all Ada exceptions$eol$gdb_prompt $" {
- pass $msg
- }
- -re "Your Ada runtime appears to be missing some debugging information.*$eol$gdb_prompt $" {
- # If the runtime was not built with enough debug information,
- # or if it was stripped, we can not test exception
- # catchpoints.
- unsupported $msg
- return -1
- }
-}
-
-##################################################
-# 2. Try catching conditional failed assertion. #
-##################################################
-
# Here is the scenario:
# - Restart the debugger from scratch, runto_main
# We'll catch assertions if Global_Var = 2
diff --git a/gdb/testsuite/gdb.ada/catch_ex.exp b/gdb/testsuite/gdb.ada/catch_ex.exp
index de1e532..388eb94 100644
--- a/gdb/testsuite/gdb.ada/catch_ex.exp
+++ b/gdb/testsuite/gdb.ada/catch_ex.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile foo
@@ -44,19 +44,9 @@ if {![runto_main]} {
return 0
}
-set msg "insert catchpoint on all Ada exceptions"
-gdb_test_multiple "catch exception" $msg {
- -re "Catchpoint $any_nb: all Ada exceptions$eol$gdb_prompt $" {
- pass $msg
- }
- -re "Your Ada runtime appears to be missing some debugging information.*$eol$gdb_prompt $" {
- # If the runtime was not built with enough debug information,
- # or if it was stripped, we can not test exception
- # catchpoints.
- unsupported $msg
- return -1
- }
-}
+gdb_test "catch exception" \
+ "Catchpoint $any_nb: all Ada exceptions" \
+ "insert catchpoint on all Ada exceptions"
gdb_test "info break" \
"$info_break_header$eol.*$catch_exception_info" \
diff --git a/gdb/testsuite/gdb.ada/catch_ex_std.exp b/gdb/testsuite/gdb.ada/catch_ex_std.exp
index 73cbdaf..3a2b10a 100644
--- a/gdb/testsuite/gdb.ada/catch_ex_std.exp
+++ b/gdb/testsuite/gdb.ada/catch_ex_std.exp
@@ -17,7 +17,7 @@ require allow_shlib_tests
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile foo
@@ -69,23 +69,12 @@ if {![runto_main]} {
return 0
}
-set can_catch_exceptions 0
-gdb_test_multiple "catch exception some_kind_of_error" "" {
- -re "Catchpoint \[0-9\]+: `some_kind_of_error' Ada exception\r\n$gdb_prompt $" {
- pass $gdb_test_name
- set can_catch_exceptions 1
- }
+gdb_test "catch exception some_kind_of_error" \
+ "Catchpoint \[0-9\]+: `some_kind_of_error' Ada exception"
- -re "Your Ada runtime appears to be missing some debugging information.\r\nCannot insert Ada exception catchpoint in this configuration.\r\n$gdb_prompt $" {
- unsupported $gdb_test_name
- }
-}
-
-if { $can_catch_exceptions } {
- gdb_test "cont" \
- "Catchpoint \[0-9\]+, .* at .*foo\.adb:\[0-9\]+.*" \
- "caught the exception"
+gdb_test "cont" \
+ "Catchpoint \[0-9\]+, .* at .*foo\.adb:\[0-9\]+.*" \
+ "caught the exception"
- gdb_test "print \$_ada_exception = some_package.some_kind_of_error'Address" \
- " = true"
-}
+gdb_test "print \$_ada_exception = some_package.some_kind_of_error'Address" \
+ " = true"
diff --git a/gdb/testsuite/gdb.ada/excep_handle.exp b/gdb/testsuite/gdb.ada/excep_handle.exp
index 2cc80fb..deb3ace 100644
--- a/gdb/testsuite/gdb.ada/excep_handle.exp
+++ b/gdb/testsuite/gdb.ada/excep_handle.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile foo
@@ -40,32 +40,18 @@ set catchpoint_program_error_msg \
set catchpoint_storage_error_msg \
"Catchpoint $decimal, exception at $hex in foo \\\(\\\).*at .*foo.adb:$decimal$eol$decimal$sp$when Storage_Error =>"
-############################################
-# Check that runtime supports catchpoint. #
-############################################
-
if {![runto_main]} {
return 0
}
-set msg "insert catchpoint on all Ada exceptions handlers"
-gdb_test_multiple "catch handlers" $msg {
- -re "Catchpoint $decimal: all Ada exceptions handlers$eol$gdb_prompt $" {
- pass $msg
- }
- -re "Your Ada runtime appears to be missing some debugging information.*$eol$gdb_prompt $" {
- # If the runtime was not built with enough debug information,
- # or if it was stripped, we can not test exception handlers
- # catchpoints.
- unsupported $msg
- return -1
- }
-}
-
############################################
# 1. Try catching all exceptions handlers. #
############################################
+gdb_test "catch handlers" \
+ "Catchpoint $decimal: all Ada exceptions handlers" \
+ "insert catchpoint on all Ada exceptions handlers"
+
# Continue. The program should stop at first exception handling.
gdb_test "continue" \
diff --git a/gdb/testsuite/gdb.ada/mi_catch_assert.exp b/gdb/testsuite/gdb.ada/mi_catch_assert.exp
index c3673fa..7586e0a 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_assert.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_assert.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile bla
@@ -23,37 +23,6 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional
return -1
}
-# Some global variables used to simplify the maintenance of some of
-# the regular expressions below.
-set eol "\[\r\n\]+"
-set sp "\[ \t\]*"
-
-# Before going any further, verify that we can insert exception
-# catchpoints... That way, we won't have to do this while doing
-# the actual GDB/MI testing.
-
-clean_restart ${testfile}
-
-if {![runto_main]} {
- return 0
-}
-
-set msg "insert catchpoint on all Ada exceptions"
-gdb_test_multiple "catch exception" $msg {
- -re "Catchpoint $decimal: all Ada exceptions$eol$gdb_prompt $" {
- pass $msg
- }
- -re "Your Ada runtime appears to be missing some debugging information.*\[\r\n\]+$gdb_prompt $" {
- # If the runtime was not built with enough debug information,
- # or if it was stripped, we can not test exception
- # catchpoints.
- unsupported $msg
- return -1
- }
-}
-
-# Now, we can start the GDB/MI testing itself...
-
load_lib mi-support.exp
set MIFLAGS "-i=mi"
diff --git a/gdb/testsuite/gdb.ada/mi_catch_ex.exp b/gdb/testsuite/gdb.ada/mi_catch_ex.exp
index d0dfbd5..8cbcbe7 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_ex.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_ex.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile foo
@@ -23,36 +23,9 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional
return -1
}
-# Some global variables used to simplify the maintenance of some of
+# A global variable used to simplify the maintenance of some of
# the regular expressions below.
set any_nb "\[0-9\]+"
-set eol "\[\r\n\]+"
-
-# Before going any further, verify that we can insert exception
-# catchpoints... That way, we won't have to do this while doing
-# the actual GDB/MI testing.
-
-clean_restart ${testfile}
-
-if {![runto_main]} {
- return 0
-}
-
-set msg "insert catchpoint on all Ada exceptions"
-gdb_test_multiple "catch exception" $msg {
- -re "Catchpoint $any_nb: all Ada exceptions$eol$gdb_prompt $" {
- pass $msg
- }
- -re "Your Ada runtime appears to be missing some debugging information.*\[\r\n\]+$gdb_prompt $" {
- # If the runtime was not built with enough debug information,
- # or if it was stripped, we can not test exception
- # catchpoints.
- unsupported $msg
- return -1
- }
-}
-
-# Now, we can start the GDB/MI testing itself...
load_lib mi-support.exp
set MIFLAGS "-i=mi"
diff --git a/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp b/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
index 2cd175f..ae08144 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile foo
@@ -23,36 +23,6 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional
return -1
}
-# A global variable used to simplify the maintenance of some of
-# the regular expressions below.
-set eol "\[\r\n\]+"
-
-# Before going any further, verify that we can insert exception
-# handlers catchpoints... That way, we won't have to do this while
-# doing the actual GDB/MI testing.
-
-clean_restart ${testfile}
-
-if {![runto_main]} {
- return 0
-}
-
-set msg "insert catchpoint on all Ada exceptions handlers"
-gdb_test_multiple "catch handlers" $msg {
- -re "Catchpoint $decimal: all Ada exceptions handlers$eol$gdb_prompt $" {
- pass $msg
- }
- -re "Your Ada runtime appears to be missing some debugging information.*\[\r\n\]+$gdb_prompt $" {
- # If the runtime was not built with enough debug information,
- # or if it was stripped, we can not test exception
- # catchpoints.
- unsupported $msg
- return -1
- }
-}
-
-# Now, we can start the GDB/MI testing itself...
-
load_lib mi-support.exp
set MIFLAGS "-i=mi"
diff --git a/gdb/testsuite/gdb.ada/mi_ex_cond.exp b/gdb/testsuite/gdb.ada/mi_ex_cond.exp
index 54aa6b5..c0bc079 100644
--- a/gdb/testsuite/gdb.ada/mi_ex_cond.exp
+++ b/gdb/testsuite/gdb.ada/mi_ex_cond.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gnat_runtime_has_debug_info
standard_ada_testfile foo
@@ -23,36 +23,9 @@ if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional
return -1
}
-# # Some global variables used to simplify the maintenance of some of
-# # the regular expressions below.
+# A global variable used to simplify the maintenance of some of
+# the regular expressions below.
set any_nb "\[0-9\]+"
-set eol "\[\r\n\]+"
-
-# Before going any further, verify that we can insert exception
-# catchpoints... That way, we won't have to do this while doing
-# the actual GDB/MI testing.
-
-clean_restart ${testfile}
-
-if {![runto_main]} {
- return 0
-}
-
-set msg "insert catchpoint on all Ada exceptions"
-gdb_test_multiple "catch exception" $msg {
- -re "Catchpoint $any_nb: all Ada exceptions$eol$gdb_prompt $" {
- pass $msg
- }
- -re "Your Ada runtime appears to be missing some debugging information.*\[\r\n\]+$gdb_prompt $" {
- # If the runtime was not built with enough debug information,
- # or if it was stripped, we can not test exception
- # catchpoints.
- unsupported $msg
- return -1
- }
-}
-
-# Now, we can start the GDB/MI testing itself...
load_lib mi-support.exp
set MIFLAGS "-i=mi"