public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [review] gdb/testsuite: Introduce compiler_supports_ctf_debug guard function
@ 2019-10-15 22:09 Andrew Burgess (Code Review)
  2019-10-16 18:02 ` Tom Tromey (Code Review)
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Andrew Burgess (Code Review) @ 2019-10-15 22:09 UTC (permalink / raw)
  To: gdb-patches

Andrew Burgess has uploaded a new change for review.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/121
......................................................................

gdb/testsuite: Introduce compiler_supports_ctf_debug guard function

Most versions of GCC in the wild don't support CTF debug format right
now, so, rather than attempting to compile the tests and failing each
time, this patch introduces a guard function to check if the compiler
supports CTF.  If we don't have CTF support then the CTF tests are
skipped.

This patch only updates 3 of the 4 CTF tests, the fourth will be
handled in the next patch.

gdb/testsuite/ChangeLog:

	* gdb.base/ctf-constvars.exp: Skip test if CTF is not supported in
	the compiler.  Clean up header comment a little.
	* gdb.base/ctf-ptype.exp: Likewise.
	* gdb.base/ctf-whatis.exp: Likewise.
	* lib/gdb.exp (compiler_supports_ctf_debug): New proc.

Change-Id: I505c11169a9bc9871a31fc0c61e119f92f32cc63
---
M gdb/testsuite/ChangeLog
M gdb/testsuite/gdb.base/ctf-constvars.exp
M gdb/testsuite/gdb.base/ctf-ptype.exp
M gdb/testsuite/gdb.base/ctf-whatis.exp
M gdb/testsuite/lib/gdb.exp
5 files changed, 39 insertions(+), 20 deletions(-)



diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index ce6e0f2..245b8f9 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2019-10-15  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/ctf-constvars.exp: Skip test if CTF is not supported in
+	the compiler.  Clean up header comment a little.
+	* gdb.base/ctf-ptype.exp: Likewise.
+	* gdb.base/ctf-whatis.exp: Likewise.
+	* lib/gdb.exp (compiler_supports_ctf_debug): New proc.
+
 2019-10-14  Simon Marchi <simon.marchi@polymtl.ca>
 
 	* gdb.mi/list-thread-groups-available.exp: Read entries one by
diff --git a/gdb/testsuite/gdb.base/ctf-constvars.exp b/gdb/testsuite/gdb.base/ctf-constvars.exp
index 4a81a94..58c0bad 100644
--- a/gdb/testsuite/gdb.base/ctf-constvars.exp
+++ b/gdb/testsuite/gdb.base/ctf-constvars.exp
@@ -18,20 +18,20 @@
 #
 # This file is part of the gdb testsuite
 #
-# tests for const variables
-#           const pointers to vars
-#           pointers to const variables
-#           const pointers to const vars
-# with mixed types
+# Tests for: const variables,
+#            const pointers to vars
+#            pointers to const variables
+#            const pointers to const vars
+# with mixed types.
 
-#
-# test running programs
-#
-# -gt generates full-fledged CTF.
+if ![compiler_supports_ctf_debug] {
+    return 0
+}
 
 standard_testfile .c
-set opts "additional_flags=-gt"
 
+# Using `-gt` generates full-fledged CTF debug information.
+set opts "additional_flags=-gt"
 if { [prepare_for_testing "failed to prepare" ${testfile} \
 	  [list $srcfile] [list $opts nowarnings]] } {
     return 0
diff --git a/gdb/testsuite/gdb.base/ctf-ptype.exp b/gdb/testsuite/gdb.base/ctf-ptype.exp
index 9f54582..172f6d1 100644
--- a/gdb/testsuite/gdb.base/ctf-ptype.exp
+++ b/gdb/testsuite/gdb.base/ctf-ptype.exp
@@ -15,14 +15,14 @@
 
 # This file is a subset of ptype.exp written by Rob Savoye. (rob@cygnus.com)
 
-#
-# test running programs
-#
-# -gt generates full-fledged CTF.
+if ![compiler_supports_ctf_debug] {
+    return 0
+}
 
 standard_testfile .c
-set opts "additional_flags=-gt"
 
+# Using `-gt` generates full-fledged CTF debug information.
+set opts "additional_flags=-gt"
 if { [prepare_for_testing "failed to prepare" ${testfile} \
 	  [list $srcfile] [list $opts nowarnings]] } {
     return 0
diff --git a/gdb/testsuite/gdb.base/ctf-whatis.exp b/gdb/testsuite/gdb.base/ctf-whatis.exp
index 3f26fc3..377eeb3 100644
--- a/gdb/testsuite/gdb.base/ctf-whatis.exp
+++ b/gdb/testsuite/gdb.base/ctf-whatis.exp
@@ -15,14 +15,14 @@
 
 # This file is a subset of whatis.exp written by Rob Savoye. (rob@cygnus.com)
 
-#
-# test running programs
-#
-# -gt generates full-fledged CTF.
+if ![compiler_supports_ctf_debug] {
+    return 0
+}
 
 standard_testfile .c
-set opts "additional_flags=-gt"
 
+# Using `-gt` generates full-fledged CTF debug information.
+set opts "additional_flags=-gt"
 if { [prepare_for_testing "failed to prepare" ${testfile} \
           [list $srcfile] [list $opts nowarnings]] } {
     return 0
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index fed46ec..aa93a4b 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -6737,5 +6737,16 @@
     }
 }
 
+# Does the compiler support CTF debug output using '-gt' compiler
+# flag?
+gdb_caching_proc compiler_supports_ctf_debug {
+    verbose -log "APB: Got here."
+    return [gdb_can_simple_compile ctfdebug {
+	int main () {
+	    return 0;
+	}
+    } executable "additional_flags=-gt"]
+}
+
 # Always load compatibility stuff.
 load_lib future.exp

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-11-19  0:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-15 22:09 [review] gdb/testsuite: Introduce compiler_supports_ctf_debug guard function Andrew Burgess (Code Review)
2019-10-16 18:02 ` Tom Tromey (Code Review)
2019-10-16 20:02 ` Andrew Burgess (Code Review)
2019-10-22 16:11 ` Tom Tromey (Code Review)
2019-11-16 22:45 ` Simon Marchi (Code Review)
2019-11-18 17:53 ` [review v2] " Andrew Burgess (Code Review)
2019-11-18 17:57 ` [review v3] gdb/testsuite: Introduce skip_ctf_tests " Andrew Burgess (Code Review)
2019-11-18 18:03 ` Andrew Burgess (Code Review)
2019-11-18 18:46 ` Simon Marchi (Code Review)
2019-11-18 18:47 ` Simon Marchi (Code Review)
2019-11-19  0:47 ` [pushed] " Sourceware to Gerrit sync (Code Review)
2019-11-19  0:47 ` Sourceware to Gerrit sync (Code Review)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).