Start inferior before running test listing Ada exceptions.
authorJoel Brobecker <brobecker@adacore.com>
Fri, 15 Nov 2013 06:30:00 +0000 (10:30 +0400)
committerJoel Brobecker <brobecker@adacore.com>
Fri, 15 Nov 2013 16:14:25 +0000 (20:14 +0400)
This patch fixes some spurious failures when the inferior is linked
against the shared version of libgnat by default, as appears to be
the case on many GNU/Linux distributions.  When that happens, we have
to start the program in order to ensure that the GNAT runtime is
mapped to memory, in order for us to find the standard exceptions
(defined within the runtime).  Otherwise, they will not be shown,
as expected, by the debugger.

gdb/testsuite/ChangeLog:

        * gdb.ada/info_exc.exp: Start inferior before starting
        the "info exceptions" tests.
        * gdb.ada/mi_exc_info.exp: Start inferior before starting
        the "-info-ada-exceptions" tests.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.ada/info_exc.exp
gdb/testsuite/gdb.ada/mi_exc_info.exp

index e3ed878..0031289 100644 (file)
@@ -1,3 +1,10 @@
+2013-11-15  Joel Brobecker  <brobecker@adacore.com>
+
+       * gdb.ada/info_exc.exp: Start inferior before starting
+       the "info exceptions" tests.
+       * gdb.ada/mi_exc_info.exp: Start inferior before starting
+       the "-info-ada-exceptions" tests.
+
 2013-11-15  Tom Tromey  <tromey@redhat.com>
 
        * gdb.cp/includefile: New file.
index 3ff5180..9637bce 100644 (file)
@@ -34,6 +34,11 @@ proc multi_line { args } {
 
 clean_restart ${testfile}
 
+if ![runto_main] then {
+   fail "Cannot run to main, testcase aborted"
+   return 0
+}
+
 gdb_test "info exceptions" \
     [multi_line "All defined Ada exceptions:" \
                 "constraint_error: $hex" \
index b77ccbc..8325e90 100644 (file)
@@ -29,6 +29,11 @@ if [mi_gdb_start] {
     continue
 }
 
+if ![mi_run_to_main] then {
+   fail "Cannot run to main, testcase aborted"
+   return 0
+}
+
 mi_delete_breakpoints
 mi_gdb_reinitialize_dir $srcdir/$subdir
 mi_gdb_load ${binfile}