[review,gdb/testsuite] Add note to 'Race detection' entry in README
Commit Message
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(-)
Comments
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 :)
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
...
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.
@@ -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
***********************