On Thu Sep 04 11:26:44 2008, pmichaud wrote:
> 
> It does cause the auto::aio step to continue after about 10 seconds
> with a message of "wrong signal".  
> 
> 1.  I think 10 seconds might be a bit too long -- 4 or 5 might be better.
> 2.  It would be nice if "wrong signal" was suppressed, or otherwise
>     incorporated into the output such that it didn't present a "break"
>     in the configuration display.
> 

I applied the patch attached, aio.in.revised.patch.txt, in r30771.  I
set the 'sleep' to 4 seconds.  All the tests have been reactivated.

This is a patch in the sense of "bandaid".  What is it about the letter
'K' that means that this probe gives sloppy results on Kubuntu when on
Ubuntu it has built cleanly for me every day since I started building
Parrot?  Haven't a clue, as purl would say.  Anyone who knows more about
AIO please take a crack at this.

Thank you very much.
kid51


Index: t/steps/auto_aio-01.t
===================================================================
--- t/steps/auto_aio-01.t       (revision 30770)
+++ t/steps/auto_aio-01.t       (working copy)
@@ -39,9 +39,9 @@
 $conf->options->set( %{$args} );
 my $step = test_step_constructor_and_description($conf);
 
-SKIP: {
-    skip 'Config step auto::aio under revision',
-    21;
+#SKIP: {
+#    skip 'Config step auto::aio under revision',
+#    21;
 
 my $ret = $step->runstep($conf);
 ok( $ret, "runstep() returned true value" );
@@ -121,7 +121,7 @@
     like($stdout, qr/no/, "Got expected verbose output");
 }
 
-} # END SKIP BLOCK
+#} # END SKIP BLOCK
 
 # Problem:  With no usage of config::init::defaults and with next line test_*
 # files created by probe are correctly cleaned up -- but at same time
Index: config/auto/aio/aio.in
===================================================================
--- config/auto/aio/aio.in      (revision 30770)
+++ config/auto/aio/aio.in      (working copy)
@@ -34,6 +34,7 @@
     struct sigaction sa;
     int fd;
     int i = 42;
+    int cnt = 4;
 
     my_sig = atoi(argv[1]);
     printf("SIGRTMIN=%d SIGRTMAX=%d\n", SIGRTMIN, SIGRTMAX);
@@ -57,7 +58,7 @@
        die("sigaction err");
     if (aio_read(&a) < 0)
        die("aio_read err");
-    while (!flag) {
+    while (--cnt && !flag) {
        sleep(1);
     }
     if (flag != my_sig)

Reply via email to