On Sun, 9 Mar 2014 13:29:32 +0000, Tim Bunce <[email protected]>
wrote:
> On Tue, Feb 18, 2014 at 02:50:43PM +0000, Tim Bunce wrote:
> > On Tue, Feb 18, 2014 at 10:15:53AM +0100, H.Merijn Brand wrote:
> > >
> > > I see a serious weekness. Don't know if it is Test::Database or
> > > DBI::Test, but the current templates do not seem to be able to see a
> > > difference between undef and "" for username and password:
> > >
> > > $ cat out/Default/Pg/Default/DBIT_sth_ro/BasicPrepareExecuteSelect.t
> > > #!perl
> > > use lib "lib";
> > > $ENV{DBI_PASS} = "";
> > > $ENV{DBI_USER} = "";
> > > $ENV{DBI_DSN} = "dbi:Pg:dbname=test";
> >
> > > Drivers allow username and/or password to be undefined, but they also
> > > allow username/password to be the empty string, and these are two
> > > different things!
> >
> > The root cause is in Test::Database. I've opened a case for it:
> > https://rt.cpan.org/Ticket/Display.html?id=93128
>
> BooK has fixed that in T:DB v1.111 - please retry.
Hmmm, I don't know about "fixed", but I installed that anyway.
Reply includes both the Test::Database and the tumbler results
BOOK/Test-Database-1.111.tar.gz
/usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /pro/bin/perl5.18.2 "-MExtUtils::Command::MM"
"-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/00-load.t ................... 1/10 YAML::Tiny failed to classify line
'dbi:CSV::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
# Tested Test::Database 1.111, Perl 5.018002, /pro/bin/perl5.18.2
t/00-load.t ................... ok
t/000-report-versions-tiny.t .. #
#
# Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08
# perl: 5.018002 (wanted 5.006) on linux from /pro/bin/perl5.18.2
#
# Carp => 1.32 (want any version)
# Cwd => 3.40 (want any version)
# DBD::DBM => 0.08 (want any version)
# DBI => 1.631 (want any version)
# ExtUtils::MakeMaker => 6.9 (want 6.30)
# File::Find => 1.23 (want any version)
# File::HomeDir => 1.00 (want any version)
# File::Path => 2.09 (want any version)
# File::Spec => 3.40 (want any version)
# File::Temp => 0.2304 (want any version)
# List::Util => 1.38 (want any version)
# Pod::Coverage::TrustPod => 0.100003 (want any version)
# SQL::Statement => 1.405 (want any version)
# Test::CPAN::Meta => 0.23 (want any version)
# Test::More => 1.001002 (want 0.88)
# Test::Pod => 1.48 (want 1.41)
# Test::Pod::Coverage => 1.08 (want 1.08)
# YAML::Tiny => 1.61 (want any version)
# strict => 1.07 (want any version)
# version => 0.9908 (want 0.9901)
# warnings => 1.18 (want any version)
#
# Thanks for using my code. I hope it works for you.
# If not, please try and include this output in the bug report.
# That will help me reproduce the issue and solve your problem.
#
t/000-report-versions-tiny.t .. ok
t/08-handle.t ................. ok
t/09-handle-dsn.t ............. ok
t/10-drivers.t ................ YAML::Tiny failed to classify line 'dbi:CSV::'
at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
t/10-drivers.t ................ 1/7
# Failed test 'At least one driver loaded'
# at t/10-drivers.t line 101.
# '0'
# >=
# '1'
# Looks like you failed 1 test of 7.
t/10-drivers.t ................ Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/7 subtests
t/10-list_drivers.t ........... YAML::Tiny failed to classify line 'dbi:CSV::'
at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:CSV::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
t/10-list_drivers.t ........... 1/3
# Failed test 'list_drivers()'
# at t/10-list_drivers.t line 31.
# Structures begin differing at:
# $got->[0] = Does not exist
# $expected->[0] = 'CSV'
# Looks like you failed 1 test of 3.
t/10-list_drivers.t ........... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/3 subtests
t/11-available_dbname.t ....... ok
t/11-make_dsn.t ............... ok
t/11-version_matches.t ........ ok
t/12-load.t ................... ok
t/20-handles.t ................ YAML::Tiny failed to classify line 'dbi:CSV::'
at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
t/20-handles.t ................ ok
t/25-sql.t .................... YAML::Tiny failed to classify line 'dbi:CSV::'
at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
# SQL::Statement 1.405
t/25-sql.t .................... skipped: No drivers available for testing
t/pod-coverage.t .............. YAML::Tiny failed to classify line 'dbi:CSV::'
at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/home/merijn/.cpan/build/Test-Database-1.111-O2MmHq/blib/lib/Test/Database/Driver.pm
line 102.
t/pod-coverage.t .............. ok
t/pod.t ....................... ok
t/release-distmeta.t .......... skipped: these tests are for release candidate
testing
t/release-pod-coverage.t ...... skipped: these tests are for release candidate
testing
t/release-pod-syntax.t ........ skipped: these tests are for release candidate
testing
Test Summary Report
-------------------
t/10-drivers.t (Wstat: 256 Tests: 7 Failed: 1)
Failed test: 6
Non-zero exit status: 1
t/10-list_drivers.t (Wstat: 256 Tests: 3 Failed: 1)
Failed test: 3
Non-zero exit status: 1
Files=17, Tests=187, 2 wallclock secs ( 0.06 usr 0.01 sys + 1.60 cusr 0.10
csys = 1.77 CPU)
Result: FAIL
Failed 2/17 test programs. 2/187 subtests failed.
make: *** [test_dynamic] Error 255
BOOK/Test-Database-1.111.tar.gz
/usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports BOOK/Test-Database-1.111.tar.gz
Running make install
make test had returned bad status, won't install without force
$ cat /home/merijn/.local/share/.test-database
# Postgres
dsn = dbi:Pg:dbname=test
# SQLite
dsn = dbi:SQLite:dbname=/tmp/test.db
# CSV
dsn = dbi:CSV:f_ext=.csv/r
# MySQL
dsn = dbi:mysql:database=test
# Oracle
> Tim.
% ux
lx09 Linux 3.11.10-7-desktop [openSUSE 13.1 (Bottle)] i386 Core(TM) i7-2620M
CPU @ 2.70GHz/2646(4) i686 8032 Mb
% perl
-MV=DBI,Test::Database,Class::Tiny,DBD::SQLite,DBD::Pg,DBD::CSV,DBD::Firebird,DBD::mysql,YAML::Tiny
DBI
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/DBI.pm: 1.631
Test::Database
/pro/lib/perl5/site_perl/5.18.2/Test/Database.pm: 1.111
Class::Tiny
/pro/lib/perl5/site_perl/5.18.2/Class/Tiny.pm: 0.014
DBD::SQLite
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/DBD/SQLite.pm: 1.40
DBD::Pg
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/DBD/Pg.pm: 3.0.0
DBD::CSV
/pro/lib/perl5/site_perl/5.18.2/DBD/CSV.pm: 0.41
DBD::Firebird
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/DBD/Firebird.pm:
1.17
DBD::mysql
/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/DBD/mysql.pm: 4.026
YAML::Tiny
/pro/lib/perl5/site_perl/5.18.2/YAML/Tiny.pm: 1.61
% perl -v|grep version
This is perl 5, version 18, subversion 2 (v5.18.2) built for i686-linux-64int-ld
% cd sandbox/tim
% rm -rf out* && perl tumbler.pl && prove -j4 -sr out
Ignoring DBD::Oracle: install_driver(Oracle) failed: Can't load
'/pro/lib/perl5/site_perl/5.18.2/i686-linux-64int-ld/auto/DBD/Oracle/Oracle.so'
for module DBD::Oracle: libnnz12.so: cannot open shared object file: No such
file or directory at /pro/lib/perl5/5.18.2/i686-linux-64int-ld/DynaLoader.pm
line 190.
YAML::Tiny failed to classify line 'dbi:CSV::' at
/pro/lib/perl5/site_perl/5.18.2/Test/Database/Driver.pm line 102.
YAML::Tiny failed to classify line 'dbi:DBM::' at
/pro/lib/perl5/site_perl/5.18.2/Test/Database/Driver.pm line 102.
YAML::Tiny failed to classify line 'dbi:SQLite::' at
/pro/lib/perl5/site_perl/5.18.2/Test/Database/Driver.pm line 102.
Using Test::Database config /home/merijn/.local/share/.test-database
CSV has 1 variants for DSN dbi:CSV:f_ext=.csv/r
Writing out/Default/CSV/Default/dbh_ro/GetInfo.t
Writing out/Default/CSV/Default/dbh_ro/SelectMultiThread.t
Writing out/Default/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t
Skipped DBD::DBM - no Test::Database dsn config using the DBM driver
Skipped DBD::ExampleP - no Test::Database dsn config using the ExampleP driver
Skipped DBD::File - no Test::Database dsn config using the File driver
Skipped DBD::Firebird - no Test::Database dsn config using the Firebird driver
Skipped DBD::ODBC - no Test::Database dsn config using the ODBC driver
Pg has 1 variants for DSN dbi:Pg:dbname=test
Writing out/Default/Pg/Default/dbh_ro/GetInfo.t
Writing out/Default/Pg/Default/dbh_ro/SelectMultiThread.t
Writing out/Default/Pg/Default/sth_ro/BasicPrepareExecuteSelect.t
SQLite has 1 variants for DSN dbi:SQLite:dbname=/tmp/test.db
Writing out/Default/SQLite/Default/dbh_ro/GetInfo.t
Writing out/Default/SQLite/Default/dbh_ro/SelectMultiThread.t
Writing out/Default/SQLite/Default/sth_ro/BasicPrepareExecuteSelect.t
Skipped DBD::Sponge - no Test::Database dsn config using the Sponge driver
mysql has 1 variants for DSN dbi:mysql:database=test
Writing out/Default/mysql/Default/dbh_ro/GetInfo.t
Writing out/Default/mysql/Default/dbh_ro/SelectMultiThread.t
Writing out/Default/mysql/Default/sth_ro/BasicPrepareExecuteSelect.t
CSV has 1 variants for DSN dbi:CSV:f_ext=.csv/r
Writing out/Default-gofer/CSV/Default/dbh_ro/GetInfo.t
Writing out/Default-gofer/CSV/Default/dbh_ro/SelectMultiThread.t
Writing out/Default-gofer/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t
Pg has 1 variants for DSN dbi:Pg:dbname=test
Writing out/Default-gofer/Pg/Default/dbh_ro/GetInfo.t
Writing out/Default-gofer/Pg/Default/dbh_ro/SelectMultiThread.t
Writing out/Default-gofer/Pg/Default/sth_ro/BasicPrepareExecuteSelect.t
SQLite has 1 variants for DSN dbi:SQLite:dbname=/tmp/test.db
Writing out/Default-gofer/SQLite/Default/dbh_ro/GetInfo.t
Writing out/Default-gofer/SQLite/Default/dbh_ro/SelectMultiThread.t
Writing out/Default-gofer/SQLite/Default/sth_ro/BasicPrepareExecuteSelect.t
mysql has 1 variants for DSN dbi:mysql:database=test
Writing out/Default-gofer/mysql/Default/dbh_ro/GetInfo.t
Writing out/Default-gofer/mysql/Default/dbh_ro/SelectMultiThread.t
Writing out/Default-gofer/mysql/Default/sth_ro/BasicPrepareExecuteSelect.t
CSV has 1 variants for DSN dbi:CSV:f_ext=.csv/r
Writing out/pureperl/CSV/Default/dbh_ro/GetInfo.t
Writing out/pureperl/CSV/Default/dbh_ro/SelectMultiThread.t
Writing out/pureperl/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t
CSV has 1 variants for DSN dbi:CSV:f_ext=.csv/r
Writing out/pureperl-gofer/CSV/Default/dbh_ro/GetInfo.t
Writing out/pureperl-gofer/CSV/Default/dbh_ro/SelectMultiThread.t
Writing out/pureperl-gofer/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t
out/pureperl/CSV/Default/dbh_ro/SelectMultiThread.t .................. skipped:
threads not supported
out/Default-gofer/SQLite/Default/dbh_ro/SelectMultiThread.t .......... skipped:
threads not supported
out/Default-gofer/SQLite/Default/dbh_ro/GetInfo.t .................... ok
out/Default/Pg/Default/sth_ro/BasicPrepareExecuteSelect.t ............ ok
out/Default/SQLite/Default/dbh_ro/GetInfo.t .......................... ok
out/Default-gofer/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t ..... ok
out/Default-gofer/Pg/Default/dbh_ro/SelectMultiThread.t .............. skipped:
threads not supported
out/Default/Pg/Default/dbh_ro/GetInfo.t .............................. ok
out/Default-gofer/CSV/Default/dbh_ro/GetInfo.t ....................... ok
out/Default-gofer/CSV/Default/dbh_ro/SelectMultiThread.t ............. skipped:
threads not supported
out/Default/mysql/Default/dbh_ro/GetInfo.t ........................... ok
out/Default/SQLite/Default/sth_ro/BasicPrepareExecuteSelect.t ........ ok
out/Default/mysql/Default/sth_ro/BasicPrepareExecuteSelect.t ......... ok
out/Default-gofer/mysql/Default/dbh_ro/SelectMultiThread.t ........... skipped:
threads not supported
out/Default/mysql/Default/dbh_ro/SelectMultiThread.t ................. skipped:
threads not supported
out/Default/CSV/Default/dbh_ro/SelectMultiThread.t ................... skipped:
threads not supported
out/Default/CSV/Default/dbh_ro/GetInfo.t ............................. ok
out/Default-gofer/Pg/Default/dbh_ro/GetInfo.t ........................ ok
out/Default-gofer/mysql/Default/sth_ro/BasicPrepareExecuteSelect.t ... ok
out/pureperl-gofer/CSV/Default/dbh_ro/GetInfo.t ...................... ok
out/Default/Pg/Default/dbh_ro/SelectMultiThread.t .................... skipped:
threads not supported
out/Default-gofer/Pg/Default/sth_ro/BasicPrepareExecuteSelect.t ...... ok
out/pureperl-gofer/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t .... ok
out/Default/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t ........... ok
out/pureperl-gofer/CSV/Default/dbh_ro/SelectMultiThread.t ............ skipped:
threads not supported
out/Default/SQLite/Default/dbh_ro/SelectMultiThread.t ................ skipped:
threads not supported
out/Default-gofer/SQLite/Default/sth_ro/BasicPrepareExecuteSelect.t .. ok
out/pureperl/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t .......... ok
out/Default-gofer/mysql/Default/dbh_ro/GetInfo.t ..................... ok
out/pureperl/CSV/Default/dbh_ro/GetInfo.t ............................ ok
All tests successful.
Test Summary Report
-------------------
out/Default-gofer/SQLite/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 1-4
out/Default/Pg/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/Default/SQLite/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 1-4
out/Default-gofer/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/Default/Pg/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 1-5
out/Default-gofer/CSV/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 4
out/Default/mysql/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 1-5
out/Default/SQLite/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/Default/mysql/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/Default/CSV/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 4
out/Default-gofer/Pg/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 1-5
out/Default-gofer/mysql/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/pureperl-gofer/CSV/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 4
out/Default-gofer/Pg/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/pureperl-gofer/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/Default/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4, 12
out/Default-gofer/SQLite/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 4
out/pureperl/CSV/Default/sth_ro/BasicPrepareExecuteSelect.t (Wstat: 0
Tests: 15 Failed: 0)
TODO passed: 12
out/Default-gofer/mysql/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 1-5
out/pureperl/CSV/Default/dbh_ro/GetInfo.t (Wstat: 0
Tests: 5 Failed: 0)
TODO passed: 4
Files=30, Tests=200, 1 wallclock secs ( 0.12 usr 0.02 sys + 3.12 cusr 0.20
csys = 3.46 CPU)
Result: PASS
--
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/