[Bug 1724342] Re: test_drop_privileges AssertionError groups mismatch
Corey Bryant
corey.bryant at canonical.com
Wed Oct 25 14:29:21 UTC 2017
This bug was fixed in the package swift - 2.15.1-0ubuntu3~cloud0
---------------
swift (2.15.1-0ubuntu3~cloud0) xenial-pike; urgency=medium
.
* New update for the Ubuntu Cloud Archive.
.
swift (2.15.1-0ubuntu3) artful; urgency=medium
.
* d/p/update-test-drop-privs.patch: Drop group comparison from
drop_privileges test as it does not appear to be valid (LP: #1724342).
** Changed in: cloud-archive/pike
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to swift in Ubuntu.
https://bugs.launchpad.net/bugs/1724342
Title:
test_drop_privileges AssertionError groups mismatch
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive pike series:
Fix Released
Status in OpenStack Object Storage (swift):
Fix Released
Status in swift package in Ubuntu:
Fix Released
Bug description:
This test is failing in Ubuntu builds on Artful. However I think it
generally just gets lucky when it is successful.
======================================================================
FAIL: test_drop_privileges (test.unit.common.test_utils.TestUtils)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/test/unit/common/test_utils.py", line 2151, in test_drop_privileges
self.assertEqual(set(groups), set(os.getgroups()))
AssertionError: Items in the second set but not the first:
110
"""Fail immediately, with the given message."""
>> raise self.failureException('Items in the second set but not the first:\n110')
It seems that setgroups() is mocked out. Part of what drop_privileges() does is:
groups = [g.gr_gid for g in grp.getgrall() if user in g.gr_mem]
os.setgroups(groups)
The failing part of test_drop_privileges() is:
groups = [g.gr_gid for g in grp.getgrall() if user in g.gr_mem]
groups.append(pwd.getpwnam(user).pw_gid)
self.assertEqual(set(groups), set(os.getgroups()))
The test is trying to assert that os.getgroups() was set in
drop_privileges. However os.getgroups() can't change since
os.setgroups() is mocked out, and os.getgroups() isn't mocked out.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1724342/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list