[Posted this on the newsgroup previously, but then realised that's only an archive...]

I'm trying to compile DBD::Informix on a Linux server (or alternatively on a Solaris 10 server, but this shows the same problems) but I'm getting failures in the test suite.

OS: CentOS 6.4
Perl: This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
DBI: 1.63
DBD::Informix: 2013.0521
Informix SDK: 3.70 FC4 (i.e. clientsdk.3.70.FC4DE.LINUXx86.tar)

Output from perl Makefile.pl (with a few details obscured):

*** ExtUtils::AutoInstall version 0.63
*** Checking for dependencies...
[Core Features]
- DBI         ...loaded. (1.63 >= 1.38)
[High Resolution Timing]
- Time::HiRes ...loaded. (1.9721)
[POD Format Testing]
- Test::Pod   ...loaded. (1.48)
*** ExtUtils::AutoInstall configuration finished.

Configuring Informix Database Driver for Perl DBI Version 2013.0521 (2013-05-21) (aka DBD::Informix)
        You are using DBI version 1.63 and Perl version 5.010001
Remember to actually read the README file!

Perl:     /usr/bin/perl v5.010001 x86_64-linux-thread-multi dl_dlopen.xs
System: linux c6b8.bsys.dev.centos.org 2.6.32-220.el6.x86_64 #1 smp tue dec 6 19:48:22 gmt 2011 x86_64 x86_64 x86_64 gnulinux
*** Ideally, you should upgrade to Perl version 5.016003 or later.

Using INFORMIXDIR=/home/informix and ESQL/C compiler esql
Using IBM Informix CSDK Version 3.70, IBM Informix-ESQL Version 3.70.FC4DE from /home/informix

Beware: DBD::Informix is not yet aware of all the new IUS data types.

Assert macro will be disabled!

lib/DBD/Informix/Defaults.pm written OK
esqlinfo.h written OK

Testing whether your Informix test environment will work...
ESQLTEST Program Running:
@(#)$Id: esqltest.ec,v 2008.1 2008/05/13 23:13:10 jleffler Exp $
        $INFORMIXDIR is set to '/home/informix'.
        $INFORMIXSERVER is set to 'someserver'.
        $DBI_DBNAME unset - defaulting to 'stores'.
        $DBD_INFORMIX_DATABASE set to 'testdb'.
        $DBD_INFORMIX_DATABASE2 unset - defaulting to 'testdb'.
        $DBD_INFORMIX_USERNAME is set to 'informix'.
        $DBD_INFORMIX_USERNAME2 is unset - defaulting to 'informix'.
        $DBD_INFORMIX_PASSWORD is set.
$DBD_INFORMIX_PASSWORD2 is unset - defaulting to $DBD_INFORMIX_PASSWORD.
Testing connection to testdb
        CONNECT TO 'testdb' with user info
Testing concurrent connection to team
        CONNECT TO 'testdb' with user info
Your Informix environment is (probably) OK

Multiple copies of Driver.xst found in: /usr/local/lib64/perl5/auto/DBI/ /usr/lib64/perl5/auto/DBI/ at Makefile.PL line 58 Using DBI 1.63 (for perl 5.010001 on x86_64-linux-thread-multi) installed in /usr/local/lib64/perl5/auto/DBI/
Writing Makefile for DBD::Informix
Writing MYMETA.yml and MYMETA.json

The module compiles fine, but then the test suite fails with:

Test Summary Report
-------------------
t/t41txacoff.t    (Wstat: 256 Tests: 19 Failed: 6)
  Failed tests:  6, 10-11, 14-15, 18
  Non-zero exit status: 1
t/t43trans.t      (Wstat: 256 Tests: 20 Failed: 6)
  Failed tests:  8, 11-12, 15-16, 19
  Non-zero exit status: 1
Files=58, Tests=850, 8 wallclock secs ( 0.55 usr 0.08 sys + 3.41 cusr 0.44 csys = 4.48 CPU)
Result: FAIL
Failed 2/58 test programs. 12/850 subtests failed.

The failures apear to be in transaction handling, here's the output from t41txacoff.t, I can provide full DBI_TRACE output if required.

# DBI->connect('dbi:Informix:testdb', 'informix', 'XXXXXXX');
#       Connect Attribute: AutoCommit => 1
#       Connect Attribute: ChopBlanks => 1
#       Connect Attribute: PrintError => 1
1..19
ok 1
# This is a regular logged database
# AutoCommit mode is 1
# InTransaction = 0
# InTransaction = 0
# Set AutoCommit Off - start manual transactions
# AutoCommit mode is now 0
# InTransaction = 1
# InTransaction = 1
# Test: do('
# CREATE TEMP TABLE DBD_IX_Trans01
# (
#       Col01   SERIAL NOT NULL PRIMARY KEY,
#       Col02   CHAR(20) NOT NULL,
#       Col03   DATE NOT NULL,
#       Col04   DATETIME YEAR TO FRACTION(5) NOT NULL
# )
# '):
ok 2
# InTransaction = 1
ok 3
# InTransaction = 1
# Test: do('INSERT INTO DBD_IX_Trans01 VALUES(0, 'Elfdom', '25/12/1996', '2004-02-29 23:59:54.32109')'):
ok 4
# InTransaction = 1
# InTransaction = 1
ok 5
Unexpected data returned from SELECT * FROM DBD_IX_Trans01: 1 Elfdom 12/25/1996 2004-02-29 23:59:54.32109
not ok 6
# InTransaction = 1
# Test: do('INSERT INTO DBD_IX_Trans01 VALUES(0, 'Elfdom', '25/12/1996', '2004-02-29 23:59:54.32109')'):
ok 7
# Test: do('INSERT INTO DBD_IX_Trans01 VALUES(0, 'Santa Claus Home', '25/12/1996', '2004-02-29 23:59:54.32109')'):
ok 8
ok 9
# Row 1: Got unexpected row of data!
#     col01:               = 1
#     col02:               = Elfdom
#     col03:               = 12/25/1996
#     col04:               = 2004-02-29 23:59:54.32109
# FAILED: 2 rows were correct; 1 rows were selected unexpectedly
not ok 10
# InTransaction = 1
Unexpected data returned from SELECT * FROM DBD_IX_Trans01: 1 Elfdom 12/25/1996 2004-02-29 23:59:54.32109
not ok 11
# Test: do('INSERT INTO DBD_IX_Trans01 VALUES(0, 'Santa Claus Home', '25/12/1996', '2004-02-29 23:59:54.32109')'):
ok 12
# Test: do('INSERT INTO DBD_IX_Trans01 VALUES(0, 'Elfdom', '25/12/1996', '2004-02-29 23:59:54.32109')'):
ok 13
# Row 1: Got unexpected row of data!
#     col01:               = 1
#     col02:               = Elfdom
#     col03:               = 12/25/1996
#     col04:               = 2004-02-29 23:59:54.32109
# Row 2: Got unexpected row of data!
#     col01:               = 2
#     col02:               = Elfdom
#     col03:               = 12/25/1996
#     col04:               = 2004-02-29 23:59:54.32109
# Row 3: Got unexpected row of data!
#     col01:               = 3
#     col02:               = Santa Claus Home
#     col03:               = 12/25/1996
#     col04:               = 2004-02-29 23:59:54.32109
# FAILED: 2 rows were correct; 3 rows were selected unexpectedly
not ok 14
# InTransaction = 1
# Row 1: Got unexpected row of data!
#     col01:               = 1
#     col02:               = Elfdom
#     col03:               = 12/25/1996
#     col04:               = 2004-02-29 23:59:54.32109
# Row 2: Got unexpected row of data!
#     col01:               = 2
#     col02:               = Elfdom
#     col03:               = 12/25/1996
#     col04:               = 2004-02-29 23:59:54.32109
# Row 3: Got unexpected row of data!
#     col01:               = 3
#     col02:               = Santa Claus Home
#     col03:               = 12/25/1996
#     col04:               = 2004-02-29 23:59:54.32109
# FAILED: 2 rows were correct; 3 rows were selected unexpectedly
not ok 15
# Test: do('DELETE FROM DBD_IX_Trans01'):
ok 16
ok 17
# Warning Message:
# <<no error string>>
# SQLSTATE =
# InTransaction = 1
# Did not get a row corresponding to expected key 4
# Did not get a row corresponding to expected key 5
# FAILED: 0 rows were correct; 2 rows did not get selected
not ok 18
ok 19
# *** Testing of DBD::Informix complete ***
# !!!!!! There appear to be problems !!!!!!


Does anyone know what could be causing these failures? Is it something to worry about?

Cheers,

John

--
John Beranek                         To generalise is to be an idiot.
http://redux.org.uk/                                 -- William Blake

Reply via email to