FAQ

On Mon, Jul 10, 2006 at 02:42:22PM +0100, Chisel Wright wrote:
The only thing that's changed since I got off the train this morning is
my upgrade to 5.7. Any ideas?
This morning I decided to boil my problem down to a simpler test-case
(attached), to make it easier to demonstrate/test my problem.

This morning I copied the test across to another box, running 5.61,
where they pass.

I then did:

cpan Catalyst::Devel
cpan Catalyst

and re-ran the test, which failed, the same as on my laptop.

Do I have a corrupt install after upgrading, or is this a bug?


I've attached the files that should be required for testing.


Chisel
--
Chisel Wright
e: chisel at herlpacker.co.uk
w: http://www.herlpacker.co.uk/

This is not an automated signature. I type this in to the bottom of every
message.
-------------- next part --------------
1. Create database

createdb -E UTF8 classmethod
psql -d classmethod -f db/classmethod.sql

2. Create DB Model

./script/classmethod_create.pl model CMDB DBIC dbi:Pg:dbname=classmethod

3. Add a method to the ClassMethod class

vi ./lib/ClassMethod/Model/CMDB/ClassMethod.pm

# add:
sub some_method {
my $self = shift;
return 1;
}

4. Add a call to the default controller

vi ./lib/ClassMethod/Controller/Root.pm

# add to sub default():
$c->model('CMDB')->table('class_method')->some_method();

5. Add a test

vi ./t/model_CMDB-ClassMethod.t

# increase number of tests to 3
# add following test:
can_ok('ClassMethod::Model::CMDB::ClassMethod', qw/ some_method /);

6. Run the test

prove --lib --verbose t/model_CMDB-ClassMethod.t

All tests should pass, we're specifically interested in:

ok 3 - ClassMethod::Model::CMDB::ClassMethod->can('some_method')

7. Run the application

./script/classmethod_test.pl / 2>&1 |grep 'class="error"'

If there are any application errors, you'll see them, otherwise you'll see nothing.


8. Drop database

dropdb classmethod
-------------- next part --------------
-- createdb -E UTF 8 classmethod

BEGIN;

CREATE TABLE class_method (
id SERIAL primary key,
int1 integer default 1,
text1 text default 'one'
);

COMMIT;
-------------- next part --------------
chisel at ferrari ClassMethod $ prove --lib --verbose t/model_CMDB-ClassMethod.t
t/model_CMDB-ClassMethod....1..3
[debug] Debug messages enabled
[debug] Loaded plugins:
.----------------------------------------------------------------------------.
Catalyst::Plugin::ConfigLoader 0.06 |
Catalyst::Plugin::Static::Simple 0.14 |
'----------------------------------------------------------------------------'

[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::CGI"
[debug] Found home "/home/chisel/development/svk/parley/issues/model_method/ClassMethod"
[debug] Loaded tables "class_method"
[debug] Loaded components:
.-----------------------------------------------------------------+----------.
Class | Type |
+-----------------------------------------------------------------+----------+
ClassMethod::Controller::Root | instance |
ClassMethod::Model::CMDB | instance |
ClassMethod::Model::CMDB::ClassMethod | class |
ClassMethod::Model::CMDB::_db | class |
'-----------------------------------------------------------------+----------'

[debug] Loaded Private actions:
.----------------------+--------------------------------------+--------------.
Private | Class | Method |
+----------------------+--------------------------------------+--------------+
/default | ClassMethod::Controller::Root | default |
/end | ClassMethod::Controller::Root | end |
'----------------------+--------------------------------------+--------------'

[info] ClassMethod powered by Catalyst 5.7000
ok 1 - use Catalyst::Test;
ok 2 - use ClassMethod::Model::CMDB::ClassMethod;
ok 3 - ClassMethod::Model::CMDB::ClassMethod->can('some_method')
ok
All tests successful.
Files=1, Tests=3, 1 wallclock secs ( 1.12 cusr + 0.14 csys = 1.26 CPU)




chisel at ferrari ClassMethod $ ./script/classmethod_test.pl / 2>&1 |grep 'class="error"'
<div class="error"><pre wrap=""><p><code class="error">Caught exception in ClassMethod::Controller::Root-&gt;default &quot;Can&#39;t locate object method &quot;some_method&quot; via package &quot;ClassMethod::Model::CMDB::ClassMethod&quot; at /home/chisel/development/svk/parley/issues/model_method/ClassMethod/script/../lib/ClassMethod/Controller/Root.pm line 32.&quot;</code></p></pre></div>
chisel at ferrari ClassMethod $

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 2 of 17 | next ›
Discussion Overview
groupcatalyst @
categoriescatalyst, perl
postedJul 10, '06 at 1:42p
activeJul 18, '06 at 10:27a
posts17
users7
websitecatalystframework.org
irc#catalyst

People

Translate

site design / logo © 2022 Grokbase