[PATCH v7 4/4] tests: check status qualifier

Dmitry V. Levin ldv at altlinux.org
Sun Jul 7 20:39:13 UTC 2019


On Sun, Jul 07, 2019 at 07:19:07PM +0200, Paul Chaignon wrote:
> On Sun, Jul 07, 2019 at 08:06:06PM +0300, Dmitry V. Levin wrote:
> > On Sun, Jul 07, 2019 at 05:31:26PM +0200, Paul Chaignon wrote:
> > > On Sun, Jul 07, 2019 at 01:25:14PM +0300, Dmitry V. Levin wrote:
> > > > On Sat, Jul 06, 2019 at 09:20:15AM +0200, Paul Chaignon wrote:
> 
> [...]
> 
> > > > the following behaviour is very likely on that system:
> > > > 
> > > > $ ../strace -qf -enanosleep ./status-unfinished >/dev/null
> > > > [pid 24680] nanosleep({tv_sec=123, tv_nsec=0},  <unfinished ...>
> > > > [pid 24681] nanosleep({tv_sec=0, tv_nsec=12345}, NULL) = 0
> > > > [pid 24680] <... nanosleep resumed>NULL) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
> > > 
> 
> [...]
> 
> > 
> > > As for the ERESTART_RESTARTBLOCK, should we just handle that case in the
> > > .c test?
> > 
> > It's complicated by the fact that we have no information whether that case
> > has happened or not.
> 
> Ah, right.  I don't see what other syscall we can use without risking a
> ERESTART_RESTARTBLOCK as well, so should we just try running this test
> until it succeeds, kind of like threads-execve.test?

Since the test is about status=unfinished, we want to check that
- all unfinished syscalls are printed as expected;
- none of syscalls that are not unfinished are printed.

I think we can run it in a kind of loop similar to threads-execve.test
with additional check that nothing inappropriate is printed when the
actual output does not match the expected output.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20190707/f68e8593/attachment.bin>


More information about the Strace-devel mailing list