Am 06.08.2013 um 10:05 schrieb H.Merijn Brand <h.m.br...@xs4all.nl>:
> On Tue, 6 Aug 2013 09:46:39 +0200, "H.Merijn Brand" > <h.m.br...@xs4all.nl> wrote: > >> On Mon, 5 Aug 2013 19:06:33 +0200, Jens Rehsack <rehs...@gmail.com> >> wrote: >> >>> Hi, >>> >>> everybody who concern: from my point of view, DBI::Test is ready for first >>> release to the world. >>> It's not suitable to wait until it's perfect - the strategy is, to release >>> early and hopefully often with usable extensions. >>> >>> If there're no objections, I upload DBI-Test-0.001.tar.gz tomorrow morning. >>> >>> For everybody who wants to see the state and how it's used, the dbi-test >>> branches of DBI and SQL-Statement shows a rough how-to. >>> >>> Cheers >> >> Just a quick run on the git checkout using the default environment (no >> bleading edge in $PERL5LIB) - I had to force-reinstall DBD::mysql : >> >> Just to see if all my database interfaces work as expected: >> >> Tie-Hash-DBD > make test >> /pro/bin/perl5.18.0 "-MExtUtils::Command::MM" "-e" "test_harness(0, >> 'blib/lib', 'blib/arch')" t/*.t >> t/00_pod.t ...... ok >> t/01_pod.t ...... ok >> t/10_load.t ..... ok >> t/20_SQLite.t ... ok >> t/21_bulk.t ..... ok >> t/22_stream.t ... ok >> t/23_persist.t .. ok >> t/25_SQLite.t ... ok >> t/26_autoc.t .... ok >> t/30_Pg.t ....... ok >> t/31_bulk.t ..... ok >> t/32_stream.t ... ok >> t/33_persist.t .. ok >> t/35_Pg.t ....... ok >> t/36_autoc.t .... ok >> t/40_CSV.t ...... ok >> t/41_bulk.t ..... ok >> t/42_stream.t ... ok >> t/43_persist.t .. ok >> t/45_CSV.t ...... ok >> t/50_mysql.t .... ok >> t/51_bulk.t ..... ok >> t/52_stream.t ... ok >> t/53_persist.t .. ok >> t/55_mysql.t .... ok >> t/56_autoc.t .... ok >> t/60_Oracle.t ... skipped: Not a testable ORACLE env >> t/61_bulk.t ..... skipped: Not a testable ORACLE env >> t/62_stream.t ... skipped: Not a testable ORACLE env >> t/63_persist.t .. skipped: Not a testable ORACLE env >> t/65_Oracle.t ... skipped: Not a testable ORACLE env >> t/66_autoc.t .... skipped: Not a testable ORACLE env > > In an Oracle env > > t/60_Oracle.t ... ok > t/61_bulk.t ..... ok > t/62_stream.t ... ok > t/63_persist.t .. ok > t/65_Oracle.t ... ok > t/66_autoc.t .... ok > >> t/70_Unify.t .... skipped: Not a testable Unify env >> t/71_bulk.t ..... skipped: Not a testable Unify env >> t/72_stream.t ... skipped: Not a testable Unify env >> t/73_persist.t .. skipped: Not a testable Unify env >> t/75_Unify.t .... skipped: Not a testable Unify env >> All tests successful. >> Files=37, Tests=560, 44 wallclock secs ( 0.21 usr 0.05 sys + 6.74 cusr >> 0.84 csys = 7.84 CPU) >> Result: PASS >> >> So, DBI-Test-git … >> >> $ git pull --all >> $ git remote prune origin >> $ git clean -dfx >> $ perl Makefile.PL >> Checking if your kit is complete... >> Looks good >> Writing Makefile for DBI::Test >> Writing MYMETA.yml and MYMETA.json >> $ make test >> : >> t/basic/dvc_connect.t ......... ok >> t/basic/dvc_disconnect.t ...... ok >> t/basic/dvd_connect.t ......... ok >> t/basic/dvd_disconnect.t ...... ok >> t/basic/dve_connect.t ......... ok >> t/basic/dve_disconnect.t ...... ok >> t/basic/dvf_connect.t ......... ok >> t/basic/dvf_disconnect.t ...... ok >> t/basic/dvm_connect.t ......... install_driver(mysql) failed: Attempt to >> reload DBD/mysql.pm aborted. >> Compilation failed in require at (eval 158) line 3. > > With DBI->trace (4) in front of that connect: > > t/basic/dvm_connect.t ......... DBI 1.628 (PurePerl) dispatch trace level > set to 4 > install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted. > Compilation failed in require at (eval 158) line 3. > > at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. > > Why pure-perl? And /if/ pure-perl, there is probably no use in testing > XS DBD's Yeah - right. But without that, it doesn't load from DBI's Makefile.PL. And no one answered in IRC :P > With this change: > > diff --git a/lib/DBI/Mock.pm b/lib/DBI/Mock.pm > index 510ce36..bcfcde4 100644 > --- a/lib/DBI/Mock.pm > +++ b/lib/DBI/Mock.pm > @@ -483,7 +483,7 @@ sub _miss_dbi > defined $_have_dbi and return !$_have_dbi; > $_have_dbi = 0; > eval qq{ > - \$ENV{DBI_PUREPERL} = 2; # we only want to know if it's there ... > + #\$ENV{DBI_PUREPERL} = 2; # we only want to know if it's there ... > require DBI; > \$_have_dbi = 1; > }; > > I get much further: > > t/basic/dvc_connect.t ......… ok You should probably add some kind of CONTAINED_DBDS => [] as DBI::Test::Conf::setup() argument > t/basic/dvc_disconnect.t ...... ok > t/basic/dvd_connect.t ......... ok > t/basic/dvd_disconnect.t ...... ok > t/basic/dve_connect.t ......... ok > t/basic/dve_disconnect.t ...... ok > t/basic/dvf_connect.t ......... ok > t/basic/dvf_disconnect.t ...... ok > t/basic/dvm_connect.t ......... ok > t/basic/dvm_disconnect.t ...... ok > t/basic/dvn_connect.t ......... ok > t/basic/dvn_disconnect.t ...... ok > t/basic/dvo_connect.t ......... install_driver(Oracle) failed: Attempt to > reload DBD/Oracle.pm aborted. > Compilation failed in require at (eval 71) line 3. > > at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. > t/basic/dvo_connect.t ......... Dubious, test returned 2 (wstat 512, 0x200) > No subtests run > t/basic/dvo_disconnect.t ...... install_driver(Oracle) failed: Attempt to > reload DBD/Oracle.pm aborted. > Compilation failed in require at (eval 71) line 3. > > at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. > t/basic/dvo_disconnect.t ...... Dubious, test returned 2 (wstat 512, 0x200) > No subtests run > t/basic/dvp_connect.t ......... ok > t/basic/dvp_disconnect.t ...... ok > t/basic/dvs_connect.t ......... ok > t/basic/dvs_disconnect.t ...... ok > t/basic/mvb_dvn_connect.t ..... ok > t/basic/mvb_dvn_disconnect.t .. ok > xt/00_pod.t ................... ok > xt/01_pod.t ................... ok > xt/10_perlversion.t ........... ok > > in a valid Oracle env > > t/basic/dvo_connect.t ......... DBI connect('','',...) failed: ORA-01017: > invalid username/password; logon denied (DBD ERROR: OCISessionBegin) at > /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. > t/basic/dvo_connect.t ......... 1/? > # Failed test 'basic connect' > # at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/connect.pm > line 16. > > # Failed test 'dbh is active' > # at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/connect.pm > line 20. > DBI connect('','',...) failed: ORA-01017: invalid username/password; logon > denied (DBD ERROR: OCISessionBegin) at > /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. > t/basic/dvo_connect.t ......... 3/? > # Failed test 'basic connect' > # at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/connect.pm > line 29. > DBI connect('','',...) failed: ORA-01017: invalid username/password; logon > denied (DBD ERROR: OCISessionBegin) at > /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. > > # Failed test 'connect without attr' > # at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/connect.pm > line 46. > Use of uninitialized value $got in numeric eq (==) at (eval in cmp_ok) > /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/connect.pm line 50. > > # Failed test 'AutoCommit == 1' > # at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/connect.pm > line 50. > Use of uninitialized value $val in addition (+) at > /pro/lib/perl5/5.18.0/Test/Builder.pm line 917. > # got: undef > # expected: 1 > Can't call method "FETCH" on unblessed reference at > /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/connect.pm line 51. > # Tests were run but no plan was declared and done_testing() was not seen. > t/basic/dvo_connect.t ......... Dubious, test returned 255 (wstat 65280, > 0xff00) > Failed 5/5 subtests > t/basic/dvo_disconnect.t ...... DBI connect('','',...) failed: > [unixODBC][Driver Manager]Data source name not found, and no default driver > specified (SQL-IM002) at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line > 31. > t/basic/dvo_disconnect.t ...... 1/? > # Failed test 'basic connect' > # at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/disconnect.pm > line 20. > Can't call method "disconnect" on an undefined value at > /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test/Case/basic/disconnect.pm line 22. > # Tests were run but no plan was declared and done_testing() was not seen. > t/basic/dvo_disconnect.t ...... Dubious, test returned 255 (wstat 65280, > 0xff00) > Failed 1/1 subtests > > The credentials do not look at ORACLE_USERID No, but you're free to create a DBI::Test(::Oracle)::DSN::Provider::Oracle which improves. Or you place a nice dbi-test.json - as your proposal was. >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvm_connect.t ......... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/dvm_disconnect.t ...... install_driver(mysql) failed: Attempt to >> reload DBD/mysql.pm aborted. >> Compilation failed in require at (eval 158) line 3. Same here. Create a nice DSN Provider and/or a suitable configuration file. >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvm_disconnect.t ...... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/dvn_connect.t ......... ok >> t/basic/dvn_disconnect.t ...... ok >> t/basic/dvo_connect.t ......... install_driver(Oracle) failed: Attempt to >> reload DBD/Oracle.pm aborted. >> Compilation failed in require at (eval 158) line 3. >> >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvo_connect.t ......... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/dvo_disconnect.t ...... install_driver(Oracle) failed: Attempt to >> reload DBD/Oracle.pm aborted. >> Compilation failed in require at (eval 158) line 3. >> >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvo_disconnect.t ...... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/dvp_connect.t ......... install_driver(Pg) failed: Attempt to reload >> DBD/Pg.pm aborted. >> Compilation failed in require at (eval 159) line 3. >> >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvp_connect.t ......... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/dvp_disconnect.t ...... install_driver(Pg) failed: Attempt to reload >> DBD/Pg.pm aborted. >> Compilation failed in require at (eval 159) line 3. >> >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvp_disconnect.t ...... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/dvs_connect.t ......... install_driver(SQLite) failed: Attempt to >> reload DBD/SQLite.pm aborted. >> Compilation failed in require at (eval 158) line 3. >> >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvs_connect.t ......... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/dvs_disconnect.t ...... install_driver(SQLite) failed: Attempt to >> reload DBD/SQLite.pm aborted. >> Compilation failed in require at (eval 158) line 3. >> >> at /pro/3gl/CPAN/DBI-Test-git/blib/lib/DBI/Test.pm line 31. >> t/basic/dvs_disconnect.t ...... Dubious, test returned 2 (wstat 512, 0x200) >> No subtests run >> t/basic/mvb_dvn_connect.t ..... ok >> t/basic/mvb_dvn_disconnect.t .. ok >> xt/00_pod.t ................... ok >> xt/01_pod.t ................... ok >> xt/10_perlversion.t ........... ok >> >> Test Summary Report >> ------------------- >> t/basic/dvc_connect.t (Wstat: 0 Tests: 18 Failed: 0) >> TODO passed: 14 >> t/basic/dvc_disconnect.t (Wstat: 0 Tests: 19 Failed: 0) >> TODO passed: 8-9, 14-15, 18 >> t/basic/dvd_connect.t (Wstat: 0 Tests: 18 Failed: 0) >> TODO passed: 14 >> t/basic/dvd_disconnect.t (Wstat: 0 Tests: 19 Failed: 0) >> TODO passed: 8-9, 14-15, 18 >> t/basic/dve_connect.t (Wstat: 0 Tests: 16 Failed: 0) >> TODO passed: 12 >> t/basic/dve_disconnect.t (Wstat: 0 Tests: 19 Failed: 0) >> TODO passed: 8-9, 14-15, 18 >> t/basic/dvf_connect.t (Wstat: 0 Tests: 18 Failed: 0) >> TODO passed: 14 >> t/basic/dvf_disconnect.t (Wstat: 0 Tests: 19 Failed: 0) >> TODO passed: 8-9, 14-15, 18 >> t/basic/dvm_connect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/dvm_disconnect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/dvn_connect.t (Wstat: 0 Tests: 16 Failed: 0) >> TODO passed: 12 >> t/basic/dvn_disconnect.t (Wstat: 0 Tests: 19 Failed: 0) >> TODO passed: 8-9, 14-15, 18 >> t/basic/dvo_connect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/dvo_disconnect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/dvp_connect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/dvp_disconnect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/dvs_connect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/dvs_disconnect.t (Wstat: 512 Tests: 0 Failed: 0) >> Non-zero exit status: 2 >> Parse errors: No plan found in TAP output >> t/basic/mvb_dvn_connect.t (Wstat: 0 Tests: 16 Failed: 0) >> TODO passed: 12 >> t/basic/mvb_dvn_disconnect.t (Wstat: 0 Tests: 19 Failed: 0) >> TODO passed: 8-9, 14-15, 18 >> Files=23, Tests=276, 6 wallclock secs ( 0.14 usr 0.04 sys + 6.24 cusr >> 0.23 csys = 6.65 CPU) >> Result: FAIL >> Failed 8/23 test programs. 0/276 subtests failed. >> make: *** [test_dynamic] Error 255 >> >> >> > > > -- > H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ > using perl5.00307 .. 5.19 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/ Cheers -- Jens Rehsack rehs...@gmail.com