ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/t/19_handle.t
Revision: 1.2
Committed: Tue Jul 28 02:04:21 2009 UTC (14 years, 10 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-6_512, rel-6_513, rel-6_511, rel-6_09, rel-6_514, rel-6_0, rel-5_23, rel-5_24, rel-5_25, rel-6_5, rel-6_32, rel-6_33, rel-6_31, rel-6_36, rel-6_37, rel-5_162, rel-5_2, rel-6_38, rel-6_39, rel-6_10, rel-6_51, rel-6_52, rel-6_53, rel-6_54, rel-6_55, rel-6_56, rel-6_57, rel-6_03, rel-6_02, rel-5_22, rel-5_17, rel-5_37, rel-5_36, rel-6_23, rel-6_08, rel-6_07, rel-6_06, rel-6_05, rel-6_04, rel-6_29, rel-6_28, rel-6_01, rel-6_43, rel-6_42, rel-6_41, rel-6_47, rel-6_46, rel-6_45, rel-6_44, rel-6_49, rel-6_48, rel-5_371, rel-5_372, HEAD
Changes since 1.1: +9 -0 lines
Log Message:
5.162

File Contents

# User Rev Content
1 root 1.2 BEGIN {
2     unless (exists $SIG{USR1}) {
3     print <<EOF;
4     1..0 # SKIP Broken perl detected, skipping tests.
5     EOF
6     exit 0;
7     }
8     }
9    
10 root 1.1 $|=1;
11     print "1..4\n";
12    
13     # note: the fourth test falls into an infinite loop in older versions of Coro
14    
15     use AnyEvent::Util; ();
16    
17     use Coro;
18     use Coro::Handle;
19    
20     my @sep = ("\n", "e", undef, "");
21     my @ex = (
22     "one\n:two\n:\n:three\n:\n:\n:four\n:\n:\n:five\n:six\n:seven:",
23     "one:\ntwo\n\nthre:e:\n\n\nfour\n\n\nfive:\nsix\nse:ve:n:",
24     "one\ntwo\n\nthree\n\n\nfour\n\n\nfive\nsix\nseven:",
25     "one\ntwo\n\n:three\n\n:four\n\n:five\nsix\nseven:",
26     );
27    
28     for my $c (0..3) {
29     my ($R, $W) = AnyEvent::Util::portable_pipe
30     or die "error creating pipe pair: $!";
31    
32     $R = unblock $R;
33     $W = unblock $W;
34    
35     $W->autoflush(1);
36     async {
37     $W->print("one\ntwo\n\nthree\n\n\nfour\n\n\nfive\nsix\nseven");
38     $W->close;
39     }
40    
41     my $p;
42     while (defined(my $i = $R->readline($sep[$c]))) {
43     $p .= $i . ":";
44     }
45    
46     $ex[$c] eq $p or
47     print "not ";
48     print "ok " . (1 + $c) . "\n";
49     }