/[Frey]/trunk/lib/Frey/Test.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/lib/Frey/Test.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 103 - (show annotations)
Fri Jul 11 23:08:25 2008 UTC (15 years, 9 months ago) by dpavlin
File size: 796 byte(s)
minimal server testing

Ability to run server on different port by specifiny port on command line of
using FREY_PORT enviroment variable
1 package Frey::Test;
2
3 use IO::Handle;
4
5 our $kid_pid;
6
7 sub start_server {
8 my ($self,$filename) = @_;
9 $filename ||= './bin/server.pl';
10 $kid_pid = open(my $kid_out, '-|');
11 die "Unable to fork!" unless defined($kid_pid);
12 if($kid_pid) {
13 $kid_out->autoflush;
14 return $kid_out;
15 } else {
16 if(-e $filename) {
17 $ENV{FREY_PORT} = int( 16000 + rand(1000) );
18 do $filename or die "Unable to eval $filename! $@";
19 } else {
20 die "I can't find '$filename'!";
21 }
22 exit;
23 }
24 }
25
26 sub get_server {
27 my ( $self, $kid_out ) = @_;
28 my $server = <$kid_out>;
29 chomp $server;
30 if($server =~ /http:\/\/[^:]+:(\d+)/) {
31 $server = "http://localhost:$1/";
32 warn "## server $server";
33 } else {
34 die "can't start server";
35 }
36 return $server;
37 }
38
39 sub stop_server {
40 my ( $self ) = @_;
41 kill 9, $kid_pid;
42 }
43
44 1;
45

  ViewVC Help
Powered by ViewVC 1.1.26