summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@adacore.com>2017-12-11 00:16:31 -0500
committerJoel Brobecker <brobecker@adacore.com>2017-12-11 00:16:31 -0500
commita9c135fc7d0c005246849ff6b205fd5090248137 (patch)
treefc2d3b80f220b8a0dde3266f02b6f92341c72b8d
parent75323ba0a7588fcd6c8505077719abd50cae71e3 (diff)
downloadbinutils-gdb-a9c135fc7d0c005246849ff6b205fd5090248137.tar.gz
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.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.ada/pkd_arr_elem.exp14
2 files changed, 17 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 48bad296963..87ecb23306e 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 8d3a385c83f..85458aa8fc7 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>\\)"