On Mon, 2020-07-20 at 12:10 +0100, Alex Coplan wrote: > Hello, > > This patch fixes a bug in jit.exp which causes the DejaGnu output of > the > libgccjit testsuite to be nondeterministically truncated. This bug > was > copied from DejaGnu's own implementation of the host_execute > function. > See the upstream bug report [0] where the maintainers point out that > the > regex patterns in host_execute should (but don't currently) > explicitly > match newlines to avoid relying on DejaGnu not reading more than one > line of the output (which is not guaranteed). > > To reproduce the bug, run: > > $ make check-jit RUNTESTFLAGS="jit.exp=test-arith-overflow.c" > $ grep -v iteration testsuite/jit/jit.sum > > and you should see some lines that have been truncated (I see the > word > iteration partially or fully truncated). Alternatively, simply run > the > testsuite twice (saving a copy of testsuite/jit/jit.sum from the > first > run) and diff the two jit.sum files to observe the random truncations > to > the output. > > This patch should make it easier to test jit patches in the future, > since it makes it possible to reliably compare the output of two > jit.sum > files (as with the other tests in GCC). > > Testing: > * Ran the testsuite before and after the patch, observing that the > only > differences in jit.sum were in test-threads.c (nondeterministic > test) > and where the truncated output from the first run was no longer > truncated. > * Ran the testsuite twice after the patch, observing that the only > differences in jit.sum between the two runs were in test- > threads.c. > > OK for master? > > Thanks, > Alex > > --- > > 2020-07-20 Alex Coplan <alex.cop...@arm.com> > > gcc/testsuite/ChangeLog: > > * jit.dg/jit.exp (fixed_host_execute): Fix regex patterns to > always explicitly match newlines. > > > [0] : https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42399 ` Thanks for chasing this up. This looks a lot like the issues being tracked in PR jit/69435, so please add that to the ChangeLog when committing.
OK for master. Dave