On Tue, 21 Feb 2012 22:01:24 +0000, Tim Bunce <tim.bu...@pobox.com> wrote:
> DBI 1.617_903 has a 100% pass rate on everything except MSWin32, where > there are three reports so far and 100% failure: > > http://matrix.cpantesters.org/?dist=DBI%201.617_903;reports=1;os=mswin32 > > Result Id OS vers archname Perl > version > FAIL 19976962 5.1 MSWin32-x86-multi-thread > 5.12.3 > UNKNOWN 20072290 5.2 MSWin32-x86-multi-thread > 5.10.1 > UNKNOWN 20005629 5.2 MSWin32-x86-multi-thread > 5.12.4 > > The first report passes all except gofer tests. Those fail with: > > No such directory > 'C:strawberrycpanbuildDBI-1.617_903-P91t7htest_output_5384' > > which seems rather long and lacking in delimeters. > http://www.cpantesters.org/cpan/report/2fb308b8-6c8f-1014-bc6b-040f0163837e > This problem seems to have existed in DBI 1.617, causing it to always > fail on MSWin32 (along with an error in t/16destroy.t). DBI 1.616 was ok. > > > The other two reports are 'UNKNOWN' due to compile-time errors: > > error C2065: 'my_cxtp' : undeclared identifier > > which seems clearly related to the recent changes. > > Given the minor differences in Perl versions (5.12.3 vs 5.12.4) it seems > like the "OS vers" (5.1 vs 5.2) may be significant here. > > > Can anyone help with either of these? > > Tim. > > p.s. Once these are fixed I'll probably release DBI 1.618 without the > DBIS change as I've not had time to consider that in the detail it needs. Analysis and possible fix at the end ... Tested DBI_1.617_903 on Win7-Pro/64 + Strawberry 5.14.2 (v5.14.2) built for MSWin32-x64-multi-thread Test Summary Report ------------------- t/85gofer.t (Wstat: 256 Tests: 57 Failed: 1) Failed test: 5 Non-zero exit status: 1 t/zvg_85gofer.t (Wstat: 256 Tests: 55 Failed: 1) Failed test: 3 Non-zero exit status: 1 t/zvn_85gofer.t (Wstat: 256 Tests: 57 Failed: 1) Failed test: 5 Non-zero exit status: 1 t/zvxgn_85gofer.t (Wstat: 256 Tests: 55 Failed: 1) Failed test: 3 Non-zero exit status: 1 Files=182, Tests=7107, 45 wallclock secs ( 1.58 usr + 0.51 sys = 2.09 CPU) Result: FAIL Failed 4/182 test programs. 4/7107 subtests failed. dmake: Error code 255, while making 'test_dynamic' t/85gofer.t ..................... 1/? # Failed test 'null: Testing null transport with pedantic policy aborted (No such directory 'C:strawberrycpanbuildDBI-1.617_903test_output_5472') # ' # at t/85gofer.t line 113. # Looks like you failed 1 test of 57. t/85gofer.t ..................... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/57 subtests (less 4 skipped subtests: 52 okay) C:\strawberry\cpan\build\DBI-1.617_903>prove -vwb t\85gofer.t t\85gofer.t .. # Transports: null pipeone stream stream_ssh # Policies: pedantic classic rush # Count: 0 # ============= # Testing null transport with pedantic policy # dbi:Gofer:transport=null;policy=pedantic;dsn=DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_4772;dbm_type=SDBM_File;f_lockfile=0 ok 1 - should connect to dbi:Gofer:transport=null;policy=pedantic;dsn=DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_4772;dbm_type=SDBM_File;f_lockfile=0 ok 2 ok 3 ok 4 # Failed test 'null: Testing null transport with pedantic policy aborted (No such directory 'C:strawberrycpanbuildDBI-1.617_903test_output_4772') not ok 5 - null: Testing null transport with pedantic policy aborted (No such directory 'C:strawberrycpanbuildDBI-1.617_903test_output_4772')# ' # at t\85gofer.t line 113. # # ============= # Testing null transport with classic policy # dbi:Gofer:transport=null;policy=classic;dsn=DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_4772;dbm_type=SDBM_File;f_lockfile=0 ok 6 - should connect to dbi:Gofer:transport=null;policy=classic;dsn=DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_4772;dbm_type=SDBM_File;f_lockfile=0 ok 7 ok 8 ok 9 ok 10 - The object isa DBI::st ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 - go_response executed flag should be true ok 18 ok 19 ok 20 ok 21 # Testing go_request_count and caching of simple values ok 22 ok 23 ok 24 # use_remote=0 (policy=classic, transport=null) HASH(0x31524c0) ok 25 ok 26 ok 27 ok 28 # skip caching of metadata methods returning sth not yet implemented ok 29 # skip caching of metadata methods returning sth not yet implemented ok 30 ok 31 # ============= # Testing null transport with rush policy # dbi:Gofer:transport=null;policy=rush;dsn=DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_4772;dbm_type=SDBM_File;f_lockfile=0 ok 32 - should connect to dbi:Gofer:transport=null;policy=rush;dsn=DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_4772;dbm_type=SDBM_File;f_lockfile=0 ok 33 ok 34 ok 35 ok 36 - The object isa DBI::st ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 - go_response executed flag should be true ok 44 ok 45 ok 46 ok 47 # Testing go_request_count and caching of simple values ok 48 ok 49 ok 50 # use_remote=0 (policy=rush, transport=null) HASH(0x3166ab0) ok 51# Looks like you failed 1 test of 57. ok 52 ok 53 ok 54 # skip caching of metadata methods returning sth not yet implemented ok 55 # skip caching of metadata methods returning sth not yet implemented ok 56 ok 57 1..57 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/57 subtests (less 4 skipped subtests: 52 okay) Test Summary Report ------------------- t\85gofer.t (Wstat: 256 Tests: 57 Failed: 1) Failed test: 5 Non-zero exit status: 1 Files=1, Tests=57, 0 wallclock secs ( 0.06 usr + 0.02 sys = 0.08 CPU) Result: FAIL C:\strawberry\cpan\build\DBI-1.617_903> I see: # dbi:Gofer:transport=null;policy=rush;dsn=DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_4772;dbm_type=SDBM_File;f_lockfile=0 f_dir => test_dir (), test_dir () uses the correct syntax for Windows, and will return C:\strawberry\cpan\build\DBI-1.617_903\test_output_6836 or alike, but that should be passed to f_dir with forward slashes? my @remote_dsns = DBI->data_sources( "dbi:DBM:", { dbm_type => $opt_dbm, f_lockfile => 0, f_dir => test_dir() } ); The first entry is DBI:DBM:f_dir=C\:\strawberry\cpan\build\DBI-1.617_903\test_output_6016;dbm_type=SDBM_File;f_lockfile=0 Is the DSN parser seeing those \'s as escapes to be able to escape the ':' in C: ? If you'd move the f_dir assignment from my @remote_dsns = DBI->data_sources( "dbi:DBM:", { dbm_type => $opt_dbm, f_lockfile => 0, } ); to my $dbh = DBI->connect($dsn, undef, undef, { RaiseError => 1, PrintError => 0, ShowErrorStatement => 1, f_dir => test_dir() } ); die "$test_run_tag aborted: $DBI::errstr\n" unless $dbh; # no point continuing ok $dbh, sprintf "should connect to %s", $dsn; all tests pass -- H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ using perl5.00307 .. 5.14 porting perl5 on HP-UX, AIX, and openSUSE http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/ http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/