ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-Fork/t/04_tofrom.t
Revision: 1.1
Committed: Fri Apr 19 10:51:41 2013 UTC (11 years, 1 month ago) by root
Content type: application/x-troff
Branch: MAIN
Log Message:
*** empty log message ***

File Contents

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