Front page | perl.dbi.users |
Postings from June 2009
Re: make test fails on DBD::Oracle - t/26exe_array fail
Thread Previous
|
Thread Next
From:
Martin J. Evans
Date:
June 8, 2009 06:59
Subject:
Re: make test fails on DBD::Oracle - t/26exe_array fail
Message ID:
4A2D18F0.1010402@easysoft.com
John Scoles wrote:
> I think there is a bug in 11g EE that is causing 026exe_array to fail on
> test #2 I have reported it to Oracle but they are quite on the matter.
Chalk me down for that problem too on our shiny new Oracle 11G with
DBD::Oracle 1.23 (10G client end):
[martin DBD-Oracle-1.23]$ prove -vb t/26exe_array.t
t/26exe_array....1..17
ok 1 - use DBI;
ok 2 - The object isa DBI::db
ok 3 - ... execute_array should return true
ok 4 - ... we should have 10 tuple_status
ok 5 - ... execute_array should return false
ok 6 - ... we should have 10 tuple_status
ok 7 - ... we should get text
ok 8 - ... we should get -1
ok 9 - ... we should get a warning
ok 10 - ... execute_for_fetch should return true
not ok 11 - ... we should have 19 tuple_status
# Failed test '... we should have 19 tuple_status'
# at t/26exe_array.t line 128.
# got: 10
# expected: 19
ok 12 - ... execute_array should return flase
ok 13 - ... we should have 10 tuple_status
not ok 14 - ... we should have 48 rows
# Failed test '... we should have 48 rows'
# at t/26exe_array.t line 154.
# got: 30
# expected: 48
ok 15 - ... execute_array should return true
ok 16 - ... \#5 should be a warning
ok 17 - ... we should have 10 tuple_status
# Looks like you failed 2 tests of 17.
dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 11, 14
Failed 2/17 tests, 88.24% okay
Failed Test Stat Wstat Total Fail List of Failed
-------------------------------------------------------------------------------
t/26exe_array.t 2 512 17 2 11 14
Failed 1/1 test scripts. 2/17 subtests failed.
Files=1, Tests=17, 0 wallclock secs ( 0.15 cusr + 0.03 csys = 0.18 CPU)
Failed 1/1 test programs. 2/17 subtests failed.
The problem appears to be that if any 1 or more inserts in the array
fail they all fail. The following bit of the test:
@var2 = (2,2,2,2,'s',2,2,2,2,2);
{
# trap the intentional failure of one of these rows
my $warn_count = 0;
local $SIG{__WARN__} = sub {
my $msg = shift;
if ($warn_count++ == 0 && $msg =~ /ORA-24381/) {
# this is the first warning, and it's the expected one
return;
}
# unexpected warning, pass it through
warn $msg;
};
ok (!$sth->execute_array(
{ArrayTupleStatus => $tuple_status},
\@var1,
\@var2,
\@var2,
), '... execute_array should return false');
tests you cannot insert an 's' into an integer but that makes all the
others fail. Since subsequent tests rely on these rows being inserted
the failures mushroom.
> The other problems you are encountering are due to the user who is
> running the test not having sufficient privs on the DB.
>
> Once I get access to an 11g EE box I might be able to look into it deeper.
>
> cheerrs
Martin
--
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
>
> georgemp@gmail.com wrote:
>> Hi,
>> I am trying to install DBD::Oracle against perl v5.8.8. I am
>> running Oracle Oracle Database 11g Enterprise Edition Release
>> 11.1.0.6.0 on Ubuntu 8.04. The perl Makefile.pl and make seemed to
>> work fine. 'make test' however fails against t/26exe_array. I see some
>> other errors in the output, but, they don't seem to be reported in the
>> final summary.
>>
>> make test
>> PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
>> "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
>> t/01base................# Test loading DBI, DBD::Oracle and version
>> t/01base................ok
>> t/10general.............ok
>> t/12impdata.............ok
>> t/14threads.............ok
>> t/15nls.................ok
>> t/20select..............ok
>> t/21nchar...............ok
>> t/22nchar_al32utf8......ok
>> t/22nchar_utf8..........ok
>> t/23wide_db.............skipped: Database character set is not Unicode
>> t/23wide_db_8bit........skipped: Database character set is not Unicode
>> t/23wide_db_al32utf8....skipped: Database character set is not Unicode
>> t/24implicit_utf8.......ok
>> t/25plsql...............ok
>> t/26exe_array...........2/14
>>
>> t/26exe_array........... Dubious, test returned 2 (wstat 512, 0x200)
>> Failed 2/14 subtests
>> t/28array_bind..........ok
>> t/30long................ok
>> t/31lob.................1/9 DBD::Oracle::db do failed: ORA-00942:
>> table or view does not exist (DBD ERROR: error possibly near <*>
>> indicator at char 14 in 'select * from <*>v$session where 0=1') [for
>> Statement "select * from v$session where 0=1"] at t/31lob.t line 64.
>> t/31lob.................ok
>> t/31lob_extended........ok
>> t/32xmltype.............ok
>> t/34pres_lobs...........ok
>> t/40ph_type.............1/19 Placeholder behaviour for ora_type=1
>> VARCHAR2 (the default) varies with Oracle version.
>> Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x
>> Your system doesn't. If that seems odd, let us know.
>> t/40ph_type.............ok
>> t/50cursor..............1/12 Can't determine open_cursors from v
>> $parameter, so using default
>> t/50cursor..............ok
>> t/51scroll..............ok
>> t/55nested..............ok
>> t/56embbeded............ok
>> t/60reauth..............skipped: ORACLE_USERID_2 not defined.
>> t/70meta................ok
>> t/80ora_charset.........ok
>>
>> Test Summary Report
>> -------------------
>> t/26exe_array (Wstat: 512 Tests: 14 Failed: 2)
>> Failed tests: 11, 14
>> Non-zero exit status: 2
>> Files=29, Tests=1100, 35 wallclock secs ( 0.17 usr 0.30 sys + 4.24
>> cusr 6.41 csys = 11.12 CPU)
>> Result: FAIL
>> Failed 1/29 test programs. 2/1100 subtests failed.
>> make: *** [test_dynamic] Error 255
>>
>> Any ideas on how to resolve this would be much appreciated? I have
>> tried googling quite a bit without much success. Or should I just
>> ignore the errors and try to force install? Thanks
>>
>> Regards
>> George M.P.
>>
>>
>
>
>
Thread Previous
|
Thread Next