X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Funit_core_script_server.t;h=f298fa9a202645a4b51043f64c62800518eca3e3;hb=27dad9301094f25bcedc66c476ec8b9d61521fb7;hp=258255ecfd6a9d5fe2b509fbe5fb597ab22e36b6;hpb=b1bfeea6b5a93af08341739456d587bd5455caf9;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/unit_core_script_server.t b/t/aggregate/unit_core_script_server.t index 258255e..f298fa9 100644 --- a/t/aggregate/unit_core_script_server.t +++ b/t/aggregate/unit_core_script_server.t @@ -26,6 +26,14 @@ testOption( [ qw/-h testhost/ ], ['3000', 'testhost', opthash()] ); # port -p -port --port -l --listen testOption( [ qw/-p 3001/ ], ['3001', undef, opthash()] ); testOption( [ qw/--port 3001/ ], ['3001', undef, opthash()] ); +{ + local $ENV{TESTAPPTOTESTSCRIPTS_PORT} = 5000; + testOption( [ qw// ], [5000, undef, opthash()] ); +} +{ + local $ENV{CATALYST_PORT} = 5000; + testOption( [ qw// ], [5000, undef, opthash()] ); +} # fork -f -fork --fork -f --fork testOption( [ qw/--fork/ ], ['3000', undef, opthash(fork => 1)] ); @@ -49,6 +57,15 @@ testOption( [ qw/--bg/ ], ['3000', undef, opthash(background => 1)] ); # restart -r -restart --restart -R --restart testRestart( ['-r'], restartopthash() ); +{ + local $ENV{TESTAPPTOTESTSCRIPTS_RELOAD} = 1; + testRestart( [], restartopthash() ); +} +{ + local $ENV{CATALYST_RELOAD} = 1; + testRestart( [], restartopthash() ); +} + # restart dly -rd -restartdelay --rd --restart_delay testRestart( ['-r', '--rd', 30], restartopthash(sleep_interval => 30) ); testRestart( ['-r', '--restart_delay', 30], restartopthash(sleep_interval => 30) ); @@ -62,6 +79,19 @@ testRestart( ['-r', '--restart_directory', 'root'], restartopthash(directories = testRestart( ['-r', '--rr', 'foo'], restartopthash(filter => qr/foo/) ); testRestart( ['-r', '--restart_regex', 'foo'], restartopthash(filter => qr/foo/) ); +local $ENV{TESTAPPTOTESTSCRIPTS_RESTARTER}; +local $ENV{CATALYST_RESTARTER}; +{ + is _build_testapp([])->restarter_class, 'Catalyst::Restarter', 'default restarter with no $ENV{CATALYST_RESTARTER}'; +} +{ + local $ENV{CATALYST_RESTARTER} = "CatalystX::Restarter::Other"; + is _build_testapp([])->restarter_class, $ENV{CATALYST_RESTARTER}, 'override restarter with $ENV{CATALYST_RESTARTER}'; +} +{ + local $ENV{TESTAPPTOTESTSCRIPTS_RESTARTER} = "CatalystX::Restarter::Other2"; + is _build_testapp([])->restarter_class, $ENV{TESTAPPTOTESTSCRIPTS_RESTARTER}, 'override restarter with $ENV{TESTAPPTOTESTSCRIPTS_RESTARTER}'; +} done_testing; sub testOption { @@ -72,12 +102,17 @@ sub testOption { }; # First element of RUN_ARGS will be the script name, which we don't care about shift @TestAppToTestScripts::RUN_ARGS; + my $server = pop @TestAppToTestScripts::RUN_ARGS; + like ref($server), qr/^Plack::Handler/, 'Is a Plack::Handler'; + # Mangle argv into the options.. + $resultarray->[-1]->{argv} = $argstring; is_deeply \@TestAppToTestScripts::RUN_ARGS, $resultarray, "is_deeply comparison " . join(' ', @$argstring); } sub testRestart { my ($argstring, $resultarray) = @_; my $app = _build_testapp($argstring); + ok $app->restart, 'App is in restart mode'; my $args = {$app->_restarter_args}; is_deeply delete $args->{argv}, $argstring, 'argv is arg string'; is ref(delete $args->{start_sub}), 'CODE', 'Closure to start app present'; @@ -110,8 +145,13 @@ sub opthash { } sub restartopthash { - return { - follow_symlinks => 0, - @_, + my $opthash = opthash(@_); + my $val = { + application_name => 'TestAppToTestScripts', + port => '3000', + debug => undef, + host => undef, + %$opthash, }; + return $val; }