This is the mail archive of the gdb-patches@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]

Re: [PATCH] Harden gdb.base/coredump-filter.exp


On 04/10/2015 05:06 AM, Yao Qi wrote:
Luis Gustavo <luis_gustavo@mentor.com> writes:

diff --git a/gdb/testsuite/gdb.base/coredump-filter.exp b/gdb/testsuite/gdb.base/coredump-filter.exp
index f3203be..4c6c6ed 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 {
+    unsupported "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,11 @@ 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 QEMU), just bail

FAOD, QEMU here is QEMU user mode, isn't?


Yes, this is user mode. I suppose a system mode QEMU running gdbserver would work just fine. I made that information explicit in this updated version.

+	# out as the rest of the test may rely on it, giving spurious failures.
+	return -1
+    }
  }

We can just bail out if infpid is still "" after this gdb_test_multiple.


That still gives me one FAIL due to not matching what was expected. Did you mean a check inside this gdb_test_multiple?


2015-04-10  Luis Machado  <lgustavo@codesourcery.com>

	gdb/testsuite/
	* gdb.base/coredump-filter.exp: Restrict test to Linux systems only.
	Handle the case of targets that do not provide PID information.
---
 gdb/testsuite/gdb.base/coredump-filter.exp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gdb/testsuite/gdb.base/coredump-filter.exp b/gdb/testsuite/gdb.base/coredump-filter.exp
index f3203be..8350981 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.
-- 
1.9.1


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