[Python-checkins] python/dist/src/Lib/test test_pwd.py,1.14,1.15 test_grp.py,1.13,1.14

doerwalter@users.sourceforge.net doerwalter@users.sourceforge.net
Tue, 22 Apr 2003 04:06:05 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1:/tmp/cvs-serv32340/Lib/test

Modified Files:
	test_pwd.py test_grp.py 
Log Message:
Change test_pwd and test_grp so they can handle duplicate user
and group names. This should fix SF bug #724771.


Index: test_pwd.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_pwd.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** test_pwd.py	15 Apr 2003 15:39:08 -0000	1.14
--- test_pwd.py	22 Apr 2003 11:05:56 -0000	1.15
***************
*** 8,11 ****
--- 8,12 ----
      def test_values(self):
          entries = pwd.getpwall()
+         entriesbyname = {}
          entriesbyuid = {}
  
***************
*** 27,31 ****
              self.assert_(isinstance(e.pw_shell, basestring))
  
-             self.assertEqual(pwd.getpwnam(e.pw_name), e)
              # The following won't work, because of duplicate entries
              # for one uid
--- 28,31 ----
***************
*** 33,36 ****
--- 33,37 ----
              # instead of this collect all entries for one uid
              # and check afterwards
+             entriesbyname.setdefault(e.pw_name, []).append(e)
              entriesbyuid.setdefault(e.pw_uid, []).append(e)
  
***************
*** 38,41 ****
--- 39,43 ----
          # for each uid is among those from getpwall() for this uid
          for e in entries:
+             self.assert_(pwd.getpwnam(e.pw_name) in entriesbyname[e.pw_name])
              self.assert_(pwd.getpwuid(e.pw_uid) in entriesbyuid[e.pw_uid])
  

Index: test_grp.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_grp.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** test_grp.py	15 Apr 2003 16:08:01 -0000	1.13
--- test_grp.py	22 Apr 2003 11:05:57 -0000	1.14
***************
*** 10,13 ****
--- 10,14 ----
      def test_values(self):
          entries = grp.getgrall()
+         entriesbyname = {}
          entriesbygid = {}
  
***************
*** 23,32 ****
              self.assert_(isinstance(e.gr_mem, list))
  
-             self.assertEqual(grp.getgrnam(e.gr_name), e)
              # The following won't work, because of duplicate entries
              # for one gid
              #    self.assertEqual(grp.getgrgid(e.gr_gid), e)
!             # instead of this collect all entries for one gid
              # and check afterwards
              entriesbygid.setdefault(e.gr_gid, []).append(e)
  
--- 24,33 ----
              self.assert_(isinstance(e.gr_mem, list))
  
              # The following won't work, because of duplicate entries
              # for one gid
              #    self.assertEqual(grp.getgrgid(e.gr_gid), e)
!             # instead of this collect all entries for one gid/name
              # and check afterwards
+             entriesbyname.setdefault(e.gr_name, []).append(e)
              entriesbygid.setdefault(e.gr_gid, []).append(e)
  
***************
*** 35,38 ****
--- 36,40 ----
          for e in entries:
              self.assert_(grp.getgrgid(e.gr_gid) in entriesbygid[e.gr_gid])
+             self.assert_(grp.getgrnam(e.gr_name) in entriesbyname[e.gr_name])
  
      def test_errors(self):