On Sun, 9 Mar 2014 13:29:32 +0000, Tim Bunce <tim.bu...@pobox.com>
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/

Reply via email to