libreplace torture tests fails on freebsd

Matthieu Patou mat at samba.org
Thu Oct 14 10:45:48 MDT 2010


Hello,

Torture test on freebsd fails with the following errors:

[538/690 in 34m50s, 1 errors] samba4.local.replace
UNEXPECTED(failure): samba4.local.replace.strtoll
REASON: _StringException: _StringException:     
../../lib/replace/test/testsuite.c:576
         strtoll("Text",0,0): 0 (=/!)= 0
         errno: 0 != 22

UNEXPECTED(failure): samba4.local.replace.strtoull
REASON: _StringException: _StringException:     
../../lib/replace/test/testsuite.c:675
         strtoull("Text",0,0): 0 (=/!)= 0
         errno: 0 != 22

UNEXPECTED(failure): samba4.local.replace.strptime
REASON: _StringException: _StringException: tm_wday: expected: 6, got: 0

UNEXPECTED(error): samba4.local.replace.REPLACE
REASON: _StringException: _StringException: Unknown error/failure

command: bin/smbtorture --configfile=$SMB_CONF_PATH 
--maximum-runtime=$SELFTEST_MAXTIME --target=$SELFTEST_TARGET 
--basedir=$SELFTEST_TMPDIR --option=torture:progress=no --format=subunit 
ncalrpc: LOCAL-REPLACE $LOADLIST 2>&1 | ../selftest/filter-subunit 
--prefix="samba4.local.replace."
expanded command: bin/smbtorture 
--configfile=/usr/home/mat/samba/source4/st/client/client.conf 
--maximum-runtime=1200 --target=samba4 
--basedir=/usr/home/mat/samba/source4/st/tmp 
--option=torture:progress=no --format=subunit ncalrpc: LOCAL-REPLACE 
$LOADLIST 2>&1 | ../selftest/filter-subunit --prefix="samba4.local.replace."
ERROR: Testsuite[samba4.local.replace]
REASON: Exit code was 1

  errors[1]


First and second errors are due to difference of implementation on 
freebsd and on linux.

As the freebsd page says:
      [EINVAL]           The value of base is not supported or no conversion
                         could be performed (the last feature is not 
portable
                         across all platforms).

When linux says:
     EINVAL (not in C99) The given base contains an unsupported value

I see three obvious possible fix:

* have a conditional test for strtoll and strtoull which put freebsd in 
a separate case.
* remove this two tests
* use the replace function on freebsd

Jelmer found that if the field is not always initialized if we don't to 
parse this field on freebsd and openbsd.
In this case I see two options:

* have a conditional test for tm_wday on freebsd
* use the replace function on freebsd

Let me know.

Matthieu.

-- 
Matthieu Patou
Samba Team        http://samba.org




More information about the samba-technical mailing list