ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-Fork/t/04_tofrom.t
Revision: 1.3
Committed: Fri Apr 19 12:57:00 2013 UTC (11 years, 2 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-1_1, rel-1_0, rel-1_3, rel-1_2, rel-1_32, rel-1_31, HEAD
Changes since 1.2: +0 -1 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 BEGIN { $| = 1; print "1..18\n"; }
2    
3 root 1.2 BEGIN {
4     $ENV{PERL_ANYEVENT_MODEL} = "Perl"; # work around bugs in win32 perls
5     }
6    
7 root 1.1 use AnyEvent::Fork;
8    
9     print "ok 1\n";
10    
11     my $proc = new AnyEvent::Fork; print "ok 2\n";
12     my $to1 = new AnyEvent::Fork; print "ok 3\n";
13     my $to2 = new AnyEvent::Fork; print "ok 4\n";
14    
15     $to1->eval ("1");
16    
17     print "ok 5\n";
18    
19     my $fh1 = do { $to1->to_fh (my $cv = AE::cv); $cv->recv }; print "ok 6\n";
20     my $fh2 = do { $to2->to_fh (my $cv = AE::cv); $cv->recv }; print "ok 7\n";
21    
22     undef $to1;
23     undef $to2;
24    
25     print $proc ? "" : "not ", "ok 8\n";
26    
27     use AnyEvent::Util;
28    
29     print +(my ($r1, $w1) = AnyEvent::Util::portable_pipe) ? "" : "not ", "ok 9\n";
30     print +(my ($r2, $w2) = AnyEvent::Util::portable_pipe) ? "" : "not ", "ok 10\n";
31    
32     $proc->send_fh ($fh1); undef $fh1; $proc->send_fh ($w1); undef $w1; print "ok 11\n";
33     $proc->send_fh ($fh2); undef $fh2; $proc->send_fh ($w2); undef $w2; print "ok 12\n";
34    
35     $proc->eval ('
36     use AnyEvent;
37     use AnyEvent::Fork;
38    
39     my $to1 = new_from_fh AnyEvent::Fork $arg[0]; $to1->send_fh ($arg[1]); $to1->eval ($_[0]);
40     my $to2 = new_from_fh AnyEvent::Fork $arg[2]; $to2->send_fh ($arg[3]); $to2->eval ($_[1]);
41    
42 root 1.2 $to1->to_fh (my $cv1 = AE::cv); $cv1->recv;
43     $to2->to_fh (my $cv2 = AE::cv); $cv2->recv;
44 root 1.1 ','
45     syswrite $arg[0], "172";
46     ','
47     syswrite $arg[0], "174";
48     ');
49    
50     print "ok 13\n";
51    
52     do { $proc->to_fh (my $cv = AE::cv); $cv->recv };
53    
54     print "ok 14\n";
55    
56     undef $proc;
57    
58     print "ok 15\n";
59    
60     $r1 = <$r1>;
61     print $r1 eq "172" ? "" : "not ", "ok 16 # $r1\n";
62    
63     $r2 = <$r2>;
64     print $r2 eq "174" ? "" : "not ", "ok 17 # $r2\n";
65    
66     print "ok 18\n";
67