Just so I don't waste anyones time, I actually solved the problem I
describe here (not the chkpass problem, but another one I ran into),
and explain the fix at the end of the message.  I am sending the
message anyway for the archives, in case someone else runs into the
same problem running the test suite.

On 5/29/06, Cees Hek <[EMAIL PROTECTED]> wrote:
Hmmm.  I'll do some more tests and see what I come up with.  I do have
the column setup in the DB correctly, and the RDBO object was created
with the Loader, which picked up the chkpass column properly.

I'll try the tests in the test suite and see what I come up with.

Looks like I'm having more problems that I first thought.  I can't
even run the test suite successfully.  And I'm not getting any good
information to work with, so I am pasting my results here.

The first test file that fails is db-object-auto.t, and oddly enough
it fails right after the chkpass tests pass!  Here is the output (i
have turned on Debug to try and get more info).

prove -v t/db-object-auto.t

t/db-object-auto....1..266
ok 1 - use Rose::DB::Object;
ok 2 - use Rose::DB::Object::Metadata::Auto::Generic;
ok 3 - perl_columns_definition eval - pg
ok 4 - perl_unique_keys_definition eval 1 - pg
ok 5 - perl_unique_keys_definition eval 2 - pg
ok 6 - perl_primary_key_columns_definition eval - pg
ok 7 - custom column class - mysql
ok 8 - metadata subclass - mysql
DBI->connect('dbi:Pg:dbname=test2', 'postgres', ...)
INSERT INTO Rose_db_object_test
(
 bits,
 code,
 date_created,
 flag,
 flag2,
 id,
 k1,
 k2,
 k3,
 last_modified,
 name,
 nums,
 password,
 save,
 start,
 status
)
VALUES
(
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?,
 ?
) - bind params: 00101, , now, 1, 1, 1, 1, , 3, now, John, , , 7,
1980-12-24, act'ive
ok 9 - new() 1 - pg
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE id = ? - bind params: 1
DBI->connect('dbi:Pg:dbname=test2', 'postgres', ...)
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE k1 = ? AND k2 IS NULL AND k3 = ? - bind
params: 1, 3
UPDATE Rose_db_object_test SET
   bits = ?,
   code = ?,
   date_created = ?,
   flag = ?,
   flag2 = ?,
   k1 = ?,
   k2 = ?,
   k3 = ?,
   last_modified = ?,
   name = ?,
   nums = ?,
   password = ?,
   save = ?,
   start = ?,
   status = ?
WHERE id = ? - bind params: 00101,       , 2006-05-29 17:46:03.696809,
1, 1, 1, , 3, 2006-05-29 17:46:03.696809, John, , , 7, 1980-12-24,
act'ive, 1
ok 10 - save() 1 - pg
ok 11 - auto-generated primary key - pg
ok 12 - load() 1 - pg
ok 13 - varchar overflow fatal - pg
ok 14 - character padding - pg
ok 15 - character overflow fatal - pg
ok 16 - load() uk 1 - pg
ok 17 - not_found() uk 1 - pg
ok 18 - load() uk 2 - pg
ok 19 - load() uk 3 - pg
DBI->connect('dbi:Pg:dbname=test2', 'postgres', ...)
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE id = ? - bind params: 1
ok 20 - save() uk 1 - pg
ok 21 - new() 2 - pg
ok 22 - bits() (bitfield default value) - pg
ok 23 - load() 2 - pg
ok 24 - not_found() 1 - pg
ok 25 - load() verify 1 - pg
ok 26 - load() verify 2 - pg
ok 27 - load() verify 3 - pg
ok 28 - load() verify 4 (default value) - pg
ok 29 - load() verify 5 (default boolean value) - pg
ok 30 - load() verify 6 (boolean value) - pg
ok 31 - load() verify 7 (aliased column) - pg
ok 32 - load() verify 8 (date value) - pg
ok 33 - load() verify 9 (bitfield value) - pg
ok 34 - clone() 1 - pg
ok 35 - clone() 2 - pg
UPDATE Rose_db_object_test SET
   bits = ?,
   code = ?,
   date_created = ?,
   flag = ?,
   flag2 = ?,
   k1 = ?,
   k2 = ?,
   k3 = ?,
   last_modified = ?,
   name = ?,
   nums = ?,
   password = ?,
   save = ?,
   start = ?,
   status = ?
WHERE id = ? - bind params: 00101,       , 2006-05-29 17:46:03.696809,
1, 1, 1, , 3, now, John 2, , , 7, 2001-05-24, act'ive, 1
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE id = ? - bind params: 1
DBI->connect('dbi:Pg:dbname=test2', 'postgres', ...)
ok 36 - save() 2 - pg
ok 37 - load() 3 - pg
ok 38 - save() verify 1 - pg
ok 39 - save() verify 2 - pg
ok 40 - save() verify 3 (date value) - pg
ok 41 - db() - pg
DBI->connect('dbi:Pg:dbname=test2', 'postgres', ...)
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE id = ? - bind params: 999
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE id = ? - bind params: 1
UPDATE Rose_db_object_test SET
   bits = ?,
   code = ?,
   date_created = ?,
   flag = ?,
   flag2 = ?,
   k1 = ?,
   k2 = ?,
   k3 = ?,
   last_modified = ?,
   name = ?,
   nums = ?,
   password = ?,
   save = ?,
   start = ?,
   status = ?
WHERE id = ? - bind params: 00101,       , 2006-05-29 17:46:03.696809,
1, 1, 1, , 3, 2006-05-29 17:46:04.786176, John 2, , foobar, 7,
2001-05-24, act'ive, 1
DBI->connect('dbi:Pg:dbname=test2', 'postgres', ...)
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE id = ? - bind params: 1
UPDATE Rose_db_object_test SET
   bits = ?,
   code = ?,
   date_created = ?,
   flag = ?,
   flag2 = ?,
   k1 = ?,
   k2 = ?,
   k3 = ?,
   last_modified = ?,
   name = ?,
   nums = ?,
   password = ?,
   save = ?,
   start = ?,
   status = ?
WHERE id = ? - bind params: 00101,       , 2006-05-29 17:46:03.696809,
1, 1, 1, , 3, 2006-05-29 17:46:04.786176, John 2, {4,5,6}, foobar, 7,
2001-05-24, act'ive, 1
ok 42 - dbh() - pg
ok 43 - load() nonexistent - pg
ok 44 - not_found() 2 - pg
SELECT bits, code, date_created, flag, flag2, id, k1, k2, k3,
last_modified, name, nums, password, save, start, status FROM
Rose_db_object_test WHERE id = ? - bind params: 1
ok 45 - load() 4 - pg
ok 46 - chkpass() 1 - pg
ok 47 - chkpass() 2 - pg
ok 48 - chkpass() 3 - pg
ok 49 - chkpass() 4 - pg
ok 50 - save() 3 - pg
ok 51 - load() 5 - pg
ok 52 - chkpass() 5 - pg
ok 53 - chkpass() 6 - pg
ok 54 - save() 4 - pg
dubious
       Test returned status 0 (wstat 11, 0xb)
DIED. FAILED tests 55-266
       Failed 212/266 tests, 20.30% okay
Failed Test        Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/db-object-auto.t    0    11   266  424 159.40%  55-266
Failed 1/1 test scripts, 0.00% okay. 212/266 subtests failed, 20.30% okay.


The fact that it dies with the word 'dubious' doesn't give me much to
go on.  And turing on Debug in the Rose::DB modules didn't help much
either.

Any pointers woud be helpful

PostgreSQL - 7.4.9  (debian package)
perl - 5.8.8 (debian package)
Latest Rose::DB and Rose::DB::Object
DBD::Pg - 1.45

And after writing all this out, I realize that there is a new version
of DBD::Pg out (v1.49).  After installing that my errors have
disappeared!  I'm sending the message anyway in case anyone else runs
into it...

I will save my test results on chkpass for the next email, since this
one is quite long already.

Cheers,

Cees


-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Rose-db-object mailing list
Rose-db-object@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rose-db-object

Reply via email to