actually document the new request body_data method
[catagits/Catalyst-Runtime.git] / t / lib / TestApp / Controller / Fork.pm
1 #!/usr/bin/perl
2 # Fork.pm 
3 # Copyright (c) 2006 Jonathan Rockway <jrockway@cpan.org>
4
5 package TestApp::Controller::Fork;
6
7 use strict;
8 use warnings;
9 use base 'Catalyst::Controller';
10
11 eval 'use YAML';
12
13 sub system : Local {
14     my ($self, $c, $ls) = @_;
15     my ($result, $code) = (undef, 1);
16
17     if(!-e $ls || !-x _){ 
18         $result = 'skip';
19     }
20     else {
21         $result = system($ls, $ls, $ls);
22         $result = $! if $result != 0;
23     }
24     
25     $c->response->body(Dump({result => $result}));
26 }
27
28 sub backticks : Local {
29     my ($self, $c, $ls) = @_;
30     my ($result, $code) = (undef, 1);
31     
32     if(!-e $ls || !-x _){ 
33         $result = 'skip';
34         $code = 0;
35     }
36     else {
37         $result = `$ls $ls $ls` || $!;
38         $code = $?;
39     }
40     
41     $c->response->body(Dump({result => $result, code => $code}));
42 }
43
44 sub fork : Local {
45     my ($self, $c) = @_;
46     my $pid;
47     my $x = 0;
48     
49     if($pid = fork()){
50         $x = "ok";
51     }
52     else {
53         exit(0);
54     }
55
56     waitpid $pid,0 or die;
57     
58     $c->response->body(Dump({pid => $pid, result => $x}));
59 }
60
61 1;