<div dir="ltr">Hey<br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 27, 2014 at 4:48 PM, Nathan Lynch <span dir="ltr"><<a href="mailto:Nathan_Lynch@mentor.com" target="_blank">Nathan_Lynch@mentor.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On 10/26/2014 08:21 PM, Jonathan Rajotte wrote:<br>
> Signed-off-by: Jonathan Rajotte <<a href="mailto:jonathan.r.julien@gmail.com" target="_blank">jonathan.r.julien@gmail.com</a>><br>
<br>
More description of the change is needed IMO.<br>
<span><br>
> ---<br>
>  tests/regression/tools/mi/test_mi | 5 +++++<br>
>  1 file changed, 5 insertions(+)<br>
><br>
> diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi<br>
> index fa46b51..7acec18 100755<br>
> --- a/tests/regression/tools/mi/test_mi<br>
> +++ b/tests/regression/tools/mi/test_mi<br>
> @@ -507,6 +507,11 @@ function test_list_ust_event ()<br>
><br>
>       #Begin testing<br>
>       $TESTAPP_BIN $NR_USEC_WAIT & 2>/dev/null<br>
> +     pid=$!<br>
> +<br>
> +     #Wait for TESTAPP to run<br>
> +     while ! kill -0 $pid 2> /dev/null; do :; done<br>
> +<br>
>       list_lttng_with_opts "-u -f"<br>
<br>
</span>Is this an attempt to give the test program enough time to register<br>
tracepoints?<br></blockquote><div><br></div><div>A poor one... if one at all.... for which I needed feedback (missing rfc tag here) because I could not simply find any simple way. See [1]</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
If so, I agree there is a race, but I don't think this is the right way<br>
to address it.</blockquote><div>   I would not expect the while ! kill loop to repeat at</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
all;</blockquote><div><br></div><div>The presence of ":" assure the execution of the while loop.</div><div>A simple test on a process that does not exist yield a lot of printing:</div><div><br></div><div>while ! kill -0 500; do :; done</div><div> </div><div>Anyway it does not solve the problem. ;) and I'm not sure you were talking about that.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> if you remove the stderr redirection do you see any output, ever?</blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
The exit status from kill $! is not a reliable indication that the shell<br>
has execve'd the program in the background, and even if it were, it<br>
would not be a reliable indication of how far the program has progressed</blockquote><div> </div><div>+1 </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
(e.g. whether it has got far enough along to register tracepoints).<br>
<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
If a test program needs to run in the background, yet needs to reach a<br>
certain state before the rest of the test should proceed, then it should<br>
have a way to indicate to the test harness that it has reached the<br>
desired state.  The shell's rudimentary facilities for managing<br>
concurrency are not sufficient.<br></blockquote><div><br></div><div>I'm pushing limits here regarding simplicity: how about a trap and signal exchange between the testapp... might give it a shot. Or a simple sleep...</div><div><br></div></div><div dir="ltr"><div>Thanks, I'll think about it a little more.</div><div><br></div><div>[1]:<a href="http://meta.wikimedia.org/wiki/Cunningham%27s_Law">http://meta.wikimedia.org/wiki/Cunningham%27s_Law</a> </div><div>Bonus xkcd: <a href="http://xkcd.com/386/">http://xkcd.com/386/</a></div></div>
</div></div>