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] Adjust self tests to cope with GDB built as a C++ program


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

commit a37bfa30016370992c59105fb4fd97cd3a264149
Author: Pedro Alves <palves@redhat.com>
Date:   Wed Oct 22 15:14:41 2014 +0100

    Adjust self tests to cope with GDB built as a C++ program
    
    gdb/testsuite/
    2015-02-27  Pedro Alves  <palves@redhat.com>
    
    	* gdb.gdb/complaints.exp (test_initial_complaints): Also accept
    	"true" for boolean result.
    	* gdb.gdb/selftest.exp (test_with_self): Also accept full
    	prototype of main.

Diff:
---
 gdb/testsuite/ChangeLog              | 7 +++++++
 gdb/testsuite/gdb.gdb/complaints.exp | 6 ++++--
 gdb/testsuite/gdb.gdb/selftest.exp   | 6 +++++-
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index efc74f6..60dbaa8 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,12 @@
 2015-02-27  Pedro Alves  <palves@redhat.com>
 
+	* gdb.gdb/complaints.exp (test_initial_complaints): Also accept
+	"true" for boolean result.
+	* gdb.gdb/selftest.exp (test_with_self): Also accept full
+	prototype of main.
+
+2015-02-27  Pedro Alves  <palves@redhat.com>
+
 	* lib/unbuffer_output.c: New file.
 	* gdb.base/interrupt.c: Include "../lib/unbuffer_output.c".
 	(main): Call gdb_unbuffer_output.
diff --git a/gdb/testsuite/gdb.gdb/complaints.exp b/gdb/testsuite/gdb.gdb/complaints.exp
index 500f414..707b2a5 100644
--- a/gdb/testsuite/gdb.gdb/complaints.exp
+++ b/gdb/testsuite/gdb.gdb/complaints.exp
@@ -43,9 +43,11 @@ proc test_initial_complaints { } {
     gdb_test "call complaint (&symfile_complaints, symfile_complaints->root->fmt)" \
 	    "During symbol reading, Register a complaint."
 
-    # Check that there is only one thing in the list
+    # Check that there is only one thing in the list.  How the boolean
+    # result is output depends on whether GDB is built as a C or C++
+    # program.
     gdb_test "print symfile_complaints->root->next == &complaint_sentinel" \
-	    ".\[0-9\]+ = 1" "list has one entry"
+	    ".\[0-9\]+ = \(1|true\)" "list has one entry"
 
     # Add a second complaint, expect it
     gdb_test "call complaint (&symfile_complaints, \"Testing! Testing! Testing!\")" \
diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
index b32e799..9f25a48 100644
--- a/gdb/testsuite/gdb.gdb/selftest.exp
+++ b/gdb/testsuite/gdb.gdb/selftest.exp
@@ -288,9 +288,13 @@ proc test_with_self { executable } {
 	return -1
     }
 
+    # When GDB is built as a C++ program, disassemble shows the full
+    # prototype.
+    set cxx_main_args_re [string_to_regexp "(int, char**)"]
+
     # disassemble yourself
     gdb_test "x/10i main" \
-	    "x/10i.*main.*main.$decimal.*main.$decimal.*" \
+	    "x/10i.*main.*main($cxx_main_args_re)?.$decimal.*main($cxx_main_args_re)?.$decimal.*" \
 	    "Disassemble main"
 
     # Set a breakpoint at main


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