[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