ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/t/01_timer.t
Revision: 1.3
Committed: Sat Nov 17 01:48:49 2007 UTC (16 years, 7 months ago) by root
Content type: application/x-troff
Branch: MAIN
Changes since 1.2: +28 -6 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 BEGIN { $| = 1; print "1..6002\n"; }
2
3 no warnings;
4
5 use EV;
6
7 my $id = 1;
8 my @timer;
9 my @periodic;
10
11 my $base = EV::now;
12 my $prev = EV::now;
13
14 for (1..1000) {
15 my $t = $_ * $_ * 1.735435336; $t -= int $t;
16 push @timer, EV::timer $t, 0, sub {
17 my $now = EV::now;
18
19 print $now >= $prev ? "" : "not ", "ok ", ++$id, " # t0 $now >= $prev\n";
20 print $now >= $base + $t ? "" : "not ", "ok ", ++$id, " # t1 $now >= $base + $t\n";
21
22 unless ($id % 3) {
23 $t *= 0.0625;
24 $_[0]->set ($t);
25 $_[0]->start;
26 $t = $now + $t - $base;
27 }
28
29 $prev = $now;
30 };
31
32 my $t = $_ * $_ * 1.375475771; $t -= int $t;
33 push @periodic, EV::periodic $base + $t, 0, 0, sub {
34 my $now = EV::now;
35
36 print $now >= $prev ? "" : "not ", "ok ", ++$id, " # p0 $now >= $prev\n";
37 print $now >= $base + $t ? "" : "not ", "ok ", ++$id, " # p1 $now >= $base + $t\n";
38
39 unless ($id % 3) {
40 $t *= 1.0625;
41 $_[0]->set ($base + $t);
42 $_[0]->start;
43 }
44
45 $prev = $now;
46 };
47 }
48
49 print "ok 1\n";
50 EV::loop;
51 print "ok 6002\n";
52