On 6/19/07, via RT Ron Blaschke <[EMAIL PROTECTED]> wrote:
# New Ticket Created by Ron Blaschke
# Please include the string: [perl #43250]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=43250 >
Test 5 of F<t/dynoplibs/myops.t> has some very strong timing constraint.
Two sleeps of a second each (and a few minor int/print ops) may not be
faster than a two seconds alarm. This often doesn't work out on my box
(Windows XP, Visual C++).
t\dynoplibs\myops....NOK 5# Failed test (t\dynoplibs\myops.t at line 77)
# got: '1
# 2
# alarm
# 3
# done.
# '
# expected: '1
# alarm
# 2
# 3
# done.
# '
Attached patch unrolls the loop, which may or may not be more readable,
but more importantly opens a +/- 1 second time window for the alarm.
$ prove t\dynoplibs\myops.t
t\dynoplibs\myops....ok
All tests successful.
Files=1, Tests=8, 10 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU)
Ron
Index: t/dynoplibs/myops.t
===================================================================
--- t/dynoplibs/myops.t (revision 19083)
+++ t/dynoplibs/myops.t (working copy)
@@ -80,14 +80,16 @@
.sub main :main
find_global P0, "_alarm"
alarm 2.0, P0
- set I0, 1
-loop:
sleep 1
- print I0
- print "\n"
- inc I0
- # check_events
- le I0, 3, loop
+ print "1\n"
+
+ # alarm should be triggered half-way
+ # during this sleep
+ sleep 2
+ print "2\n"
+
+ sleep 1
+ print "3\n"
print "done.\n"
.end
thanks, applied as r19131.
~jerry