Control: Forwarded 881291 https://github.com/DBD-SQLite/DBD-SQLite/issues/28

> https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/libdbd-sqlite3-perl.html
> 
> ...
> Test Summary Report
> -------------------
> t/virtual_table/rt_99748.t                          (Wstat: 512 Tests: 24 
> Failed: 1)
>   Failed test:  24
>   Non-zero exit status: 2
>   Parse errors: Bad plan.  You planned 52 tests but ran 24.
> Files=105, Tests=3555, 22 wallclock secs ( 0.81 usr  0.26 sys + 12.46 cusr  
> 1.88 csys = 15.41 CPU)
> Result: FAIL
> Failed 1/105 test programs. 1/3555 subtests failed.
> Makefile:1078: recipe for target 'test_dynamic' failed
> make[1]: *** [test_dynamic] Error 2


I can confirm that it fails with libsqlite3-dev 3.21.0-1 and does not fail
with 3.20.1-2, all else being equal.

The test fails because of two warnings about uninitialized values, which
lead to a syntax error (missing operator) in the generated/eval'd code:

couldn't eval q{sub {my ($self, $i) = @_; my $row = $self->row($i); 
(defined($row->[1]) && defined($vals[0]) && $row->[1]  $vals[0])}} : syntax 
error at (eval 19) line 1, near "]  $vals"

#   Failed test 'no warnings'
#   at /usr/share/perl/5.26/Test/Builder.pm line 135.
# There were 2 warning(s)
#       Previous test 23 'SELECT rowid FROM vtb WHERE c = 'six''
#       Use of uninitialized value $op in pattern match (m//) at 
/home/fs/src/pkg-perl/git/packages/libdbd-sqlite3-perl/blib/lib/DBD/SQLite/VirtualTable/PerlData.pm
 line 104.
#  at 
/home/fs/src/pkg-perl/git/packages/libdbd-sqlite3-perl/blib/lib/DBD/SQLite/VirtualTable/PerlData.pm
 line 104.
#       
DBD::SQLite::VirtualTable::PerlData::BEST_INDEX(DBD::SQLite::VirtualTable::PerlData=HASH(0x557070b2ec60),
 ARRAY(0x557070b277e8), ARRAY(0x557070b271e8)) called at 
/home/fs/src/pkg-perl/git/packages/libdbd-sqlite3-perl/blib/lib/DBD/SQLite.pm 
line 202
#       DBD::SQLite::db::prepare(DBI::db=HASH(0x557070b15c60), "SELECT a FROM 
vtb WHERE b IS NULL ORDER BY a", undef) called at 
/usr/lib/x86_64-linux-gnu/perl5/5.26/DBI.pm line 1690
#       DBD::_::db::selectcol_arrayref(DBI::db=HASH(0x557070b15c60), "SELECT a 
FROM vtb WHERE b IS NULL ORDER BY a") called at t/virtual_table/rt_99748.t line 
80
#       main::test_table(DBI::db=HASH(0x557070b15d08), "vtb") called at 
t/virtual_table/rt_99748.t line 57
# 
# ----------
#       Previous test 23 'SELECT rowid FROM vtb WHERE c = 'six''
#       Use of uninitialized value $op in concatenation (.) or string at 
/home/fs/src/pkg-perl/git/packages/libdbd-sqlite3-perl/blib/lib/DBD/SQLite/VirtualTable/PerlData.pm
 line 108.
#  at 
/home/fs/src/pkg-perl/git/packages/libdbd-sqlite3-perl/blib/lib/DBD/SQLite/VirtualTable/PerlData.pm
 line 108.
#       
DBD::SQLite::VirtualTable::PerlData::BEST_INDEX(DBD::SQLite::VirtualTable::PerlData=HASH(0x557070b2ec60),
 ARRAY(0x557070b277e8), ARRAY(0x557070b271e8)) called at 
/home/fs/src/pkg-perl/git/packages/libdbd-sqlite3-perl/blib/lib/DBD/SQLite.pm 
line 202
#       DBD::SQLite::db::prepare(DBI::db=HASH(0x557070b15c60), "SELECT a FROM 
vtb WHERE b IS NULL ORDER BY a", undef) called at 
/usr/lib/x86_64-linux-gnu/perl5/5.26/DBI.pm line 1690
#       DBD::_::db::selectcol_arrayref(DBI::db=HASH(0x557070b15c60), "SELECT a 
FROM vtb WHERE b IS NULL ORDER BY a") called at t/virtual_table/rt_99748.t line 
80
#       main::test_table(DBI::db=HASH(0x557070b15d08), "vtb") called at 
t/virtual_table/rt_99748.t line 57
# 
# Looks like your test exited with 2 just after 24.
t/virtual_table/rt_99748.t ............................

Florian

Reply via email to