On Mon, 09 Aug 2010, David E. Wheeler wrote:
> Tim, I think we're ready for another dev release, especially since I added
> this test to the MANIFEST.
Running tests on the latest ActivePerl shows 2 issues:
1) t/01basics.t fails to load DBD::Oracle (because I don't have the Oracle
client
libraries installed on the test machine). This produces a popup that the
user
has to explicitly dismiss. The test then passes without errors.
You could use Win32API::File::SetErrorMode() to disable these popups and
return a failure code for loading the extension instead.
Win32API::File is a core module since 5.10, so you would need to check if you
can load it (untested):
if ($^O eq "MSWin32" && eval { require Win32API::File }) {
Win32API::File::SetErrorMode(Win32API::File::SEM_FAILCRITICALERRORS);
}
2) t/50dbm_simple.t is missing one test:
Test Summary Report
-------------------
t/50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
t/zvg_50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
t/zvn_50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
t/zvp_50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
t/zvxgn_50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
t/zvxgnp_50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
t/zvxgp_50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
t/zvxnp_50dbm_simple.t (Wstat: 65280 Tests: 26 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 27 tests but ran 26.
Files=171, Tests=6376, 98 wallclock secs ( 0.28 usr + 2.67 sys = 2.95 CPU)
Result: FAIL
Failed 8/171 test programs. 0/6376 subtests failed.
NMAKE : fatal error U1077: 'C:\Perl1201\bin\perl.exe' : return code '0xff'
Stop.
Not sure what the issue is; maybe the fact that old versions of
DBD::CSV and SQL::Statement are already installed in the tree?
Here is the verbose output of one test:
C:\tmp\dbi>perl -Mblib t\50dbm_simple.t
Using DBM modules: SDBM_File
Using MLDBM serializers:
Test count: 1 x ( ( 5 + 22 ) + 0 x ( 5 + 25 ) ) = 27
1..27
--- Using SDBM_File () ---
# DBD::DBM 0.05 using SDBM_File (1.06)
# DBD::File 0.39 using IO::File (1.14)
# DBI::DBD::SqlEngine 0.01 using DBI::SQL::Nano 1.014245
# DBI 1.614
# OS MSWin32 (5.00)
# Perl 5.012001 (MSWin32-x86-multi-thread)
ok 1 - dbm_versions
ok 2 - The object isa DBI::db
ok 3
ok 4
ok 5
ok 6 - DROP TABLE IF EXISTS SDBM_File_fruit
ok 7 - CREATE TABLE SDBM_File_fruit (dKey INT, dVal VARCHAR(10))
ok 8 - INSERT INTO SDBM_File_fruit VALUES (1,'oranges' )
ok 9 - INSERT INTO SDBM_File_fruit VALUES (2,'to_change' )
ok 10 - INSERT INTO SDBM_File_fruit VALUES (3, NULL )
ok 11 - INSERT INTO SDBM_File_fruit VALUES (4,'to delete' )
ok 12 - INSERT INTO SDBM_File_fruit VALUES (?,?)
ok 13 - INSERT INTO SDBM_File_fruit VALUES (6,'to delete' )
ok 14 - INSERT INTO SDBM_File_fruit VALUES (7,'to_delete' )
ok 15 - DELETE FROM SDBM_File_fruit WHERE dVal='to delete'
ok 16 - $sth->execute(DELETE FROM SDBM_File_fruit WHERE dVal='to delete') == $s
th->rows
ok 17 - UPDATE SDBM_File_fruit SET dVal='apples' WHERE dKey=2
ok 18 - $sth->execute(UPDATE SDBM_File_fruit SET dVal='apples' WHERE dKey=2) ==
$sth->rows
ok 19 - DELETE FROM SDBM_File_fruit WHERE dKey=7
ok 20 - $sth->execute(DELETE FROM SDBM_File_fruit WHERE dKey=7) == $sth->rows
ok 21 - SELECT * FROM SDBM_File_fruit ORDER BY dKey DESC
ok 22 - SELECT results
ok 23 - DELETE FROM SDBM_File_fruit
ok 24 - $sth->execute(DELETE FROM SDBM_File_fruit) == $sth->rows
ok 25 # skip execute failed: No such column 'COUNT*' at C:\tmp\dbi\blib\lib/DBI/
DBD/SqlEngine.pm line 732
#
ok 26 # skip execute failed: No such column 'COUNT*' at C:\tmp\dbi\blib\lib/DBI/
DBD/SqlEngine.pm line 732
#
# Looks like you planned 27 tests but ran 26.
Cheers,
-Jan