[Catalyst-commits] r12075 - in Catalyst-Runtime/5.80/trunk: . lib
lib/Catalyst lib/Catalyst/Script script t/aggregate t/author
t/lib t/lib/Catalyst t/lib/Catalyst/Script
t/lib/ScriptTestApp t/lib/ScriptTestApp/Script
t0m at dev.catalyst.perl.org
t0m at dev.catalyst.perl.org
Sun Nov 29 17:16:42 GMT 2009
Author: t0m
Date: 2009-11-29 17:16:40 +0000 (Sun, 29 Nov 2009)
New Revision: 12075
Added:
Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/
Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm
Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t
Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t
Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t
Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t
Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t
Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t
Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t
Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/
Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm
Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm
Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm
Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/
Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/
Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm
Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm
Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm
Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm
Modified:
Catalyst-Runtime/5.80/trunk/
Catalyst-Runtime/5.80/trunk/Makefile.PL
Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod
Catalyst-Runtime/5.80/trunk/script/catalyst.pl
Catalyst-Runtime/5.80/trunk/t/author/http-server.t
Log:
r11583 at nc10 (orig r10642): dhoss | 2009-06-24 22:18:13 +0100
created better scripts branch
r11584 at nc10 (orig r10643): dhoss | 2009-06-24 22:21:03 +0100
initial script commit
r11585 at nc10 (orig r10644): dhoss | 2009-06-24 23:56:42 +0100
initial ScriptRunner checkin
r11588 at nc10 (orig r10647): dhoss | 2009-06-25 01:54:12 +0100
added a test application to get the new scripts working
created Catalyst::ScriptRunner, Catalyst::Script::*
got Catalyst::Script::FastCGI running
wrote a test for Catalyst::Script::FastCGI, but it fails for some reason
r11590 at nc10 (orig r10649): dhoss | 2009-06-25 02:10:57 +0100
added dev_server test, poked Catalyst::Script::Create
r11591 at nc10 (orig r10650): dhoss | 2009-06-25 02:21:18 +0100
fixed test server, blech
r11592 at nc10 (orig r10651): dhoss | 2009-06-25 02:28:41 +0100
pulled crap out of testapp_server
r11593 at nc10 (orig r10652): dhoss | 2009-06-25 02:41:39 +0100
fixed server start
r11594 at nc10 (orig r10653): dhoss | 2009-06-25 03:03:00 +0100
fixed Server and testapp_server.pl. Test still wonky
r11595 at nc10 (orig r10654): dhoss | 2009-06-25 03:15:18 +0100
poked at t/start_dev_server.t
corrected Server to start with HTTP not CGI
r11597 at nc10 (orig r10656): dhoss | 2009-06-25 03:30:41 +0100
updated testapp_cgi.pl
updated CGI
r11598 at nc10 (orig r10657): dhoss | 2009-06-25 04:11:14 +0100
added more to Test, added testapp_test, and worked on start_fcgi
r11604 at nc10 (orig r10663): dhoss | 2009-06-25 11:37:12 +0100
updated Makefil.PL
r11624 at nc10 (orig r10683): dhoss | 2009-06-26 20:46:17 +0100
updated so that if their class doesn't load, we use ours.
r11650 at nc10 (orig r10709): dhoss | 2009-06-28 21:33:41 +0100
added name to contributors list
r11660 at nc10 (orig r10719): t0m | 2009-06-29 00:12:11 +0100
Kind of, sort of make the server work, except it doesn't
r11685 at nc10 (orig r10744): dhoss | 2009-06-30 19:28:47 +0100
fixed Server
r11726 at nc10 (orig r10785): dhoss | 2009-07-04 01:41:40 +0100
help option now has a short option
r11727 at nc10 (orig r10786): dhoss | 2009-07-04 01:44:15 +0100
fork now has a short option
r11728 at nc10 (orig r10787): dhoss | 2009-07-04 01:45:19 +0100
listen now has a short option
r11729 at nc10 (orig r10788): dhoss | 2009-07-04 01:49:39 +0100
doez haz pidfile short opt
r11730 at nc10 (orig r10789): dhoss | 2009-07-04 01:51:12 +0100
doez haz keepalive short opt
r11731 at nc10 (orig r10790): dhoss | 2009-07-04 01:51:35 +0100
changed pf => pid
r11732 at nc10 (orig r10791): dhoss | 2009-07-04 01:53:16 +0100
background now has a short opshun
r11733 at nc10 (orig r10792): dhoss | 2009-07-04 01:54:29 +0100
restart has short option
r11734 at nc10 (orig r10793): dhoss | 2009-07-04 01:56:16 +0100
restart_delay HAZ OPSHUN
r11735 at nc10 (orig r10794): dhoss | 2009-07-04 01:57:11 +0100
restart regex has a short option
r11736 at nc10 (orig r10795): dhoss | 2009-07-04 01:58:02 +0100
follow_symlinks has short option
r11737 at nc10 (orig r10796): dhoss | 2009-07-04 03:01:44 +0100
Updated testapp_server
broke Script::Server, why?!
r11738 at nc10 (orig r10797): dhoss | 2009-07-04 03:57:13 +0100
added namespace::autoclean to all the helper classes
removed a redundant use Catalyst::Engine::HTTP
r11739 at nc10 (orig r10798): dhoss | 2009-07-04 04:25:25 +0100
added warn to setup. sigh. doesn't appear it's getting called, unless
i'm way off.
r11740 at nc10 (orig r10799): dhoss | 2009-07-04 04:27:41 +0100
untarded!
r11741 at nc10 (orig r10800): dhoss | 2009-07-04 04:28:15 +0100
really untarded
r11778 at nc10 (orig r10837): dhoss | 2009-07-11 00:27:12 +0100
removed except meta stuff since we're using autoclean
r11779 at nc10 (orig r10838): dhoss | 2009-07-11 01:06:53 +0100
fixed Catalyst::Script::Server so app doesn't have to be a cmd line opt
r11780 at nc10 (orig r10839): dhoss | 2009-07-11 01:14:43 +0100
removed all required => 0
r11781 at nc10 (orig r10840): dhoss | 2009-07-11 01:18:23 +0100
removed "broken" commetn
r11782 at nc10 (orig r10841): dhoss | 2009-07-11 01:19:41 +0100
removed debug warn
r11783 at nc10 (orig r10842): dhoss | 2009-07-11 01:31:58 +0100
removed default => 0s
r11784 at nc10 (orig r10843): dhoss | 2009-07-11 01:34:54 +0100
added debug option
r11785 at nc10 (orig r10844): dhoss | 2009-07-11 02:50:11 +0100
fasterized
r11786 at nc10 (orig r10845): dhoss | 2009-07-11 03:21:41 +0100
added restarter code
r11787 at nc10 (orig r10846): dhoss | 2009-07-11 03:24:02 +0100
fixed follow_symlinks option in restarter code
r11788 at nc10 (orig r10847): dhoss | 2009-07-11 03:33:44 +0100
cleaned up sub runner
r11793 at nc10 (orig r10852): t0m | 2009-07-11 19:10:02 +0100
Strip trailing spaces
r11801 at nc10 (orig r10860): autarch | 2009-07-11 20:32:11 +0100
Get the restarter running
r11809 at nc10 (orig r10868): t0m | 2009-07-12 18:15:09 +0100
Too slow
r11810 at nc10 (orig r10869): t0m | 2009-07-12 18:27:36 +0100
And unfuck so the app name is passed properly
r11831 at nc10 (orig r10890): dhoss | 2009-07-15 22:41:11 +0100
-d and --debug work for me
r11834 at nc10 (orig r10893): dhoss | 2009-07-16 10:25:47 +0100
added Deploy prototype
r11843 at nc10 (orig r10902): dhoss | 2009-07-17 01:52:56 +0100
untarded and added documentation
r11844 at nc10 (orig r10903): dhoss | 2009-07-17 01:53:38 +0100
don't need -except => [ qw(meta) ] with autoclean
r11845 at nc10 (orig r10904): dhoss | 2009-07-17 02:00:54 +0100
added documentation, surely needs refining
r11846 at nc10 (orig r10905): dhoss | 2009-07-17 02:01:25 +0100
removed -except => qw[meta]
r11847 at nc10 (orig r10906): dhoss | 2009-07-17 02:04:12 +0100
cleaned up
r11848 at nc10 (orig r10907): dhoss | 2009-07-17 02:12:07 +0100
added documentation
r11849 at nc10 (orig r10908): dhoss | 2009-07-17 02:13:28 +0100
fasterized
r11850 at nc10 (orig r10909): dhoss | 2009-07-17 02:15:04 +0100
added MX::Types::Moose
r11851 at nc10 (orig r10910): dhoss | 2009-07-17 02:24:44 +0100
added MX::Types::Moose, cleaned up moar
r11852 at nc10 (orig r10911): dhoss | 2009-07-17 02:43:29 +0100
created proof of working app
r11853 at nc10 (orig r10912): dhoss | 2009-07-17 02:44:07 +0100
removed proof of working tests
r11966 at nc10 (orig r11025): dhoss | 2009-08-04 01:00:57 +0100
removed MooseX::Command::* stuff for now
r11967 at nc10 (orig r11026): dhoss | 2009-08-04 01:01:43 +0100
removed MooseX::App::CMD* stuff from ScriptRunner
r11968 at nc10 (orig r11027): dhoss | 2009-08-04 01:22:27 +0100
split helper into app generation helper and component generation helper (initial split, at least)
r11976 at nc10 (orig r11035): dhoss | 2009-08-05 21:07:12 +0100
had this stuff in the wrong branch, blech
r12162 at nc10 (orig r11221): dhoss | 2009-08-23 21:32:34 +0100
added command directory structure for MooseX::App::Cmd
r12236 at nc10 (orig r11295): t0m | 2009-09-02 01:48:38 +0100
r11288 at t0mlaptop: t0m | 2009-09-02 00:26:10 +0100
Remove unused TestApp
r12237 at nc10 (orig r11296): t0m | 2009-09-02 01:48:43 +0100
r11289 at t0mlaptop: t0m | 2009-09-02 00:33:55 +0100
Remove DBIC deploy script, this should not be in core runtime
r12238 at nc10 (orig r11297): t0m | 2009-09-02 01:48:47 +0100
r11290 at t0mlaptop: t0m | 2009-09-02 01:09:31 +0100
Remove empty directories
r12239 at nc10 (orig r11298): t0m | 2009-09-02 01:48:54 +0100
r11291 at t0mlaptop: t0m | 2009-09-02 01:14:00 +0100
Factor stuff out into a script role, clean up all the script code
r12254 at nc10 (orig r11313): t0m | 2009-09-05 16:16:00 +0100
r11320 at tomas-dorans-macbook-pro: t0m | 2009-09-05 12:38:54 +0100
Fix passing correct key, re-add getopt trait as this is needed, my bad
r12255 at nc10 (orig r11314): t0m | 2009-09-05 16:16:04 +0100
r11321 at tomas-dorans-macbook-pro: t0m | 2009-09-05 12:42:20 +0100
Make ScriptRunner include the lib path.
r12256 at nc10 (orig r11315): t0m | 2009-09-05 16:16:08 +0100
r11322 at tomas-dorans-macbook-pro: t0m | 2009-09-05 12:47:39 +0100
Fix FastCGI script
r12257 at nc10 (orig r11316): t0m | 2009-09-05 16:16:13 +0100
r11323 at tomas-dorans-macbook-pro: t0m | 2009-09-05 12:48:58 +0100
Fix CGI script
r12258 at nc10 (orig r11317): t0m | 2009-09-05 16:16:15 +0100
r11324 at tomas-dorans-macbook-pro: t0m | 2009-09-05 12:56:01 +0100
Add a short TODO list to complete before this branch is merged
r12259 at nc10 (orig r11318): t0m | 2009-09-05 16:16:20 +0100
r11325 at tomas-dorans-macbook-pro: t0m | 2009-09-05 12:57:21 +0100
Default run methods not required, can be provided by the role
r12260 at nc10 (orig r11319): t0m | 2009-09-05 16:16:25 +0100
r11326 at tomas-dorans-macbook-pro: t0m | 2009-09-05 13:00:17 +0100
Documentation dinks
r12261 at nc10 (orig r11320): t0m | 2009-09-05 16:16:30 +0100
r11327 at tomas-dorans-macbook-pro: t0m | 2009-09-05 13:01:00 +0100
Gawd, that is out of date
r12262 at nc10 (orig r11321): t0m | 2009-09-05 16:16:33 +0100
r11328 at tomas-dorans-macbook-pro: t0m | 2009-09-05 13:06:34 +0100
More POD
r12263 at nc10 (orig r11322): t0m | 2009-09-05 16:16:37 +0100
r11329 at tomas-dorans-macbook-pro: t0m | 2009-09-05 13:08:41 +0100
We need to depend on MX::Types, and ::StashChange not needed any more
r12264 at nc10 (orig r11323): t0m | 2009-09-05 16:16:41 +0100
r11330 at tomas-dorans-macbook-pro: t0m | 2009-09-05 13:09:11 +0100
We also need autoclean
r12265 at nc10 (orig r11324): t0m | 2009-09-05 16:16:48 +0100
r11331 at tomas-dorans-macbook-pro: t0m | 2009-09-05 13:43:25 +0100
Basic tests for ScriptRunner, more needed
r12320 at nc10 (orig r11379): t0m | 2009-09-17 22:47:22 +0100
Skeleton testapp for testing the args thrown to the run method by scripts
r12321 at nc10 (orig r11380): t0m | 2009-09-17 23:10:46 +0100
Meh, that shows what I mean. This can be done waaaay more elegantly by abstracting the testing logic..
r12377 at nc10 (orig r11436): zts | 2009-09-27 20:12:39 +0100
Further tests for Server script option parsing.
Also, first pass at abstracting the test logic. Currently very ugly.
r12402 at nc10 (orig r11461): t0m | 2009-10-05 23:17:11 +0100
And start the app correctly(ish) under the restarter - really not sure args are perserved correctly?
r12908 at nc10 (orig r11777): dhoss | 2009-11-06 17:12:25 +0000
fixed dev server options so that test now passes
r12911 at nc10 (orig r11780): dhoss | 2009-11-06 17:25:35 +0000
unfucked test server options and made test pass f'real this time
r13011 at nc10 (orig r11880): t0m | 2009-11-18 00:51:29 +0000
Beat somewhat into shape by comparing the old and new docs. Need to write basic tests for the other scripts.
r13052 at nc10 (orig r11921): t0m | 2009-11-19 22:23:58 +0000
Move to aggregate
r13053 at nc10 (orig r11922): t0m | 2009-11-19 23:32:24 +0000
Unified help display, at the cost of having lost the info about what you fucked up. Neither of these are particularly helpful, but this is at least uniform
r13054 at nc10 (orig r11923): t0m | 2009-11-19 23:48:42 +0000
Cleanup and some moar tests
r13055 at nc10 (orig r11924): t0m | 2009-11-20 00:00:02 +0000
More tests for help, proving it's still bork
r13056 at nc10 (orig r11925): t0m | 2009-11-20 00:13:53 +0000
Basic tests for fcgi script
r13057 at nc10 (orig r11926): t0m | 2009-11-20 00:44:35 +0000
Fix script_test.pl
r13058 at nc10 (orig r11927): t0m | 2009-11-20 00:45:13 +0000
Pass Pod coverage
r13059 at nc10 (orig r11928): t0m | 2009-11-20 01:00:24 +0000
Nested TAP and Test::Aggregate don't play nice together. It was cute, but screw it, sorry zts
r13060 at nc10 (orig r11929): t0m | 2009-11-20 01:01:47 +0000
Fugly test for myapp_test.pl. If someone fancies rewriting the IO redirection to be less gross then I loveyoulongtime
r13061 at nc10 (orig r11930): t0m | 2009-11-20 01:07:04 +0000
Update todo on this branch
r13123 at nc10 (orig r11992): t0m | 2009-11-23 23:40:57 +0000
Fix duplicate short options issue
r13124 at nc10 (orig r11993): t0m | 2009-11-23 23:43:32 +0000
Chomp trailing space
r13125 at nc10 (orig r11994): t0m | 2009-11-23 23:49:10 +0000
And do that in a way which actually works
r13126 at nc10 (orig r11995): t0m | 2009-11-23 23:56:49 +0000
Fix test
r13127 at nc10 (orig r11996): t0m | 2009-11-24 00:15:45 +0000
Add tests for the create script and fix the bugs that this shows up
r13146 at nc10 (orig r12015): t0m | 2009-11-25 22:32:11 +0000
Fix warnings from ScriptRunner
r13147 at nc10 (orig r12016): t0m | 2009-11-25 22:51:28 +0000
Fix big bug in test
r13148 at nc10 (orig r12017): t0m | 2009-11-26 00:25:01 +0000
Get useful help about which option you fucked up back
r13149 at nc10 (orig r12018): t0m | 2009-11-26 00:35:31 +0000
Remove most of the horrible
r13150 at nc10 (orig r12019): t0m | 2009-11-26 01:02:52 +0000
Tidy up help and TODO tests
r13161 at nc10 (orig r12030): t0m | 2009-11-26 01:53:20 +0000
Fix up docs
r13162 at nc10 (orig r12031): t0m | 2009-11-26 02:23:00 +0000
Factor restarter arg assembly out into it's own routine for ease of testing. Use $self->ARGV instead of $ARGV
r13165 at nc10 (orig r12034): t0m | 2009-11-26 21:02:57 +0000
Fix typo, bricas++, add simple test for restarter arguments
r13175 at nc10 (orig r12044): t0m | 2009-11-26 23:40:27 +0000
Pass app name into constructor
r13185 at nc10 (orig r12054): t0m | 2009-11-27 02:08:33 +0000
Bump version in runtime branch
r13192 at nc10 (orig r12061): t0m | 2009-11-28 12:38:12 +0000
Adding the files you need for the tests you've committed helps them pass, idiot :)
r13194 at nc10 (orig r12063): rafl | 2009-11-29 14:00:12 +0000
Depend on a new CMOP because we rely on its new load_class error messages.
r13195 at nc10 (orig r12064): rafl | 2009-11-29 14:00:19 +0000
Make follow_symlinks more consistent with the other restarter args.
r13196 at nc10 (orig r12065): rafl | 2009-11-29 14:00:25 +0000
Properly validate restart regexen.
r13197 at nc10 (orig r12066): rafl | 2009-11-29 14:00:31 +0000
Tidy up some attr definitions.
r13198 at nc10 (orig r12067): rafl | 2009-11-29 14:00:38 +0000
Port numbers need to be > 0.
r13199 at nc10 (orig r12068): rafl | 2009-11-29 14:00:43 +0000
Remove useless lexical.
r13200 at nc10 (orig r12069): rafl | 2009-11-29 14:00:51 +0000
Less trailing whitespace.
r13201 at nc10 (orig r12070): rafl | 2009-11-29 15:33:48 +0000
This is not a release.
r13202 at nc10 (orig r12071): rafl | 2009-11-29 15:33:55 +0000
Tidy things up a little and fix pod usage.
Property changes on: Catalyst-Runtime/5.80/trunk
___________________________________________________________________
Name: 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/disable_regex_fallback:11456
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/namespace_handling_refactor:10655
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_encode_captures_andor_args_take2:11811
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
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/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/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/namespace_handling_refactor:10655
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/uri_encode_captures_andor_args_take2:11811
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
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
Modified: Catalyst-Runtime/5.80/trunk/Makefile.PL
===================================================================
--- Catalyst-Runtime/5.80/trunk/Makefile.PL 2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/Makefile.PL 2009-11-29 17:16:40 UTC (rev 12075)
@@ -18,10 +18,11 @@
requires 'List::MoreUtils';
requires 'namespace::autoclean' => '0.09';
requires 'namespace::clean';
+requires 'namespace::autoclean';
requires 'B::Hooks::EndOfScope' => '0.08';
requires 'MooseX::Emulate::Class::Accessor::Fast' => '0.00903';
-requires 'Class::MOP' => '0.83';
-requires 'Moose' => '0.90';
+requires 'Class::MOP' => '0.95';
+requires 'Moose' => '0.93';
requires 'MooseX::MethodAttributes::Inheritable' => '0.17';
requires 'MooseX::Role::WithOverloading' => '0.03';
requires 'Carp';
@@ -47,10 +48,11 @@
requires 'Task::Weaken';
requires 'Text::Balanced'; # core in 5.8.x but mentioned for completeness
requires 'MRO::Compat';
+requires 'MooseX::Getopt' => '0.25';
+requires 'MooseX::Types';
+requires 'MooseX::Types::Common::Numeric';
requires 'String::RewritePrefix' => '0.004'; # Catalyst::Utils::resolve_namespace
-recommends 'B::Hooks::OP::Check::StashChange';
-
test_requires 'Class::Data::Inheritable';
test_requires 'Test::Exception';
test_requires 'Test::More' => '0.88';
Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod 2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/ROADMAP.pod 2009-11-29 17:16:40 UTC (rev 12075)
@@ -8,11 +8,6 @@
Make sure you get it from there to ensure you have the latest version.
-=head2 5.80000 1st Quarter 2009
-
-Next major planned release, ports Catalyst to Moose, and does some refactoring
-to help app/ctx.
-
=head2 5.81000
=over
Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/CGI.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,34 @@
+package Catalyst::Script::CGI;
+use Moose;
+BEGIN { $ENV{CATALYST_ENGINE} ||= 'CGI' }
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::CGI - The CGI Catalyst Script
+
+=head1 SYNOPSIS
+
+ myapp_cgi.pl [options]
+
+ Options:
+ -h --help display this help and exits
+
+=head1 DESCRIPTION
+
+This is a script to run the Catalyst engine specialized for the CGI environment.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut
Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Create.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,103 @@
+package Catalyst::Script::Create;
+use Moose;
+use MooseX::Types::Moose qw/Bool Str/;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+has force => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'nonew',
+ isa => Bool,
+ is => 'ro',
+ documentation => 'Force new scripts',
+);
+
+has debug => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'd',
+ isa => Bool,
+ is => 'ro',
+ documentation => 'Force debug mode',
+);
+
+has mechanize => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'mech',
+ isa => Bool,
+ is => 'ro',
+ documentation => 'use WWW::Mechanize',
+);
+
+has helper_class => (
+ isa => Str,
+ is => 'ro',
+ builder => '_build_helper_class',
+);
+
+sub _build_helper_class { 'Catalyst::Helper' }
+
+sub run {
+ my ($self) = @_;
+
+ $self->_exit_with_usage if !$self->ARGV->[0];
+
+ my $helper_class = $self->helper_class;
+ Class::MOP::load_class($helper_class);
+ my $helper = $helper_class->new( { '.newfiles' => !$self->force, mech => $self->mechanize } );
+
+ $self->_exit_with_usage unless $helper->mk_component( $self->application_name, @ARGV );
+
+}
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::Create - Create a new Catalyst Component
+
+=head1 SYNOPSIS
+
+ myapp_create.pl [options] model|view|controller name [helper] [options]
+
+ Options:
+ --force don't create a .new file where a file to be created exists
+ --mechanize use Test::WWW::Mechanize::Catalyst for tests if available
+ --help display this help and exits
+
+ Examples:
+ myapp_create.pl controller My::Controller
+ myapp_create.pl controller My::Controller BindLex
+ myapp_create.pl -mechanize controller My::Controller
+ myapp_create.pl view My::View
+ myapp_create.pl view MyView TT
+ myapp_create.pl view TT TT
+ myapp_create.pl model My::Model
+ myapp_create.pl model SomeDB DBIC::Schema MyApp::Schema create=dynamic\
+ dbi:SQLite:/tmp/my.db
+ myapp_create.pl model AnotherDB DBIC::Schema MyApp::Schema create=static\
+ dbi:Pg:dbname=foo root 4321
+
+ See also:
+ perldoc Catalyst::Manual
+ perldoc Catalyst::Manual::Intro
+
+=head1 DESCRIPTION
+
+Create a new Catalyst Component.
+
+Existing component files are not overwritten. If any of the component files
+to be created already exist the file will be written with a '.new' suffix.
+This behavior can be suppressed with the C<--force> option.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/FastCGI.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,121 @@
+package Catalyst::Script::FastCGI;
+
+BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
+use Moose;
+use MooseX::Types::Moose qw/Str Bool Int/;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+has listen => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'l',
+ isa => Str,
+ is => 'ro',
+ documentation => 'Specify a listening port/socket',
+);
+
+has pidfile => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'pid',
+ isa => Str,
+ is => 'ro',
+ documentation => 'Specify a pidfile',
+);
+
+has daemon => (
+ traits => [qw(Getopt)],
+ isa => Bool,
+ is => 'ro',
+ cmd_aliases => 'd',
+ documentation => 'Daemonize (go into the background)',
+);
+
+has manager => (
+ traits => [qw(Getopt)],
+ isa => Str,
+ is => 'ro',
+ cmd_aliases => 'M',
+ documentation => 'Use a different FastCGI process manager class',
+);
+
+has keeperr => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'e',
+ isa => Bool,
+ is => 'ro',
+ documentation => 'Log STDERR',
+);
+
+has nproc => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'n',
+ isa => Int,
+ is => 'ro',
+ documentation => 'Specify a number of child processes',
+);
+
+has detach => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'det',
+ isa => Bool,
+ is => 'ro',
+ documentation => 'Detach this FastCGI process',
+);
+
+sub _application_args {
+ my ($self) = shift;
+ return (
+ $self->listen,
+ {
+ nproc => $self->nproc,
+ pidfile => $self->pidfile,
+ manager => $self->manager,
+ detach => $self->detach,
+ keep_stderr => $self->keeperr,
+ }
+ );
+}
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::FastCGI - The FastCGI Catalyst Script
+
+=head1 SYNOPSIS
+
+ myapp_fastcgi.pl [options]
+
+ Options:
+ -? --help display this help and exits
+ -l --listen Socket path to listen on
+ (defaults to standard input)
+ can be HOST:PORT, :PORT or a
+ filesystem path
+ -n --nproc specify number of processes to keep
+ to serve requests (defaults to 1,
+ requires -listen)
+ -p --pidfile specify filename for pid file
+ (requires -listen)
+ -d --daemon daemonize (requires -listen)
+ -M --manager specify alternate process manager
+ (FCGI::ProcManager sub-class)
+ or empty string to disable
+ -e --keeperr send error messages to STDOUT, not
+ to the webserver
+
+=head1 DESCRIPTION
+
+Run a Catalyst application as fastcgi.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut
Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Server.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,252 @@
+package Catalyst::Script::Server;
+
+BEGIN {
+ $ENV{CATALYST_ENGINE} ||= 'HTTP';
+ require Catalyst::Engine::HTTP;
+}
+
+use Moose;
+use MooseX::Types::Common::Numeric qw/PositiveInt/;
+use MooseX::Types::Moose qw/ArrayRef Str Bool Int RegexpRef/;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+__PACKAGE__->meta->get_attribute('help')->cmd_aliases('?');
+
+has debug => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'd',
+ isa => Bool,
+ is => 'ro',
+ documentation => q{Force debug mode},
+);
+
+has host => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'h',
+ isa => Str,
+ is => 'ro',
+ default => 'localhost',
+ documentation => 'Specify an IP on this host for the server to bind to',
+);
+
+has fork => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'f',
+ isa => Bool,
+ is => 'ro',
+ default => 0,
+ documentation => 'Fork the server to be able to serve multiple requests at once',
+);
+
+has port => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'p',
+ isa => PositiveInt,
+ is => 'ro',
+ default => 3000,
+ documentation => 'Specify a different listening port (to the default port 3000)',
+);
+
+has pidfile => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'pid',
+ isa => Str,
+ is => 'ro',
+ documentation => 'Specify a pidfile',
+);
+
+has keepalive => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'k',
+ isa => Bool,
+ is => 'ro',
+ default => 0,
+ documentation => 'Support keepalive',
+);
+
+has background => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'bg',
+ isa => Bool,
+ is => 'ro',
+ default => 0,
+ documentation => 'Run in the background',
+);
+
+has restart => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'r',
+ isa => Bool,
+ is => 'ro',
+ default => 0,
+ documentation => 'use Catalyst::Restarter to detect code changes and restart the application',
+);
+
+has restart_directory => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'rdir',
+ isa => ArrayRef[Str],
+ is => 'ro',
+ documentation => 'Restarter directory to watch',
+ predicate => '_has_restart_directory',
+);
+
+has restart_delay => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'rd',
+ isa => Int,
+ is => 'ro',
+ documentation => 'Set a restart delay',
+ predicate => '_has_restart_delay',
+);
+
+{
+ use Moose::Util::TypeConstraints;
+
+ my $tc = subtype as RegexpRef;
+ coerce $tc, from Str, via { qr/$_/ };
+
+ MooseX::Getopt::OptionTypeMap->add_option_type_to_map($tc => '=s');
+
+ has restart_regex => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'rr',
+ isa => $tc,
+ coerce => 1,
+ is => 'ro',
+ documentation => 'Restart regex',
+ predicate => '_has_restart_regex',
+ );
+}
+
+has follow_symlinks => (
+ traits => [qw(Getopt)],
+ cmd_aliases => 'sym',
+ isa => Bool,
+ is => 'ro',
+ default => 0,
+ documentation => 'Follow symbolic links',
+ predicate => '_has_follow_symlinks',
+);
+
+sub _restarter_args {
+ my $self = shift;
+
+ return (
+ argv => $self->ARGV,
+ start_sub => sub { $self->_run_application },
+ ($self->_has_follow_symlinks ? (follow_symlinks => $self->follow_symlinks) : ()),
+ ($self->_has_restart_delay ? (sleep_interval => $self->restart_delay) : ()),
+ ($self->_has_restart_directory ? (directories => $self->restart_directory) : ()),
+ ($self->_has_restart_regex ? (filter => $self->restart_regex) : ()),
+ );
+}
+
+sub run {
+ my $self = shift;
+
+ local $ENV{CATALYST_DEBUG} = 1
+ if $self->debug;
+
+ if ( $self->restart ) {
+ die "Cannot run in the background and also watch for changed files.\n"
+ if $self->background;
+
+ # If we load this here, then in the case of a restarter, it does not
+ # need to be reloaded for each restart.
+ require Catalyst;
+
+ # If this isn't done, then the Catalyst::Devel tests for the restarter
+ # fail.
+ $| = 1 if $ENV{HARNESS_ACTIVE};
+
+ require Catalyst::Restarter;
+
+ my $subclass = Catalyst::Restarter->pick_subclass;
+
+ my $restarter = $subclass->new(
+ $self->_restarter_args()
+ );
+
+ $restarter->run_and_watch;
+ }
+ else {
+ $self->_run_application;
+ }
+
+
+}
+
+sub _application_args {
+ my ($self) = shift;
+ return (
+ $self->port,
+ $self->host,
+ {
+ map { $_ => $self->$_ } qw/
+ fork
+ keepalive
+ background
+ pidfile
+ keepalive
+ follow_symlinks
+ /,
+ },
+ );
+}
+
+__PACKAGE__->meta->make_immutable;
+
+1;
+
+=head1 NAME
+
+Catalyst::Script::Server - Catalyst test server
+
+=head1 SYNOPSIS
+
+ myapp_server.pl [options]
+
+ Options:
+ -d --debug force debug mode
+ -f --fork handle each request in a new process
+ (defaults to false)
+ --help display this help and exits
+ -h --host host (defaults to all)
+ -p --port port (defaults to 3000)
+ -k --keepalive enable keep-alive connections
+ -r --restart restart when files get modified
+ (defaults to false)
+ --rd --restartdelay delay between file checks
+ (ignored if you have Linux::Inotify2 installed)
+ --rr --restartregex regex match files that trigger
+ a restart when modified
+ (defaults to '\.yml$|\.yaml$|\.conf|\.pm$')
+ --rdir --restartdirectory the directory to search for
+ modified files, can be set mulitple times
+ (defaults to '[SCRIPT_DIR]/..')
+ --sym --follow_symlinks follow symlinks in search directories
+ (defaults to false. this is a no-op on Win32)
+ --bg --background run the process in the background
+ --pid --pidfile specify filename for pid file
+
+ See also:
+ perldoc Catalyst::Manual
+ perldoc Catalyst::Manual::Intro
+
+=head1 DESCRIPTION
+
+Run a Catalyst test server for this application.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Script/Test.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,43 @@
+package Catalyst::Script::Test;
+use Moose;
+use Catalyst::Test ();
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run {
+ my $self = shift;
+
+ Catalyst::Test->import($self->application_name);
+
+ print request($self->ARGV->[0])->content . "\n";
+}
+
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::Script::Test - Test Catalyst application on the command line
+
+=head1 SYNOPSIS
+
+ myapp_test.pl [options] /path
+
+ Options:
+ -h --help display this help and exits
+
+=head1 DESCRIPTION
+
+Script to perform a test hit against your application and display the output.
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut
Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRole.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,112 @@
+package Catalyst::ScriptRole;
+use Moose::Role;
+use MooseX::Types::Moose qw/Str Bool/;
+use Pod::Usage;
+use MooseX::Getopt;
+use namespace::autoclean;
+
+with 'MooseX::Getopt' => {
+ excludes => [qw/
+ _getopt_spec_warnings
+ _getopt_spec_exception
+ _getopt_full_usage
+ /],
+};
+
+has application_name => (
+ traits => ['NoGetopt'],
+ isa => Str,
+ is => 'ro',
+ required => 1,
+);
+
+has help => (
+ traits => ['Getopt'],
+ isa => Bool,
+ is => 'ro',
+ documentation => 'Display this help and exit',
+ cmd_aliases => ['?', 'h'],
+);
+
+sub _getopt_spec_exception {}
+
+sub _getopt_spec_warnings {
+ shift;
+ warn @_;
+}
+
+sub _getopt_full_usage {
+ my $self = shift;
+ pod2usage();
+ exit 0;
+}
+
+before run => sub {
+ my $self = shift;
+ $self->_getopt_full_usage if $self->help;
+};
+
+sub run {
+ my $self = shift;
+ $self->_run_application;
+}
+
+sub _application_args {
+ ()
+}
+
+sub _run_application {
+ my $self = shift;
+ my $app = $self->application_name;
+ Class::MOP::load_class($app);
+ $app->run($self->_application_args);
+}
+
+1;
+
+=head1 NAME
+
+Catalyst::ScriptRole - Common functionality for Catalyst scripts.
+
+=head1 SYNOPSIS
+
+ package MyApp::Script::Foo;
+ use Moose;
+ use namespace::autoclean;
+
+ with 'Catalyst::ScriptRole';
+
+ sub _application_args { ... }
+
+=head1 DESCRIPTION
+
+Role with the common functionality of Catalyst scripts.
+
+=head1 METHODS
+
+=head2 run
+
+The method invoked to run the application.
+
+=head1 ATTRIBUTES
+
+=head2 application_name
+
+The name of the application class, e.g. MyApp
+
+=head1 SEE ALSO
+
+L<Catalyst>
+
+L<MooseX::Getopt>
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
Added: Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/ScriptRunner.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,56 @@
+package Catalyst::ScriptRunner;
+use Moose;
+use FindBin;
+use lib;
+use File::Spec;
+use namespace::autoclean;
+
+sub run {
+ my ($self, $class, $scriptclass) = @_;
+ my $classtoload = "${class}::Script::$scriptclass";
+
+ lib->import(File::Spec->catdir($FindBin::Bin, '..', 'lib'));
+
+ unless ( eval { Class::MOP::load_class($classtoload) } ) {
+ warn("Could not load $classtoload - falling back to Catalyst::Script::$scriptclass : $@\n")
+ if $@ !~ /Can't locate/;
+ $classtoload = "Catalyst::Script::$scriptclass";
+ Class::MOP::load_class($classtoload);
+ }
+ $classtoload->new_with_options( application_name => $class )->run;
+}
+
+__PACKAGE__->meta->make_immutable;
+
+=head1 NAME
+
+Catalyst::ScriptRunner - The Catalyst Framework script runner
+
+=head1 SYNOPSIS
+
+ # Will run MyApp::Script::Server if it exists, otherwise
+ # will run Catalyst::Script::Server.
+ Catalyst::ScriptRunner->run('MyApp', 'Server');
+
+=head1 DESCRIPTION
+
+This class is responsible for running scripts, either in the application specific namespace
+(e.g. C<MyApp::Script::Server>), or the Catalyst namespace (e.g. C<Catalyst::Script::Server>)
+
+=head1 METHODS
+
+=head2 run ($application_class, $scriptclass)
+
+Called with two parameters, the application classs (e.g. MyApp)
+and the script class, (i.e. one of Server/FastCGI/CGI/Create/Test)
+
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
+
+=head1 COPYRIGHT
+
+This library is free software. You can redistribute it and/or modify it under
+the same terms as Perl itself.
+
+=cut
Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm 2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -2892,6 +2892,8 @@
David E. Wheeler
+dhoss: Devin Austin <dhoss at cpan.org>
+
dkubb: Dan Kubb <dan.kubb-cpan at onautopilot.com>
Drew Taylor
Modified: Catalyst-Runtime/5.80/trunk/script/catalyst.pl
===================================================================
--- Catalyst-Runtime/5.80/trunk/script/catalyst.pl 2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/script/catalyst.pl 2009-11-29 17:16:40 UTC (rev 12075)
@@ -41,9 +41,10 @@
'.newfiles' => !$force,
'makefile' => $makefile,
'scripts' => $scripts,
- 'short' => 0, # FIXME - to be removed.
+ name => $ARGV[0],
}
);
+# Pass $ARGV[0] for compatibility with old ::Devel
pod2usage(1) unless $helper->mk_app( $ARGV[0] );
1;
Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_cgi.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::CGI;
+
+local @ARGV;
+lives_ok {
+ Catalyst::Script::CGI->new_with_options(application_name => 'TestAppToTestScripts')->run;
+} "new_with_options";
+shift @TestAppToTestScripts::RUN_ARGS;
+is_deeply \@TestAppToTestScripts::RUN_ARGS, [], "no args";
+
+done_testing;
Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_create.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,75 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use Test::Exception;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+{
+ package TestCreateScript;
+ use Moose;
+ extends 'Catalyst::Script::Create';
+ our $help;
+ sub _exit_with_usage { $help++ }
+}
+
+{
+ package TestHelperClass;
+ use Moose;
+
+ has 'newfiles' => ( is => 'ro', init_arg => '.newfiles' );
+ has 'mech' => ( is => 'ro' );
+ our @ARGS;
+ our %p;
+ sub mk_component {
+ my $self = shift;
+ @ARGS = @_;
+ %p = ( '.newfiles' => $self->newfiles, mech => $self->mech);
+ return $self->_mk_component_return;
+ }
+ sub _mk_component_return { 1 }
+}
+{
+ package TestHelperClass::False;
+ use Moose;
+ extends 'TestHelperClass';
+ sub _mk_component_return { 0 }
+}
+
+{
+ local $TestCreateScript::help;
+ local @ARGV;
+ lives_ok {
+ TestCreateScript->new_with_options(application_name => 'TestAppToTestScripts', helper_class => 'TestHelperClass')->run;
+ } "no argv";
+ ok $TestCreateScript::help, 'Exited with usage info';
+}
+{
+ local $TestCreateScript::help;
+ local @ARGV = 'foo';
+ local @TestHelperClass::ARGS;
+ local %TestHelperClass::p;
+ lives_ok {
+ TestCreateScript->new_with_options(application_name => 'TestAppToTestScripts', helper_class => 'TestHelperClass')->run;
+ } "with argv";
+ ok !$TestCreateScript::help, 'Did not exit with usage into';
+ is_deeply \@TestHelperClass::ARGS, ['TestAppToTestScripts', 'foo'], 'Args correct';
+ is_deeply \%TestHelperClass::p, { '.newfiles' => 1, mech => undef }, 'Params correct';
+}
+
+{
+ local $TestCreateScript::help;
+ local @ARGV = 'foo';
+ local @TestHelperClass::ARGS;
+ local %TestHelperClass::p;
+ lives_ok {
+ TestCreateScript->new_with_options(application_name => 'TestAppToTestScripts', helper_class => 'TestHelperClass::False')->run;
+ } "with argv";
+ ok $TestCreateScript::help, 'Did exit with usage into as mk_component returned false';
+ is_deeply \@TestHelperClass::ARGS, ['TestAppToTestScripts', 'foo'], 'Args correct';
+ is_deeply \%TestHelperClass::p, { '.newfiles' => 1, mech => undef }, 'Params correct';
+}
+
+done_testing;
Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_fastcgi.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,70 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::FastCGI;
+
+my $testopts;
+
+# Test default (no opts/args behaviour)
+testOption( [ qw// ], [undef, opthash()] );
+
+# listen socket
+testOption( [ qw|-l /tmp/foo| ], ['/tmp/foo', opthash()] );
+testOption( [ qw/-l 127.0.0.1:3000/ ], ['127.0.0.1:3000', opthash()] );
+
+#daemonize -d --daemon
+testOption( [ qw/-d/ ], [undef, opthash()] );
+testOption( [ qw/--daemon/ ], [undef, opthash()] );
+
+# pidfile -pidfile --pid --pidfile
+testOption( [ qw/--pidfile cat.pid/ ], [undef, opthash(pidfile => 'cat.pid')] );
+testOption( [ qw/--pid cat.pid/ ], [undef, opthash(pidfile => 'cat.pid')] );
+
+# manager
+testOption( [ qw/--manager foo::bar/ ], [undef, opthash(manager => 'foo::bar')] );
+testOption( [ qw/-M foo::bar/ ], [undef, opthash(manager => 'foo::bar')] );
+
+# keeperr
+testOption( [ qw/--keeperr/ ], [undef, opthash(keep_stderr => 1)] );
+testOption( [ qw/-e/ ], [undef, opthash(keep_stderr => 1)] );
+
+# nproc
+testOption( [ qw/--nproc 6/ ], [undef, opthash(nproc => 6)] );
+testOption( [ qw/--n 6/ ], [undef, opthash(nproc => 6)] );
+
+# detach
+testOption( [ qw/--detach/ ], [undef, opthash(detach => 1)] );
+testOption( [ qw/--det/ ], [undef, opthash(detach => 1)] );
+
+done_testing;
+
+sub testOption {
+ my ($argstring, $resultarray) = @_;
+
+ local @ARGV = @$argstring;
+ local @TestAppToTestScripts::RUN_ARGS;
+ lives_ok {
+ Catalyst::Script::FastCGI->new_with_options(application_name => 'TestAppToTestScripts')->run;
+ } "new_with_options";
+ # First element of RUN_ARGS will be the script name, which we don't care about
+ shift @TestAppToTestScripts::RUN_ARGS;
+ is_deeply \@TestAppToTestScripts::RUN_ARGS, $resultarray, "is_deeply comparison";
+}
+
+# Returns the hash expected when no flags are passed
+sub opthash {
+ return {
+ pidfile => undef,
+ keep_stderr => undef,
+ detach => undef,
+ nproc => undef,
+ manager => undef,
+ @_,
+ };
+}
Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_help.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use Test::Exception;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+{
+ package TestHelpScript;
+ use Moose;
+ with 'Catalyst::ScriptRole';
+ our $help;
+ sub _getopt_full_usage { $help++ }
+}
+
+test('-h');
+test('--help');
+test('-?');
+
+sub test {
+ local $TestHelpScript::help;
+ local @ARGV = (@_);
+ lives_ok {
+ TestHelpScript->new_with_options(application_name => 'TestAppToTestScripts')->run;
+ } 'Lives';
+ ok $TestHelpScript::help, 'Got help';
+}
+
+done_testing;
Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_server.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,116 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::Server;
+
+my $testopts;
+
+# Test default (no opts/args behaviour)
+testOption( [ qw// ], ['3000', 'localhost', opthash()] );
+
+# Old version supports long format opts with either one or two dashes. New version only supports two.
+# Old New
+# help -? -help --help -? --help
+# debug -d -debug --debug -d --debug
+# host -host --host --host
+testOption( [ qw/--host testhost/ ], ['3000', 'testhost', opthash()] );
+testOption( [ qw/-h testhost/ ], ['3000', 'testhost', opthash()] );
+
+# port -p -port --port -l --listen
+testOption( [ qw/-p 3001/ ], ['3001', 'localhost', opthash()] );
+testOption( [ qw/--port 3001/ ], ['3001', 'localhost', opthash()] );
+
+# fork -f -fork --fork -f --fork
+testOption( [ qw/--fork/ ], ['3000', 'localhost', opthash(fork => 1)] );
+testOption( [ qw/-f/ ], ['3000', 'localhost', opthash(fork => 1)] );
+
+# pidfile -pidfile --pid --pidfile
+testOption( [ qw/--pidfile cat.pid/ ], ['3000', 'localhost', opthash(pidfile => "cat.pid")] );
+testOption( [ qw/--pid cat.pid/ ], ['3000', 'localhost', opthash(pidfile => "cat.pid")] );
+
+# keepalive -k -keepalive --keepalive -k --keepalive
+testOption( [ qw/-k/ ], ['3000', 'localhost', opthash(keepalive => 1)] );
+testOption( [ qw/--keepalive/ ], ['3000', 'localhost', opthash(keepalive => 1)] );
+
+# symlinks -follow_symlinks --sym --follow_symlinks
+testOption( [ qw/--follow_symlinks/ ], ['3000', 'localhost', opthash(follow_symlinks => 1)] );
+testOption( [ qw/--sym/ ], ['3000', 'localhost', opthash(follow_symlinks => 1)] );
+
+# background -background --bg --background
+testOption( [ qw/--background/ ], ['3000', 'localhost', opthash(background => 1)] );
+testOption( [ qw/--bg/ ], ['3000', 'localhost', opthash(background => 1)] );
+
+# restart -r -restart --restart -R --restart
+testRestart( ['-r'], 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) );
+
+# restart dir -restartdirectory --rdir --restart_directory
+testRestart( ['-r', '--rdir', 'root'], restartopthash(directories => ['root']) );
+testRestart( ['-r', '--rdir', 'root', '--rdir', 'lib'], restartopthash(directories => ['root', 'lib']) );
+testRestart( ['-r', '--restart_directory', 'root'], restartopthash(directories => ['root']) );
+
+# restart regex -rr -restartregex --rr --restart_regex
+testRestart( ['-r', '--rr', 'foo'], restartopthash(filter => qr/foo/) );
+testRestart( ['-r', '--restart_regex', 'foo'], restartopthash(filter => qr/foo/) );
+
+done_testing;
+
+sub testOption {
+ my ($argstring, $resultarray) = @_;
+ my $app = _build_testapp($argstring);
+ lives_ok {
+ $app->run;
+ };
+ # First element of RUN_ARGS will be the script name, which we don't care about
+ shift @TestAppToTestScripts::RUN_ARGS;
+ is_deeply \@TestAppToTestScripts::RUN_ARGS, $resultarray, "is_deeply comparison " . join(' ', @$argstring);
+}
+
+sub testRestart {
+ my ($argstring, $resultarray) = @_;
+ my $app = _build_testapp($argstring);
+ 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';
+ is_deeply $args, $resultarray, "is_deeply comparison of restarter args " . join(' ', @$argstring);
+}
+
+sub _build_testapp {
+ my ($argstring, $resultarray) = @_;
+
+ local @ARGV = @$argstring;
+ local @TestAppToTestScripts::RUN_ARGS;
+ my $i;
+ lives_ok {
+ $i = Catalyst::Script::Server->new_with_options(application_name => 'TestAppToTestScripts');
+ } "new_with_options " . join(' ', @$argstring);;
+ ok $i;
+ return $i;
+}
+
+# Returns the hash expected when no flags are passed
+sub opthash {
+ return {
+ 'pidfile' => undef,
+ 'fork' => 0,
+ 'follow_symlinks' => 0,
+ 'background' => 0,
+ 'keepalive' => 0,
+ @_,
+ };
+}
+
+sub restartopthash {
+ return {
+ follow_symlinks => 0,
+ @_,
+ };
+}
Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_script_test.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,54 @@
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use Test::More;
+use Test::Exception;
+
+use Catalyst::Script::Test;
+use File::Temp qw/tempfile/;
+use IO::Handle;
+
+is run_test('/'), "root index\n", 'correct content printed';
+is run_test('/moose/get_attribute'), "42\n", 'Correct content printed for non root action';
+
+done_testing;
+
+sub run_test {
+ my $url = shift;
+
+ my ($fh, $fn) = tempfile();
+
+ binmode( $fh );
+ binmode( STDOUT );
+
+ {
+ local @ARGV = ($url);
+ my $i;
+ lives_ok {
+ $i = Catalyst::Script::Test->new_with_options(application_name => 'TestApp');
+ } "new_with_options";
+ ok $i;
+ my $saved;
+ open( $saved, '<&'. STDIN->fileno )
+ or croak("Can't dup stdin: $!");
+ open( STDOUT, '>&='. $fh->fileno )
+ or croak("Can't open stdout: $!");
+ eval { $i->run };
+ ok !$@, 'Ran ok';
+
+ STDOUT->flush
+ or croak("Can't flush stdout: $!");
+
+ open( STDOUT, '>&'. fileno($saved) )
+ or croak("Can't restore stdout: $!");
+ }
+
+ my $data = do { my $fh; open($fh, '<', $fn) or die $!; local $/; <$fh>; };
+ $fh = undef;
+ unlink $fn if -r $fn;
+
+ return $data;
+}
Added: Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/aggregate/unit_core_scriptrunner.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+use Test::More;
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use_ok('Catalyst::ScriptRunner');
+
+is Catalyst::ScriptRunner->run('ScriptTestApp', 'Foo'), 'ScriptTestApp::Script::Foo',
+ 'Script existing only in app';
+is Catalyst::ScriptRunner->run('ScriptTestApp', 'Bar'), 'ScriptTestApp::Script::Bar',
+ 'Script existing in both app and Catalyst - prefers app';
+is Catalyst::ScriptRunner->run('ScriptTestApp', 'Baz'), 'Catalyst::Script::Baz',
+ 'Script existing only in Catalyst';
+# +1 test for the params passed to new_with_options in t/lib/Catalyst/Script/Baz.pm
+{
+ my $warnings = '';
+ local $SIG{__WARN__} = sub { $warnings .= shift };
+ is 'Catalyst::Script::CompileTest', Catalyst::ScriptRunner->run('ScriptTestApp', 'CompileTest');
+ like $warnings, qr/Does not compile/;
+ like $warnings, qr/Could not load ScriptTestApp::Script::CompileTest - falling back to Catalyst::Script::CompileTest/;
+}
+
+done_testing;
Modified: Catalyst-Runtime/5.80/trunk/t/author/http-server.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/author/http-server.t 2009-11-29 17:16:16 UTC (rev 12074)
+++ Catalyst-Runtime/5.80/trunk/t/author/http-server.t 2009-11-29 17:16:40 UTC (rev 12075)
@@ -32,7 +32,7 @@
# spawn the standalone HTTP server
my $port = 30000 + int rand(1 + 10000);
my @cmd = ($^X, "-I$FindBin::Bin/../../lib",
- "$FindBin::Bin/../../t/tmp/TestApp/script/testapp_server.pl", '-port', $port );
+ "$FindBin::Bin/../../t/tmp/TestApp/script/testapp_server.pl", '--port', $port );
my $pid = open3( undef, my $server, undef, @cmd)
or die "Unable to spawn standalone HTTP server: $!";
Added: Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Bar.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,9 @@
+package Catalyst::Script::Bar;
+use Moose;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+1;
Added: Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/Baz.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,16 @@
+package Catalyst::Script::Baz;
+use Moose;
+use namespace::autoclean;
+
+use Test::More;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+after new_with_options => sub {
+ my ($self, %args) = @_;
+ is_deeply \%args, { application_name => 'ScriptTestApp' }, 'App name correct';
+};
+
+1;
Added: Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/Catalyst/Script/CompileTest.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,16 @@
+package Catalyst::Script::CompileTest;
+use Moose;
+use namespace::autoclean;
+
+use Test::More;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+after new_with_options => sub {
+ my ($self, %args) = @_;
+ is_deeply \%args, { application_name => 'ScriptTestApp' }, 'App name correct';
+};
+
+1;
Added: Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Bar.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,9 @@
+package ScriptTestApp::Script::Bar;
+use Moose;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+1;
Added: Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/CompileTest.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,7 @@
+package ScriptTestApp::Script::CompileTest;
+use Moose;
+use namespace::autoclean;
+
+die("Does not compile");
+
+1;
Added: Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/ScriptTestApp/Script/Foo.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,9 @@
+package ScriptTestApp::Script::Foo;
+use Moose;
+use namespace::autoclean;
+
+with 'Catalyst::ScriptRole';
+
+sub run { __PACKAGE__ }
+
+1;
Added: Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/lib/TestAppToTestScripts.pm 2009-11-29 17:16:40 UTC (rev 12075)
@@ -0,0 +1,14 @@
+package TestAppToTestScripts;
+use strict;
+use warnings;
+use Carp;
+
+our @RUN_ARGS;
+
+sub run {
+ @RUN_ARGS = @_;
+ 1; # Does this work?
+}
+
+1;
+
More information about the Catalyst-commits
mailing list