This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Adapt gdb.ada/pkd_arr_elem.exp to accept reordered components


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a9c135fc7d0c005246849ff6b205fd5090248137

commit a9c135fc7d0c005246849ff6b205fd5090248137
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Mon Dec 11 00:16:31 2017 -0500

    Adapt gdb.ada/pkd_arr_elem.exp to accept reordered components
    
    Recent versions of GNAT are capable of reordering record components
    to make their access for efficient. This patch adapts this test to
    accept both cases (reordered or not).
    
    gdb/testsuite/ChangeLog:
    
            * gdb.ada/pkd_arr_elem.exp: Adapt "print test" test to accept
            output with components being reordered.

Diff:
---
 gdb/testsuite/ChangeLog                |  5 +++++
 gdb/testsuite/gdb.ada/pkd_arr_elem.exp | 14 ++++++++++++--
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 48bad29..87ecb23 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2017-12-11  Joel Brobecker  <brobecker@adacore.com>
+
+	* gdb.ada/pkd_arr_elem.exp: Adapt "print test" test to accept
+	output with components being reordered.
+
 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
 	    Pedro Alves  <palves@redhat.com>
 
diff --git a/gdb/testsuite/gdb.ada/pkd_arr_elem.exp b/gdb/testsuite/gdb.ada/pkd_arr_elem.exp
index 8d3a385..85458aa 100644
--- a/gdb/testsuite/gdb.ada/pkd_arr_elem.exp
+++ b/gdb/testsuite/gdb.ada/pkd_arr_elem.exp
@@ -28,8 +28,18 @@ clean_restart ${testfile}
 set bp_location [gdb_get_line_number "START" ${testdir}/failure.adb]
 runto "failure.adb:$bp_location"
 
-gdb_test "print test" \
-         "= \\(size => 100, str => \\(33 'A', nul <repeats 99 times>\\), length => 1\\)"
+# Print Test.  The order of the components depends on which version of
+# the compiler being used, as newer version can re-order the order
+# of the components.  Accept both known orders.
+set test "print test"
+gdb_test_multiple "$test" $test {
+  -re "= \\(size => 100, length => 1, str => \\(33 'A', nul <repeats 99 times>\\)\\).*$gdb_prompt $" {
+    pass $test
+    }
+  -re "= \\(size => 100, str => \\(33 'A', nul <repeats 99 times>\\), length => 1\\).*$gdb_prompt $" {
+    pass $test
+    }
+}
 
 gdb_test "print test.str" \
          "= \\(33 'A', nul <repeats 99 times>\\)"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]