RE: patch full of dark magic

"Jan Dubois" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Organization ActiveState Software Inc
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.