[review,gdb/testsuite] Add note to 'Race detection' entry in README

Message ID gerrit.1580725026000.I12ef2f0ec35abc5a0221585bf30e5f4f0616aa7c@gnutoolchain-gerrit.osci.io
State New
Headers show
Series
  • [review,gdb/testsuite] Add note to 'Race detection' entry in README
Related show

Commit Message

Simon Marchi (Code Review) Feb. 3, 2020, 10:17 a.m.
Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/762
......................................................................

[gdb/testsuite] Add note to 'Race detection' entry in README

Add note to 'Race detection' entry in README about the possibility that
check-read1 makes failing tests pass.

gdb/testsuite/ChangeLog:

2020-02-03  Tom de Vries  <tdevries@suse.de>

	* README (Race detection): Add note.

Change-Id: I12ef2f0ec35abc5a0221585bf30e5f4f0616aa7c
---
M gdb/testsuite/README
1 file changed, 7 insertions(+), 0 deletions(-)




-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I12ef2f0ec35abc5a0221585bf30e5f4f0616aa7c
Gerrit-Change-Number: 762
Gerrit-PatchSet: 1
Gerrit-Owner: Tom de Vries <tdevries@suse.de>
Gerrit-MessageType: newchange

Comments

Simon Marchi (Code Review) Feb. 4, 2020, 5:36 a.m. | #1
Simon Marchi has posted comments on this change.

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


Patch Set 1:

Out of curiosity, do you have an example of this?  Surely, you must have experienced a concrete case of this happening :)


-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I12ef2f0ec35abc5a0221585bf30e5f4f0616aa7c
Gerrit-Change-Number: 762
Gerrit-PatchSet: 1
Gerrit-Owner: Tom de Vries <tdevries@suse.de>
Gerrit-CC: Simon Marchi <simon.marchi@polymtl.ca>
Gerrit-Comment-Date: Tue, 04 Feb 2020 05:36:52 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Simon Marchi (Code Review) Feb. 4, 2020, 10:10 a.m. | #2
Tom de Vries has posted comments on this change.

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


Patch Set 1:

> Patch Set 1:

> 

> Out of curiosity, do you have an example of this?  Surely, you must have experienced a concrete case of this happening :)


I ran into this while working on https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/133 , where I would try to match:
...
[Inferior 1 exited ... ]^M
(gdb) [Inferior 2 exited ... ]^M
...

An easier way to reproduce this is:
...
$ cat gdb/testsuite/gdb.base/check-read1.c
#include <stdio.h>

int
main (void)
{
  printf ("hello\n");
  return 0;
}
...
and:
...
$ cat gdb/testsuite/gdb.base/check-read1.exp
standard_testfile

if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
    return -1
}

if ![runto_main] then {
    fail "can't run to main"
    return 0
}

gdb_test "continue &"
...

Where with make check we have:
...
Running src/gdb/testsuite/gdb.base/check-read1.exp ...
FAIL: gdb.base/check-read1.exp: continue & (timeout)

                === gdb Summary ===

# of unexpected failures        1
...
but with make check-read1 we have:
...
Running src/gdb/testsuite/gdb.base/check-read1.exp ...

                === gdb Summary ===

# of expected passes            1
...


-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I12ef2f0ec35abc5a0221585bf30e5f4f0616aa7c
Gerrit-Change-Number: 762
Gerrit-PatchSet: 1
Gerrit-Owner: Tom de Vries <tdevries@suse.de>
Gerrit-Reviewer: Tom de Vries <tdevries@suse.de>
Gerrit-CC: Simon Marchi <simon.marchi@polymtl.ca>
Gerrit-Comment-Date: Tue, 04 Feb 2020 10:10:26 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Simon Marchi (Code Review) Feb. 4, 2020, 2:25 p.m. | #3
Simon Marchi has posted comments on this change.

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


Patch Set 1: Code-Review+2

Ok, thanks.  It's not the usual case that GDB prints things after the prompt, but I think it's good to mention it anyway.


-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I12ef2f0ec35abc5a0221585bf30e5f4f0616aa7c
Gerrit-Change-Number: 762
Gerrit-PatchSet: 1
Gerrit-Owner: Tom de Vries <tdevries@suse.de>
Gerrit-Reviewer: Simon Marchi <simon.marchi@polymtl.ca>
Gerrit-Reviewer: Tom de Vries <tdevries@suse.de>
Gerrit-Comment-Date: Tue, 04 Feb 2020 14:25:14 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment

Patch

diff --git a/gdb/testsuite/README b/gdb/testsuite/README
index 4795df1..3e42526 100644
--- a/gdb/testsuite/README
+++ b/gdb/testsuite/README
@@ -352,6 +352,13 @@ 
 	make -j10 check-read1 TESTS="*/paginate-*.exp"
 	make -j10 check READ1="1"
 
+Note: While the intention is to detect races and make otherwise passing tests
+fail, it can also have the effect of making otherwise failing tests pass.
+This happens f.i. if the test is trying to match a gdb prompt using an end of
+input marker "${gdb_prompt} $" and there is output after the gdb prompt.  This
+may either pass or fail in normal operation, but using check-read1 will ensure
+that it passes.
+
 Testsuite Configuration
 ***********************