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] Harden gdb.base/coredump-filter.exp


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

commit 7578d5f72c4abb6b49b0394bc810192b06088705
Author: Luis Machado <lgustavo@codesourcery.com>
Date:   Mon Apr 13 14:42:48 2015 -0300

    Harden gdb.base/coredump-filter.exp
    
    This testcase seems to assume the target is running Linux, so bare metal,
    simulators and other debugging stubs running different OS' will have a
    hard time executing some of the commands the testcase issues.
    
    Even restricting the testcase to Linux systems (which the patch below does),
    there are still problems with, say, QEMU not providing PID information when
    "info inferior" is issued. As a consequence, the subsequent tests will either
    fail or will not make much sense.
    
    The attached patch checks if PID information is available. If not, it just
    bails out and avoids running into a number of failures.
    
    gdb/testsuite/ChangeLog:
    2015-04-13  Luis Machado  <lgustavo@codesourcery.com>
    
    	* gdb.base/coredump-filter.exp: Restrict test to Linux systems only.
    	Handle the case of targets that do not provide PID information.

Diff:
---
 gdb/testsuite/ChangeLog                    |  5 +++++
 gdb/testsuite/gdb.base/coredump-filter.exp | 12 ++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 55aeecc..e01fd38 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-13  Luis Machado  <lgustavo@codesourcery.com>
+
+	* gdb.base/coredump-filter.exp: Restrict test to Linux systems only.
+	Handle the case of targets that do not provide PID information.
+
 2015-04-13  Yao Qi  <yao.qi@linaro.org>
 
 	* lib/gdbserver-support.exp (gdb_exit): Catch exception
diff --git a/gdb/testsuite/gdb.base/coredump-filter.exp b/gdb/testsuite/gdb.base/coredump-filter.exp
index 8c94e94..f872de0 100644
--- a/gdb/testsuite/gdb.base/coredump-filter.exp
+++ b/gdb/testsuite/gdb.base/coredump-filter.exp
@@ -15,6 +15,12 @@
 
 standard_testfile
 
+# This test is Linux-only.
+if ![istarget *-*-linux*] then {
+    untested "coredump-filter.exp"
+    return -1
+}
+
 if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {
     untested "could not compile test program"
     return -1
@@ -146,6 +152,12 @@ gdb_test_multiple "info inferiors" "getting inferior pid" {
     -re "process \($decimal\).*\r\n$gdb_prompt $" {
 	set infpid $expect_out(1,string)
     }
+    -re "Remote target.*$gdb_prompt $" {
+	# If the target does not provide PID information (like usermode QEMU),
+	# just bail out as the rest of the test may rely on it, giving spurious
+	# failures.
+	return -1
+    }
 }
 
 # Get the main function's address.


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