[Catalyst-commits] r13602 - in Catalyst-Runtime/5.80/branches/gsoc_breadboard: . lib lib/Catalyst lib/Catalyst/Script t t/aggregate t/author t/lib t/lib/ChainedActionsApp/Controller t/lib/TestApp/Controller t/lib/TestAppShowInternalActions t/lib/TestAppShowInternalActions/Controller

arcanez at dev.catalyst.perl.org arcanez at dev.catalyst.perl.org
Mon Sep 27 18:50:45 GMT 2010


Author: arcanez
Date: 2010-09-27 19:50:45 +0100 (Mon, 27 Sep 2010)
New Revision: 13602

Added:
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live__component_controller_action_chained2.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions/
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions/Controller/
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions/Controller/Root.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_show_internal_actions_warnings.t
Removed:
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_dispatcher_chained_action.t
Modified:
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/Changes
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/Makefile.PL
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Runtime.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Script/CGI.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Test.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Utils.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live_engine_response_headers.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_help.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_test.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/author/podcoverage.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/ChainedActionsApp/Controller/Root.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestApp/Controller/Root.pm
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_catalyst_test.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_http-server-restart.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_threads.t
   Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/unit_core_methodattributes_method_metaclass_on_subclasses.t
Log:
 r1912 at warpedreality (orig r13534):  t0m | 2010-08-25 15:53:20 -0700
 Fix RT#59738, show_internal_actions produces warnings in debug mode
 r1913 at warpedreality (orig r13535):  t0m | 2010-08-25 16:07:21 -0700
 Fix test output, as per RT#56590
 r1914 at warpedreality (orig r13536):  t0m | 2010-08-25 16:14:42 -0700
 Update changelog
 r1915 at warpedreality (orig r13537):  t0m | 2010-08-25 16:17:50 -0700
 Test::Aggregate does not like __END__
 r1916 at warpedreality (orig r13538):  t0m | 2010-08-25 16:26:14 -0700
 No passing TODOs
 r1917 at warpedreality (orig r13539):  t0m | 2010-08-25 16:31:03 -0700
 Omit the run method for scripts which new Pod::Coverage finds
 r1918 at warpedreality (orig r13540):  t0m | 2010-08-25 16:39:56 -0700
 No idea why but lack of this causes a void context warning when run under the test harness
 r1919 at warpedreality (orig r13541):  t0m | 2010-08-25 17:01:20 -0700
 Unify options, get rid of -h which only worked on the CGI script anyway (-h is host in ::Server). This technically breaks back-compat slightly, but for the command line options for help in the script you never run from command line anyway, I don't care
 r1920 at warpedreality (orig r13542):  t0m | 2010-08-25 17:08:24 -0700
 Rename test, to merge
 r1923 at warpedreality (orig r13545):  t0m | 2010-08-25 17:20:16 -0700
  r15773 at t0mlaptop (orig r13464):  rjk | 2010-08-03 19:23:50 +0100
  Create branch Catalyst-Test-base-href
  
  r15775 at t0mlaptop (orig r13466):  rjk | 2010-08-03 21:56:42 +0100
  Make Catalyst::Test::local_request() set response base from base href (requires HTML::HeadParser)
  
  r15854 at t0mlaptop (orig r13544):  t0m | 2010-08-26 01:20:05 +0100
  Changelog
 
 r1924 at warpedreality (orig r13546):  t0m | 2010-08-25 17:23:52 -0700
 Fix optional test for code move
 r1925 at warpedreality (orig r13553):  t0m | 2010-08-25 18:10:27 -0700
 Make this test actually work
 r1926 at warpedreality (orig r13554):  ferz | 2010-08-27 07:16:11 -0700
 Moved failed test to TODO section
 
 r1927 at warpedreality (orig r13555):  hobbs | 2010-08-27 16:07:41 -0700
 Don't fail chained tests under t/author/http-test.t
 
 r1928 at warpedreality (orig r13557):  amiri | 2010-08-29 06:58:01 -0700
 Add doc patch for go and captures.
 
 
 r1930 at warpedreality (orig r13565):  t0m | 2010-09-01 08:10:53 -0700
 Version 5.80026
 r1934 at warpedreality (orig r13572):  t0m | 2010-09-01 14:14:12 -0700
 Fix bug in the tests
 r1935 at warpedreality (orig r13573):  t0m | 2010-09-01 14:19:13 -0700
 Version 5.80027
 r1938 at warpedreality (orig r13584):  t0m | 2010-09-09 11:00:07 -0700
 We use Class::MOP in Catalyst::Utils, so load it
 r1941 at warpedreality (orig r13596):  rafl | 2010-09-19 11:08:21 -0700
 Don't rely on qw() providing PAREN tokens
 r1942 at warpedreality (orig r13598):  t0m | 2010-09-23 08:04:17 -0700
 Bug fix for ctx_request, via matso++



Property changes on: Catalyst-Runtime/5.80/branches/gsoc_breadboard
___________________________________________________________________
Modified: svk:merge
   - 1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst/trunk/Catalyst-Runtime:9763
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/compres:7999
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/context_go:8001
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/trunk:8533
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/Catalyst-Test-Updates:8363
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/add_captures_to_visit:9546
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/aggregate_more:11803
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/better_scripts:12074
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/disable_regex_fallback:11456
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/fix_iis_cgi:13450
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/fix_path_info_decoding:12089
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/fix_request_uri:13262
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/index_default_fuckage:10646
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/moose:7911
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/more_metaclass_compat:13280
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/namespace_handling_refactor:10655
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/param_filtering:13012
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/rt58057:13445
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/tweak_controller_action_creation:13440
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_encode_captures_andor_args_take2:11811
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_for_utf8:12834
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/trunk:13530
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-ChildOf:4443
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-Runtime-jrockway:5857
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-component-setup:4320
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-docs:4325
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/current/Catalyst-Runtime:5142
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst:4483
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst-Runtime:6165
6d45476b-5895-46b8-b13a-8b969fa34c98:/local/Catalyst-Runtime-better_scripts:11331
6d45476b-5895-46b8-b13a-8b969fa34c98:/local/Catalyst-Runtime-mech_tests:15583
8a9521aa-ff93-41d6-9f87-b05cafcdab40:/local/cat/Catalyst-Runtime/5.80/trunk:8157
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime:8339
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime-jrockway:8342
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime:6511
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime-current:10442
   + 1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst/trunk/Catalyst-Runtime:9763
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/compres:7999
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/context_go:8001
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/trunk:8533
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/Catalyst-Test-Updates:8363
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/Catalyst-Test-base-href:13544
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/add_captures_to_visit:9546
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/aggregate_more:11803
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/better_scripts:12074
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/disable_regex_fallback:11456
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/fix_iis_cgi:13450
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/fix_path_info_decoding:12089
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/fix_request_uri:13262
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/index_default_fuckage:10646
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/moose:7911
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/more_metaclass_compat:13280
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/namespace_handling_refactor:10655
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/param_filtering:13012
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/rt58057:13445
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/tweak_controller_action_creation:13440
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_encode_captures_andor_args_take2:11811
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_for_utf8:12834
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/trunk:13598
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-ChildOf:4443
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-Runtime-jrockway:5857
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-component-setup:4320
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-docs:4325
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/current/Catalyst-Runtime:5142
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst:4483
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst-Runtime:6165
6d45476b-5895-46b8-b13a-8b969fa34c98:/local/Catalyst-Runtime-better_scripts:11331
6d45476b-5895-46b8-b13a-8b969fa34c98:/local/Catalyst-Runtime-mech_tests:15583
8a9521aa-ff93-41d6-9f87-b05cafcdab40:/local/cat/Catalyst-Runtime/5.80/trunk:8157
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime:8339
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime-jrockway:8342
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime:6511
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime-current:10442
Added: svn:mergeinfo
   + 

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/Changes
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/Changes	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/Changes	2010-09-27 18:50:45 UTC (rev 13602)
@@ -1,12 +1,51 @@
 # This file documents the revision history for Perl extension Catalyst.
 
  Bug fixes:
+  - use Class::MOP in Catalyst::Utils.
+
+  - Do not keep a reference to a closed over context in ctx_request, allowing
+    the caller to dispose of the request context at their leisure.
+
+5.80027 2010-09-01 22:14:00
+
+ Bug fixes:
+  - Fix an issue with newly added test cases which depended on Catalyst::Action::RenderView
+
+5.80026 2010-09-01 15:14:00
+
+ Bug fixes:
+  - Fix so that CATALYST_EXCEPTION_CLASS in MyApp is always respected by
+    not loading Catalyst::Exception in Utils.pm BEGIN, because some Scripts::*
+    load Utils before MyApp.pm
+
+  - Fix warnings with new Moose versions about "excludes" during role
+    application
+
+  - Fix warning from MooseX::Getopt regarding duplicate "help" aliases.
+
   - parse_on_demand fixed when used in conjunction with debug mode.
     A regression was introduced in 5.80022 which would cause the body
     to always be parsed for logging at the end of the request when in
     debug mode. This has been fixed so that if the body has not been parsed
     by the time the request is logged, then the body is omitted.
 
+  - Fix show_internal_actions config setting producing warnings in debug
+    mode (RT#59738)
+
+  - Make Catalyst::Test::local_request() set the response base from base href
+    in the returned document so that links can be resolved correctly by
+    Test::WWW::Mechanize::Catalyst
+
+ Refactoring:
+   - moved component name sort that happens in setup_components to
+     locate_components to allow methods to wrap around locate_components
+
+ Documentation:
+    - Fix some typos
+
+    - Advertise Catalyst::Plugin::SmartURI
+
+
 5.80025 2010-07-29 01:50:00
 
  New features:

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/Makefile.PL
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/Makefile.PL	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/Makefile.PL	2010-09-27 18:50:45 UTC (rev 13602)
@@ -28,6 +28,7 @@
 requires 'Data::Dump';
 requires 'Data::OptList';
 requires 'HTML::Entities';
+requires 'HTML::HeadParser';
 requires 'HTTP::Body'    => '1.06'; # ->cleanup(1)
 requires 'HTTP::Headers' => '1.64';
 requires 'HTTP::Request' => '5.814';

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Runtime.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Runtime.pm	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Runtime.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -7,7 +7,7 @@
 
 # Remember to update this in Catalyst as well!
 
-our $VERSION = '5.80025';
+our $VERSION = '5.80027';
 
 =head1 NAME
 

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Script/CGI.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Script/CGI.pm	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Script/CGI.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -16,7 +16,7 @@
   myapp_cgi.pl [options]
 
   Options:
-  -h     --help           display this help and exits
+  -?     --help           display this help and exits
 
 =head1 DESCRIPTION
 

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Test.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Test.pm	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Test.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -44,7 +44,7 @@
 
         ### place holder for $c after the request finishes; reset every time
         ### requests are done.
-        my $c;
+        my $ctx_closed_over;
 
         ### hook into 'dispatch' -- the function gets called after all plugins
         ### have done their work, and it's an easy place to capture $c.
@@ -52,7 +52,7 @@
         my $meta = Class::MOP::get_metaclass_by_name($class);
         $meta->make_mutable;
         $meta->add_after_method_modifier( "dispatch", sub {
-            $c = shift;
+            $ctx_closed_over = shift;
         });
         $meta->make_immutable( replace_constructor => 1 );
         Class::C3::reinitialize(); # Fixes RT#46459, I've failed to write a test for how/why, but it does.
@@ -60,8 +60,18 @@
         ### we've already stopped it from doing remote requests above.
         my $res = $request->( @_ );
 
+        # Make sure not to leave a reference $ctx hanging around.
+        # This means that the context will go out of scope as soon as the
+        # caller disposes of it, rather than waiting till the next time
+        # that ctx_request is called. This can be important if your $ctx
+        # ends up with a reference to a shared resource or lock (for example)
+        # which you want to clean up in test teardown - if the $ctx is still
+        # closed over then you're stuffed...
+        my $ctx = $ctx_closed_over;
+        undef $ctx_closed_over;
+
         ### return both values
-        return ( $res, $c );
+        return ( $res, $ctx );
     };
 
     return {
@@ -239,6 +249,21 @@
 
     my $response = $cgi->restore->response;
     $response->request( $request );
+
+    # HTML head parsing based on LWP::UserAgent
+
+    require HTML::HeadParser;
+
+    my $parser = HTML::HeadParser->new();
+    $parser->xml_mode(1) if $response->content_is_xhtml;
+    $parser->utf8_mode(1) if $] >= 5.008 && $HTML::Parser::VERSION >= 3.40;
+
+    $parser->parse( $response->content );
+    my $h = $parser->header;
+    for my $f ( $h->header_field_names ) {
+        $response->init_header( $f, [ $h->header($f) ] );
+    }
+
     return $response;
 }
 

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Utils.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Utils.pm	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst/Utils.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -7,7 +7,7 @@
 use URI;
 use Carp qw/croak/;
 use Cwd;
-
+use Class::MOP;
 use String::RewritePrefix;
 
 use namespace::clean;

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst.pm	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/lib/Catalyst.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -79,7 +79,7 @@
 
 # Remember to update this in Catalyst::Runtime as well!
 
-our $VERSION = '5.80025';
+our $VERSION = '5.80027';
 
 sub import {
     my ( $class, @arguments ) = @_;
@@ -428,6 +428,10 @@
 C<go> escapes the processing of the current request chain on completion, and
 does not return to its caller.
 
+ at arguments are arguments to the final destination of $action. @captures are
+arguments to the intermediate steps, if any, on the way to the final sub of
+$action.
+
 =cut
 
 sub go { my $c = shift; $c->dispatcher->go( $c, @_ ) }
@@ -1701,7 +1705,7 @@
         my $parent = $c->stack->[-1];
 
         # forward, locate the caller
-        if ( exists $c->counter->{"$parent"} ) {
+        if ( defined $parent && exists $c->counter->{"$parent"} ) {
             $c->stats->profile(
                 begin  => $action,
                 parent => "$parent" . $c->counter->{"$parent"},

Copied: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live__component_controller_action_chained2.t (from rev 13533, Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_dispatcher_chained_action.t)
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live__component_controller_action_chained2.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live__component_controller_action_chained2.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+use Catalyst::Test 'ChainedActionsApp';
+use Test::More;
+
+plan 'skip_all' if $ENV{CATALYST_SERVER}; # This is not TestApp
+
+content_like('/', qr/Application Home Page/, 'Application home');
+content_like('/15/GoldFinger', qr/List project GoldFinger pages/, 'GoldFinger Project Index');
+content_like('/15/GoldFinger/4/007', qr/This is 007 page of GoldFinger project/, '007 page in GoldFinger Project');
+TODO: {
+  local $TODO="Bug on precedence of dispatch order of chained actions.";
+  content_like('/account', qr/New account o login/, 'no account');
+  content_like('/account/ferz', qr/This is account ferz/, 'account');
+  content_like('/account/123', qr/This is account 123/, 'account');
+}
+action_notfound('/c');
+
+done_testing;
+

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live_engine_response_headers.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live_engine_response_headers.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/live_engine_response_headers.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -12,7 +12,7 @@
 
 my $content_length;
 
-foreach my $method qw(HEAD GET) {
+foreach my $method (qw(HEAD GET)) {
     my $expected = join( ', ', 1 .. 10 );
 
     my $request = HTTP::Request::Common->can($method)

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_help.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_help.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_help.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -15,7 +15,6 @@
     sub _getopt_full_usage { $help++ }
 }
 
-test('-h');
 test('--help');
 test('-?');
 

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_test.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_test.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_core_script_test.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -33,8 +33,8 @@
         } "new_with_options";
         ok $i;
         my $saved;
-        open( $saved, '<&'. STDIN->fileno )
-              or croak("Can't dup stdin: $!");
+        open( $saved, '>&'. STDOUT->fileno )
+            or croak("Can't dup stdout: $!");
         open( STDOUT, '>&='. $fh->fileno )
             or croak("Can't open stdout: $!");
         eval { $i->run };

Deleted: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_dispatcher_chained_action.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_dispatcher_chained_action.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/aggregate/unit_dispatcher_chained_action.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -1,120 +0,0 @@
-# Test case for Chained Actions
-
-use strict;
-use warnings;
-use FindBin qw/$Bin/;
-use lib "$Bin/../lib";
-use Catalyst::Test 'ChainedActionsApp';
-use Test::More tests => 7;
-
-content_like('/', qr/Application Home Page/, 'Application home');
-content_like('/15/GoldFinger', qr/List project GoldFinger pages/, 'GoldFinger Project Index');
-content_like('/15/GoldFinger/4/007', qr/This is 007 page of GoldFinger project/, '007 page in GoldFinger Project');
-content_like('/account', qr/New account o login/, 'no account');
-content_like('/account/ferz', qr/This is account ferz/, 'account');
-content_like('/account/123', qr/This is account 123/, 'account');
-action_notfound('/c');
-
-1;
-
-__END__
-
-(12:32:59) ferz: t0m: I've fixed but /*/* still gets precedence on /account/*
-(12:33:46) ferz: /*/* is defined in Root.pm controller while /account/* is defined in Account.pm controller
-(12:34:35) shadowpaste: "ferz" at 217.168.150.38 pasted "[debug] Loaded Chained actions" (29 lines) at http://paste.scsys.co.uk/48847
-
-[debug] Loaded Chained actions:
-.-------------------------------------+--------------------------------------.
-| Path Spec                           | Private                              |
-+-------------------------------------+--------------------------------------+
-| /account/*                          | /setup (0)                           |
-|                                     | -> /account/account_base (0)         |
-|                                     | => /account/account                  |
-| /account                            | /setup (0)                           |
-|                                     | => /account/no_account               |
-| /...                                | /setup (0)                           |
-|                                     | => /default                          |
-| /                                   | /setup (0)                           |
-|                                     | => /home                             |
-| /*/*/*/*                            | /setup (0)                           |
-|                                     | -> /home_base (2)                    |
-|                                     | => /hpage                            |
-| /*/*                                | /setup (0)                           |
-|                                     | -> /home_base (2)                    |
-|                                     | => /hpages                           |
-.----------------------------------------------------------------------------.
-
-(12:36:24) ferz: how can I change the precedence between them?
-(12:37:26) mst: um. /account/* should definitely beat /*/*
-(12:37:38) mst: ah
-(12:37:43) mst: hang on
-(12:37:57) ferz: I'm here, I don't escape
-(12:37:59) mst: use CaptureArgs(1) in account_base and make account Args(0)
-
-(12:40:03) ferz: mst: so CaputeArgs(0) is deprecated when endpoints need at least one argument
-(12:40:29) mst: wtf?
-(12:40:52) mst: ferz: current code please.
-(12:45:18) ferz: mst: I'd understood from man and book that CapturedArgs(0) was valid for midpoints and Args( 1,2,...) for endpoints. You have just suggested me a fix to make CaptureArgs(1) instead for midpoint and Args(0) for endpoint, probably I've misunderstood it from man.
-(12:45:43) mst: ferz: please just show me the current code you have
-(12:45:53) mst: it's going to be easier to use that as an example to explain this
-(12:47:20) shadowpaste: "ferz" at 217.168.150.38 pasted "These are action defined in Ro" (94 lines) at http://paste.scsys.co.uk/48848
-(12:48:19) mst: ferz: ok, so.
-(12:48:36) mst: sub account : Chained('/account/account_base') PathPart('') CaptureArgs(1) {
-(12:48:37) mst: then
-(12:48:41) ferz: mst: I'm fixing as you suggested
-(12:48:48) mst: sub account_view :Chained('account') :PathPart('') :Args(0)
-(12:50:22) mst: ferz: the point is that CaptureArgs is part of the Chained feature set
-(12:50:30) mst: ferz: but Args is part of the general catalyst dispacther features
-(12:50:43) mst: ferz: so the Chained precendence logic only works for CaptureArgs
-(12:53:38) ferz: mst: I understand, but there is something still wrong even if I use CaptureArgs(1) on account_base, I will show you the new code and chained action table.
-(12:59:04) shadowpaste: "ferz" at 217.168.150.38 pasted "/account/123 still execute hpage() instead of account()" (65 lines) at http://paste.scsys.co.uk/48850
-(13:00:32) ferz: http://paste.scsys.co.uk/48851 from catalyst console
-(13:01:06) mst: debug output on startup?
-(13:02:36) ferz: ok
-(13:03:57) shadowpaste: "ferz" at 217.168.150.38 pasted "[debug] Debug messages enabled" (73 lines) at http://paste.scsys.co.uk/48852
-(13:04:40) ferz: mst: I've seen that I can upgrade to latest version, I'll report debug after catalyst update
-(13:12:35) mst: ferz: that should bloody well work.
-(13:16:49) ferz: it doesn't   
-(13:17:17) mst: I just don't get it.
-(13:17:37) mst: since I wrote the bit of the code that should make this work, and I can still see it in the source.
-(13:18:36) mst: ferz: can you delete all the other chains and see if that fixes it?
-(13:18:44) mst: since if it doesn't what's left should make a catalyst test :)
-(13:56:30) ferz: ok mst
-(14:07:36) ferz: I've simplified it more but it still fails, I prepare the catalyst test
-(14:08:46) mst: ok, can I see the simplified version please?
-(14:08:52) mst: I want to double check I've not missed anything
-(14:09:19) ferz: ok, I've place everything in the Root.pm controller
-(14:12:28) mst: ferz: show :)
-(14:12:28) shadowpaste: "ferz" at 217.168.150.38 pasted "Everything in Root.pm controller" (97 lines) at http://paste.scsys.co.uk/48856
-(14:13:21) mst: ferz: kill the hpage action
-(14:13:24) mst: and the default
-(14:13:29) mst: and 'home'
-(14:13:33) ferz: ok
-(14:15:33) ferz: done, it fails yet
-(14:15:49) mst: ok. show me code and startup debug please.
-(14:15:54) ferz: ok
-(14:17:38) shadowpaste: "ferz" at 217.168.150.38 pasted "> perl script/test_chained_ser" (136 lines) at http://paste.scsys.co.uk/48857
-(14:18:29) mst: and /account/1 still fires hpages?
-(14:18:50) ferz: yes, it is
-(14:19:44) mst: ok. comment out the hpages stuff and let's check that /account/* works without /*/* there
-(14:20:50) ferz: without hpage() it works fine
-(14:22:06) mst: could you try one more thing
-(14:22:18) mst: split account_base into two actions
-(14:22:32) mst: so the non-'' PathPart and the non-zero CaptureArgs are separate
-(14:23:59) ferz: Here there is output of previous tests http://paste.scsys.co.uk/48858  now I try splitting it as you suggest.
-(14:26:45) ferz: mst I don't understand you last suggestion: split account_base in two actions, two midpoints?
-(14:27:16) ferz: s/you/your/
-(14:27:21) mst: yes.
-(14:29:33) ferz: sub first_account_base : Chained('setup) PathPart('account') CaptureArgs(0) and the other sub second_account_base Chained('first_account_base') Path('') Args(1) ?
-(14:29:49) mst: CaptureArgs(1)
-(14:29:57) ferz: yes, ok
-(14:30:00) mst: and then chain account off second_account_base
-(14:30:05) ferz: sure
-(14:33:06) shadowpaste: "ferz" at 217.168.150.38 pasted "> perl script/test_chained_ser" (65 lines) at http://paste.scsys.co.uk/48859
-(14:33:35) mst: ok, thought so.
-(14:34:34) ferz: mst: I fear about my mistake on something about home_base or hpage()
-(14:36:04) mst: ferz: well if that's the case we're both wrong.
-(14:36:10) ferz: s/hpage/hpages/
-(14:36:49) ferz: since they are both on same controller I try still to invert their order in source
-(14:37:29) ferz: but the result is the same
-(14:38:42) mst: yeah

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/author/podcoverage.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/author/podcoverage.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/author/podcoverage.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -5,9 +5,12 @@
 use Pod::Coverage 0.19;
 use Test::Pod::Coverage 1.04;
 
-all_pod_coverage_ok(
-  {
-    also_private => ['BUILD']
-  }
-);
+my @modules = all_modules;
+our @private = ( 'BUILD' );
+foreach my $module (@modules) {
+    local @private = (@private, 'run') if $module =~ /^Catalyst::Script::/;
+    pod_coverage_ok($module, { also_private => \@private });
+}
 
+done_testing;
+

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/ChainedActionsApp/Controller/Root.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/ChainedActionsApp/Controller/Root.pm	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/ChainedActionsApp/Controller/Root.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -10,24 +10,6 @@
 #
 __PACKAGE__->config(namespace => '');
 
-=head1 NAME
-
-test_chained::Controller::Root - Root Controller for test_chained
-
-=head1 DESCRIPTION
-
-[enter your description here]
-
-=head1 METHODS
-
-=head2 setup
-
-This is the C<setup> method that initializes the request. Any matching action
-will go through this, so it is an application-wide automatically executed
-action. For more information, see L<Catalyst::DispatchType::Chained>
-
-=cut
-
 sub setup : Chained('/') PathPart('') CaptureArgs(0) {
     my ( $self, $c ) = @_;
     # Common things here are to check for ACL and setup global contexts
@@ -38,14 +20,6 @@
     $c->response->body( "Application Home Page" );
 }
 
-=head2 home_base
-
-     Args:
-       project_id
-       project_title
-
-=cut
-
 sub home_base : Chained('setup') PathPart('') CaptureArgs(2) {
     my($self,$c,$proj_id,$title) = @_;
     $c->stash({project_id=>$proj_id, project_title=>$title});
@@ -76,37 +50,14 @@
     $c->response->body( "This is account " . $c->stash->{account_id} );
 }
 
-=head2 default
-
-Standard 404 error page
-
-=cut
-
 sub default : Chained('setup') PathPart('') Args() {
     my ( $self, $c ) = @_;
     $c->response->body( 'Page not found' );
     $c->response->status(404);
 }
 
-=head2 end
+sub end : Action {}
 
-Attempt to render a view, if needed.
-
-=cut
-
-sub end : ActionClass('RenderView') {}
-
-=head1 AUTHOR
-
-Ferruccio Zamuner
-
-=head1 LICENSE
-
-This library is free software. You can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
-
 __PACKAGE__->meta->make_immutable;
 
 1;

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestApp/Controller/Root.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestApp/Controller/Root.pm	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestApp/Controller/Root.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -49,6 +49,22 @@
     $c->forward( 'recursion_test' );
 }
 
+sub base_href_test : Local {
+    my ( $self, $c ) = @_;
+
+    my $body = <<"EndOfBody";
+<html>
+  <head>
+    <base href="http://www.example.com/">
+  </head>
+  <body>
+  </body>
+</html>
+EndOfBody
+
+    $c->response->body($body);
+}
+
 sub end : Private {
     my ($self,$c) = @_;
 }

Added: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions/Controller/Root.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions/Controller/Root.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions/Controller/Root.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -0,0 +1,19 @@
+package TestAppShowInternalActions::Controller::Root;
+use Moose;
+use namespace::autoclean;
+
+BEGIN { extends 'Catalyst::Controller' }
+
+__PACKAGE__->config(namespace => '');
+
+sub index :Path :Args(0) {
+    my ( $self, $c ) = @_;
+
+    $c->response->body( 'hello world' );
+}
+
+sub end : Action {}
+
+__PACKAGE__->meta->make_immutable;
+
+1;

Added: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions.pm
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions.pm	                        (rev 0)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/lib/TestAppShowInternalActions.pm	2010-09-27 18:50:45 UTC (rev 13602)
@@ -0,0 +1,20 @@
+package TestAppShowInternalActions;
+use Moose;
+use namespace::autoclean;
+
+use Catalyst::Runtime 5.80;
+
+use Catalyst qw/ -Debug /; # Debug must remain on for
+                           # t/live_show_internal_actions_warnings.t
+
+extends 'Catalyst';
+
+__PACKAGE__->config(
+    name => 'TestAppShowInternalActions',
+    disable_component_resolution_regex_fallback => 1,
+    show_internal_actions => 1,
+);
+
+__PACKAGE__->setup();
+
+1;

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_catalyst_test.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_catalyst_test.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_catalyst_test.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -3,7 +3,7 @@
 use Catalyst::Test 'TestApp', {default_host => 'default.com'};
 use Catalyst::Request;
 
-use Test::More tests => 8;
+use Test::More tests => 9;
 
 content_like('/',qr/root/,'content check');
 action_ok('/','Action ok ok','normal action ok');
@@ -11,6 +11,12 @@
 action_notfound('/engine/response/status/s404','notfound check');
 contenttype_is('/action/local/one','text/plain','Contenttype check');
 
+### local_request() was not setting response base from base href
+{
+    my $response = request('/base_href_test');
+    is( $response->base, 'http://www.example.com/', 'response base set from base href');
+}
+
 my $creq;
 my $req = '/dump/request';
 

Added: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_show_internal_actions_warnings.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_show_internal_actions_warnings.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/live_show_internal_actions_warnings.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -0,0 +1,25 @@
+use strict;
+use warnings;
+use FindBin '$Bin';
+use lib "$Bin/lib";
+use Test::More;
+use File::Spec;
+BEGIN { # Shut up debug output, app needs debug on for the issue to
+        # appear, but we don't want the spraff to the screen
+
+    my $devnull = File::Spec->devnull;
+    open my $fh, '>', $devnull or die "Cannot write to $devnull: $!";
+
+    *STDERR = $fh;
+}
+
+use Catalyst::Test 'TestAppShowInternalActions';
+
+my $last_warning;
+{
+    local $SIG{__WARN__} = sub { $last_warning = shift };
+    my $res = get('/');
+}
+is( $last_warning, undef, 'there should be no warnings about uninitialized value' );
+
+done_testing;

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_http-server-restart.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_http-server-restart.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_http-server-restart.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -13,17 +13,14 @@
 use LWP::Simple;
 use IO::Socket;
 use IPC::Open3;
-use Catalyst::Engine::HTTP::Restarter::Watcher;
 use Time::HiRes qw/sleep/;
-eval "use Catalyst::Devel 1.0;";
+eval {require Catalyst::Devel; Catalyst::Devel->VERSION(1.0);};
 
 plan skip_all => 'Catalyst::Devel required' if $@;
 plan skip_all => 'Catalyst::Devel >= 1.04 required' if $Catalyst::Devel::VERSION <= 1.03;
 eval "use File::Copy::Recursive";
 plan skip_all => 'File::Copy::Recursive required' if $@;
 
-plan tests => 120;
-
 my $tmpdir = "$FindBin::Bin/../t/tmp";
 
 # clean up
@@ -33,7 +30,7 @@
 mkdir $tmpdir;
 chdir $tmpdir;
 
-system( $^X, "-I$FindBin::Bin/../lib", "$FindBin::Bin/../script/catalyst.pl", 'TestApp' );
+system( $^X, "-I$FindBin::Bin/../lib", '-MFile::Spec', '-e', "\@ARGV=('TestApp'); my \$devnull = File::Spec->devnull; open my \$fh, '>', \$devnull or die \"Cannot write to \$devnull: \$!\"; *STDOUT = \$fh; do \"$FindBin::Bin/../script/catalyst.pl\"");
 
 chdir "$FindBin::Bin/..";
 File::Copy::Recursive::dircopy( 't/lib', 't/tmp/TestApp/lib' );
@@ -46,8 +43,8 @@
 
 my( $server, $pid );
 my @cmd = ($^X, "-I$FindBin::Bin/../lib", "-I$FindBin::Bin/lib",
-  "$FindBin::Bin/../t/tmp/TestApp/script/testapp_server.pl", '-port',
-  $port, '-restart');
+  "$FindBin::Bin/../t/tmp/TestApp/script/testapp_server.pl", '--port',
+  $port, '--restart');
 
 $pid = open3( undef, $server, undef, @cmd )
     or die "Unable to spawn standalone HTTP server: $!";
@@ -83,7 +80,7 @@
     # give the server time to notice the change and restart
     my $count = 0;
     my $line;
-    while ( ( $line || '' ) !~ /can connect/ ) {
+    while ( ( $line || '' ) !~ /ttempting to restart the server/ ) {
         # wait for restart message
         $line = $server->getline;
         sleep 0.1;
@@ -110,45 +107,6 @@
     sleep 1;
 }
 
-# add errors to the file and make sure server does not die or restart
-NO_RESTART_ON_ERROR:
-for ( 1 .. 20 ) {
-    my $index = rand @files;
-    open my $pm, '>>', $files[$index]
-      or die "Unable to open $files[$index] for writing: $!";
-    print $pm "bleh";
-    close $pm;
-
-    my $count = 0;
-    my $line;
-
-    while ( ( $line || '' ) !~ /failed/ ) {
-        # wait for restart message
-        $line = $server->getline;
-        sleep 0.1;
-        if ( $count++ > 100 ) {
-            fail "Server restarted";
-            SKIP: {
-                skip "Server didn't restart, no sense in checking response", 1;
-            }
-            next NO_RESTART_ON_ERROR;
-        }
-    };
-
-    pass "Server refused to restart";
-
-    if ( check_port( 'localhost', $port ) != 1 ) {
-        die "Server appears to have died";
-    }
-    my $response = get("http://localhost:$port/action/default");
-    like( $response, qr/Catalyst::Request/,
-        'Syntax error, no restart, request OK' );
-
-    # give the server some time to reindex its files
-    sleep 1;
-
-}
-
 # multiple restart directories
 
 # we need different options so we have to rebuild most
@@ -157,87 +115,11 @@
 kill 'KILL', $pid;
 close $server;
 
-# pick next port because the last one might still be blocked from
-# previous server. This might fail if this port is unavailable
-# but picking the first one has the same problem so this is acceptable
-
-$port += 1;
-
-{ no warnings 'once'; $File::Copy::Recursive::RMTrgFil = 1; }
-File::Copy::Recursive::dircopy( 't/lib', 't/tmp/TestApp/lib' );
-
-# change various files
- at files = (
-  "$FindBin::Bin/../t/tmp/TestApp/lib/TestApp/Controller/Action/Begin.pm",
-  "$FindBin::Bin/../t/tmp/TestApp/lib/TestApp/Controller/Engine/Request/URI.pm",
-);
-
-my $app_root = "$FindBin::Bin/../t/tmp/TestApp";
-my $restartdirs = join ' ', map{
-    "-restartdirectory $app_root/lib/TestApp/Controller/$_"
-} qw/Action Engine/;
-
-$pid = open3( undef, $server, undef,
-  $^X, "-I$FindBin::Bin/../lib",
-  "$FindBin::Bin/../t/tmp/TestApp/script/testapp_server.pl", '-port',
-  $port, '-restart', $restartdirs )
-    or die "Unable to spawn standalone HTTP server: $!";
-$server->blocking( 0 );
-
-
-# wait for it to start
-print "Waiting for server to start...\n";
-while ( check_port( 'localhost', $port ) != 1 ) {
-    sleep 1;
-}
-
-MULTI_DIR_RESTART:
-for ( 1 .. 20 ) {
-    my $index = rand @files;
-    open my $pm, '>>', $files[$index]
-      or die "Unable to open $files[$index] for writing: $!";
-    print $pm "\n";
-    close $pm;
-
-    # give the server time to notice the change and restart
-    my $count = 0;
-    my $line;
-
-    while ( ( $line || '' ) !~ /can connect/ ) {
-        # wait for restart message
-        $line = $server->getline;
-        sleep 0.1;
-        if ( $count++ > 100 ) {
-            fail "Server restarted";
-            SKIP: {
-                skip "Server didn't restart, no sense in checking response", 1;
-            }
-            next MULTI_DIR_RESTART;
-        }
-    };
-    pass "Server restarted with multiple restartdirs";
-
-    $count = 0;
-    while ( check_port( 'localhost', $port ) != 1 ) {
-        # wait for it to restart
-        sleep 0.1;
-        die "Server appears to have died" if $count++ > 100;
-    }
-    my $response = get("http://localhost:$port/action/default");
-    like( $response, qr/Catalyst::Request/, 'Non-error restart, request OK' );
-
-    # give the server some time to reindex its files
-    sleep 1;
-}
-
-# shut it down again
-
-kill 'KILL', $pid;
-close $server;
-
 # clean up
 rmtree "$FindBin::Bin/../t/tmp" if -d "$FindBin::Bin/../t/tmp";
 
+done_testing;
+
 sub check_port {
     my ( $host, $port ) = @_;
 

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_threads.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_threads.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/optional_threads.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -44,7 +44,7 @@
         TestApp::Controller::Action::Default->begin
         TestApp::Controller::Action::Default->default
         TestApp::View::Dump::Request->process
-        TestApp->end
+        TestApp::Controller::Root->end
     ];
 
     my $expected = join( ", ", @expected );

Modified: Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/unit_core_methodattributes_method_metaclass_on_subclasses.t
===================================================================
--- Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/unit_core_methodattributes_method_metaclass_on_subclasses.t	2010-09-24 07:54:29 UTC (rev 13601)
+++ Catalyst-Runtime/5.80/branches/gsoc_breadboard/t/unit_core_methodattributes_method_metaclass_on_subclasses.t	2010-09-27 18:50:45 UTC (rev 13602)
@@ -15,13 +15,13 @@
 
     sub test {}
 }
-
+my $c = 0;
 foreach my $class (qw/ CT RT /) {
     my $class_name = 'NoAttributes::' . $class;
     my $meta = $class_name->meta;
     my $meth = $meta->find_method_by_name('test');
     {
-        local $TODO = "Known MX::MethodAttributes issue";
+        local $TODO = "Known MX::MethodAttributes issue" if $c++;
         ok $meth->can('attributes'), 'method metaclass has ->attributes method for ' . $class;;
     }
 }




More information about the Catalyst-commits mailing list