Date: Thu, 27 Apr 2017 17:29:27 +0200 From: Jilles Tjoelker <jilles@stack.nl> To: Alfred Perlstein <alfred@freebsd.org> Cc: Ngie Cooper <yaneurabeya@gmail.com>, Brooks Davis <brooks@freebsd.org>, "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>, "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Alan Somers <asomers@freebsd.org>, "bdrewery@freebsd.org" <bdrewery@freebsd.org> Subject: Re: racy tests Message-ID: <20170427152926.GA88843@stack.nl> In-Reply-To: <878d2f79-df2d-0c6c-bd21-c0e663160f45@freebsd.org> References: <20170425230247.GA8201@spindle.one-eyed-alien.net> <CAGHfRMD9DtJOXugffdpXwNjg-XaUE6%2BOW-gCU56Rb8STjDu7aA@mail.gmail.com> <878d2f79-df2d-0c6c-bd21-c0e663160f45@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Apr 27, 2017 at 05:47:11AM -0700, Alfred Perlstein wrote: > Can't something similar to this be done? > .(05:40:37)(bright@elvis.mu.org) > ~ % mkfifo derp > .(05:43:46)(bright@elvis.mu.org) > ~ % cat derp & > [1] 59244 > .(05:43:53)(bright@elvis.mu.org) > ~ % ( pwait $! && echo "$?" > ex_status )& > [2] 59263 > .(05:44:28)(bright@elvis.mu.org) > ~ % echo "hi" >> derp && echo "exit status: $(cat ex_status)" > hi > [2] + done ( pwait $! && echo "$?" > ex_status; ) > [1] + done cat derp > exit status: 0 > Make a fifo, lodge a cat(1) process waiting for data, pwait in the > background and stuff pwait's status into a file, then unstick the > cat(1) by writing to the fifo, and then read the exit status from > pwait from the file? Fifos are indeed a good idea. They are used various times in the /bin/sh tests, which should not wait for any sleeps in successful test runs (my main motivation for this is to be able to run the whole suite in a few seconds). In this case, however, the -t option being tested is inherently related to time. It would be possible to cheat by passing a very long timeout and cut it short by sending SIGALRM using kill (which depends on the concrete implementation). -- Jilles Tjoelker
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170427152926.GA88843>