unit test not passing on my computer

Lukasz Zalewski lukas at dcs.qmul.ac.uk
Mon Jun 21 19:40:32 MDT 2010


On 21/06/2010 23:40, Lukasz Zalewski wrote:
> On 21/06/2010 22:49, Matthieu Patou wrote:
>> On 22/06/2010 01:43, Lukasz Zalewski wrote:
>>> On 21/06/2010 22:23, Matthieu Patou wrote:
>>> Hi Matthieu,
>>>> Hello,
>>>>
>>>> For some reason the unittest samba4.blackbox.group.py is not ok on my
>>>> computer when I build from acf54c37a81b9c593220a0de5aa1b82a3bd05e24.
>>>>
>>>> I get:
>>>> make test TESTS=samba4.blackbox.group.py
>>>> WAF_MAKE=1 ../buildtools/bin/waf test
>>>> 'test' finished successfully (0.000s)
>>>> Waf: Entering directory `/usr/local/src/samba4/source4/bin'
>>>> Waf: Leaving directory `/usr/local/src/samba4/source4/bin'
>>>> 'build' finished successfully (1.826s)
>>>> test: running (/usr/bin/perl ../selftest/selftest.pl --prefix=./st
>>>> --builddir=. --srcdir=. --exclude=./selftest/skip
>>>> --testlist="./selftest/tests.sh|" --exclude=./selftest/slow
>>>> --socket-wrapper samba4.blackbox.group.py && touch ./st/st_done) |
>>>> /usr/bin/python -u ../selftest/filter-subunit
>>>> --expected-failures=./selftest/knownfail | /usr/bin/python -u
>>>> ../selftest/format-subunit --prefix=./st --immediate
>>>> Version 4.0.0alpha12-GIT-33e6ddb
>>>> OPTIONS --configfile=$SMB_CONF_PATH --maximum-runtime=1200
>>>> --target=samba4 --basedir=/usr/local/src/samba4/source4/st/s4client
>>>> --option=torture:progress=no --format=subunit
>>>> [1/1 in 0s] samba4.blackbox.group.py
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group add
>>>> REASON: ERROR: Failed to create group "dsg" : objectclass_attrs:
>>>> attribute 'groupType' on entry
>>>> 'CN=dsg,CN=Users,DC=foo,DC=example,DC=com' contains at least one
>>>> invalid
>>>> value!
>>>>
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group add
>>>> REASON: ERROR: Failed to create group "gsg" : objectclass_attrs:
>>>> attribute 'groupType' on entry
>>>> 'CN=gsg,CN=Users,DC=foo,DC=example,DC=com' contains at least one
>>>> invalid
>>>> value!
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group add
>>>> REASON: ERROR: Failed to create group "usg" : objectclass_attrs:
>>>> attribute 'groupType' on entry
>>>> 'CN=usg,CN=Users,DC=foo,DC=example,DC=com' contains at least one
>>>> invalid
>>>> value!
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group add
>>>> REASON: ERROR: Failed to create group "ddg" : objectclass_attrs:
>>>> attribute 'groupType' on entry
>>>> 'CN=ddg,CN=Users,DC=foo,DC=example,DC=com' contains at least one
>>>> invalid
>>>> value!
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group add
>>>> REASON: ERROR: Failed to create group "gdg" : objectclass_attrs:
>>>> attribute 'groupType' on entry
>>>> 'CN=gdg,CN=Users,DC=foo,DC=example,DC=com' contains at least one
>>>> invalid
>>>> value!
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group add
>>>> REASON: ERROR: Failed to create group "udg" : objectclass_attrs:
>>>> attribute 'groupType' on entry
>>>> 'CN=udg,CN=Users,DC=foo,DC=example,DC=com' contains at least one
>>>> invalid
>>>> value!
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group addmembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 148, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=True)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "dsg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group addmembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 148, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=True)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "gsg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group addmembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 148, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=True)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "usg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group addmembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 148, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=True)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "ddg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group addmembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 148, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=True)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "gdg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group addmembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 148, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=True)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "udg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group removemembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 180, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=False)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "dsg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group removemembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 180, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=False)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "gsg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group removemembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 180, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=False)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "usg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group removemembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 180, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=False)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "ddg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group removemembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 180, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=False)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "gdg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group removemembers
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 180, in run
>>>> samdb.add_remove_group_members(groupname, listofmembers,
>>>> add_members_operation=False)
>>>> File "bin/python/samba/samdb.py", line 184, in add_remove_group_members
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "udg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group delete
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 116, in run
>>>> samdb.deletegroup(groupname)
>>>> File "bin/python/samba/samdb.py", line 158, in deletegroup
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "dsg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group delete
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 116, in run
>>>> samdb.deletegroup(groupname)
>>>> File "bin/python/samba/samdb.py", line 158, in deletegroup
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "gsg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group delete
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 116, in run
>>>> samdb.deletegroup(groupname)
>>>> File "bin/python/samba/samdb.py", line 158, in deletegroup
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "usg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group delete
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 116, in run
>>>> samdb.deletegroup(groupname)
>>>> File "bin/python/samba/samdb.py", line 158, in deletegroup
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "ddg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group delete
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 116, in run
>>>> samdb.deletegroup(groupname)
>>>> File "bin/python/samba/samdb.py", line 158, in deletegroup
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "gdg"
>>>>
>>>> UNEXPECTED(failure): samba4.blackbox.group.py.group delete
>>>> REASON: Traceback (most recent call last):
>>>> File "bin/python/samba/netcmd/__init__.py", line 122, in _run
>>>> return self.subcommands[subcommand]._run(subcommand, *args)
>>>> File "bin/python/samba/netcmd/__init__.py", line 99, in _run
>>>> return self.run(*args, **kwargs)
>>>> File "bin/python/samba/netcmd/group.py", line 116, in run
>>>> samdb.deletegroup(groupname)
>>>> File "bin/python/samba/samdb.py", line 158, in deletegroup
>>>> raise Exception('Unable to find group "%s"' % groupname)
>>>> Exception: Unable to find group "udg"
>>>>
>>>> command: PYTHON=python ./selftest/../setup/tests/blackbox_group.sh
>>>> ./st/provision
>>>> expanded command: PYTHON=python
>>>> ./selftest/../setup/tests/blackbox_group.sh ./st/provision
>>>> ERROR: Testsuite[samba4.blackbox.group.py]
>>>> REASON: Exit code was 1
>>>>
>>>>
>>>>
>>>> A summary with detailed information can be found in:
>>>> ./st/summary
>>>>
>>>> FAILED (24 failures and 0 errors in 1 testsuites)
>>>> ERROR: test failed with exit code 1
>>>> make: *** [test] Erreur 1
>>>>
>>>> To my mind it's because of this (around line 132 in
>>>> scripting/python/samba/samdb.py)
>>>>
>>>> if grouptype is not None:
>>>> ldbmessage["groupType"] = "%d" % ((grouptype)-2**32)
>>>>
>>>> If I print grouptype I get :
>>>> -2147483644
>>> This value is defined in libds/common/flags.h as
>>> #define GTYPE_SECURITY_DOMAIN_LOCAL_GROUP ( \
>>> /* 0x80000004 -2147483644 */ \
>>> GROUP_TYPE_RESOURCE_GROUP| \
>>> GROUP_TYPE_SECURITY_ENABLED \
>>> )
>>>
>>> And seems to also appear in some of the provisioned groups
>>> bin/ldbsearch -H 'private/sam.ldb' groupType=-2147483644
>>> returns five entries
>>>
>> Yeah but the -2147483644 is the value of the variable grouptype, so the
>> ldbmessage["groupType"] is at −6442450940.
>>
>> Note: I'm running in 32bit
> Is defenately 32/64 bit issue - it passes fine on 64bit but fails on
> 32bit on int to signed long conversion.
>
> looking into it
>
> Luk
>>>>
>>>> I don't know for others but for me it's not good.
>>>>
>>>
>>> Looking into that
>>>
>>> Luk
>>>
>>
>>
>

Matthieu,
Attached is the patch that fixes the problems when assigning 
(converting) grouptype value on 64 and 32 bit architectures. I have 
tested this on both architectures and both produce exactly the same 
values. Please let me know if this works for you

Luk
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: master-grouptype-conversion-fix.txt
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100622/b89106c6/attachment.txt>


More information about the samba-technical mailing list