[pushed] Adapt gdb.ada/variant_record_packed_array.exp to accept reordered components

Joel Brobecker brobecker@adacore.com
Mon Dec 11 06:00:00 GMT 2017


Hello,

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/variant_record_packed_array.exp: Adapt test to accept
        output with components being reordered.

Tested on x86_64-linux and pushed to master.

Thanks,
-- 
Joel

---
 gdb/testsuite/ChangeLog                            |  5 +++++
 .../gdb.ada/variant_record_packed_array.exp        | 24 ++++++++++++++++------
 2 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 87ecb23..28dfa14 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
 2017-12-11  Joel Brobecker  <brobecker@adacore.com>
 
+	* gdb.ada/variant_record_packed_array.exp: Adapt test to accept
+	output with components being reordered.
+
+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.
 
diff --git a/gdb/testsuite/gdb.ada/variant_record_packed_array.exp b/gdb/testsuite/gdb.ada/variant_record_packed_array.exp
index 9505542..b3fc5b5 100644
--- a/gdb/testsuite/gdb.ada/variant_record_packed_array.exp
+++ b/gdb/testsuite/gdb.ada/variant_record_packed_array.exp
@@ -26,14 +26,26 @@ clean_restart ${testfile}
 set bp_location [gdb_get_line_number "START" ${testdir}/foo.adb]
 runto "foo.adb:$bp_location"
 
-gdb_test "print my_buffer" \
-    "= \\(size => 8, buffer => \\(1, 2, 3, 4, 5, 6, 7, 0\\), length => 8\\)" \
-    "print empty"
+set test "print my_buffer"
+gdb_test_multiple "$test" $test {
+    -re "= \\(size => 8, buffer => \\(1, 2, 3, 4, 5, 6, 7, 0\\), length => 8\\)\[\r\n\]+$gdb_prompt $" {
+        pass $test
+    }
+    -re "= \\(size => 8, length => 8, buffer => \\(1, 2, 3, 4, 5, 6, 7, 0\\)\\)\[\r\n\]+$gdb_prompt $" {
+        pass $test
+    }
+}
 
 gdb_test "print my_buffer'Address" \
     "= \\(system\\.address\\) $hex" \
     "print address"
 
-gdb_test "print {foo.octal_buffer} ($)" \
-    "= \\(size => 8, buffer => \\(1, 2, 3, 4, 5, 6, 7, 0\\), length => 8\\)" \
-    "print adress content"
+set test "print {foo.octal_buffer} ($)"
+gdb_test_multiple "$test" $test {
+    -re "= \\(size => 8, buffer => \\(1, 2, 3, 4, 5, 6, 7, 0\\), length => 8\\)\[\r\n\]+$gdb_prompt $" {
+        pass $test
+    }
+    -re "= \\(size => 8, length => 8, buffer => \\(1, 2, 3, 4, 5, 6, 7, 0\\)\\)\[\r\n\]+$gdb_prompt $" {
+        pass $test
+    }
+}
-- 
2.1.4



More information about the Gdb-patches mailing list