test_drop_privileges AssertionError groups mismatch

Bug #1724340 reported by Corey Bryant
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
New
Undecided
Unassigned

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 post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.