[Python-checkins] python/dist/src/Lib/test test_set.py, NONE, 1.1 regrtest.py, 1.147, 1.148 test___all__.py, 1.36, 1.37 test_builtin.py, 1.24, 1.25 test_enumerate.py, 1.7, 1.8 test_glob.py, 1.6, 1.7 test_pyclbr.py, 1.18, 1.19 test_random.py, 1.15, 1.16 test_sort.py, 1.6, 1.7 test_strptime.py, 1.23, 1.24 test_userdict.py, 1.16, 1.17 test_weakref.py, 1.30, 1.31

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Sun Nov 16 11:17:51 EST 2003


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

Modified Files:
	regrtest.py test___all__.py test_builtin.py test_enumerate.py 
	test_glob.py test_pyclbr.py test_random.py test_sort.py 
	test_strptime.py test_userdict.py test_weakref.py 
Added Files:
	test_set.py 
Log Message:
* Migrate set() and frozenset() from the sandbox.
* Install the unittests, docs, newsitem, include file, and makefile update.
* Exercise the new functions whereever sets.py was being used.

Includes the docs for libfuncs.tex.  Separate docs for the types are
forthcoming.



--- NEW FILE: test_set.py ---
import unittest
from test import test_support
import operator
import copy
import pickle

class PassThru(Exception):
    pass

def check_pass_thru():
    raise PassThru
    yield 1

class TestJointOps(unittest.TestCase):
    # Tests common to both set and frozenset

    def setUp(self):
        self.word = word = 'simsalabim'
        self.otherword = 'madagascar'
[...1144 lines suppressed...]
        TestCopyingTuple,
        TestCopyingNested,
        TestIdentities,
        TestVariousIteratorArgs,
        )

    test_support.run_unittest(*test_classes)

    # verify reference counting
    if verbose and hasattr(sys, "gettotalrefcount"):
        import gc
        counts = [None] * 5
        for i in xrange(len(counts)):
            test_support.run_unittest(*test_classes)
            gc.collect()
            counts[i] = sys.gettotalrefcount()
        print counts

if __name__ == "__main__":
    test_main(verbose=True)

Index: regrtest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/regrtest.py,v
retrieving revision 1.147
retrieving revision 1.148
diff -C2 -d -r1.147 -r1.148
*** regrtest.py	13 Oct 2003 04:27:47 -0000	1.147
--- regrtest.py	16 Nov 2003 16:17:48 -0000	1.148
***************
*** 76,80 ****
  import cStringIO
  import warnings
- from sets import Set
  
  # I see no other way to suppress these warnings;
--- 76,79 ----
***************
*** 307,311 ****
          plat = sys.platform
          if e.isvalid():
!             surprise = Set(skipped) - e.getexpected() - Set(resource_denieds)
              if surprise:
                  print count(len(surprise), "skip"), \
--- 306,310 ----
          plat = sys.platform
          if e.isvalid():
!             surprise = set(skipped) - e.getexpected() - set(resource_denieds)
              if surprise:
                  print count(len(surprise), "skip"), \
***************
*** 949,953 ****
          if sys.platform in _expectations:
              s = _expectations[sys.platform]
!             self.expected = Set(s.split())
  
              if not os.path.supports_unicode_filenames:
--- 948,952 ----
          if sys.platform in _expectations:
              s = _expectations[sys.platform]
!             self.expected = set(s.split())
  
              if not os.path.supports_unicode_filenames:

Index: test___all__.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test___all__.py,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -d -r1.36 -r1.37
*** test___all__.py	8 Nov 2003 10:24:36 -0000	1.36
--- test___all__.py	16 Nov 2003 16:17:48 -0000	1.37
***************
*** 3,7 ****
  
  from test.test_support import verify, verbose
- from sets import Set
  import sys
  import warnings
--- 3,6 ----
***************
*** 44,49 ****
          if names.has_key("__builtins__"):
              del names["__builtins__"]
!         keys = Set(names)
!         all = Set(sys.modules[modname].__all__)
          verify(keys==all, "%s != %s" % (keys, all))
  
--- 43,48 ----
          if names.has_key("__builtins__"):
              del names["__builtins__"]
!         keys = set(names)
!         all = set(sys.modules[modname].__all__)
          verify(keys==all, "%s != %s" % (keys, all))
  

Index: test_builtin.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_builtin.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** test_builtin.py	28 Oct 2003 12:05:47 -0000	1.24
--- test_builtin.py	16 Nov 2003 16:17:48 -0000	1.25
***************
*** 3,7 ****
  import test.test_support, unittest
  from test.test_support import fcmp, have_unicode, TESTFN, unlink
- from sets import Set
  
  import sys, warnings, cStringIO
--- 3,6 ----
***************
*** 1105,1111 ****
  
      def test_vars(self):
!         self.assertEqual(Set(vars()), Set(dir()))
          import sys
!         self.assertEqual(Set(vars(sys)), Set(dir(sys)))
          self.assertEqual(self.get_vars_f0(), {})
          self.assertEqual(self.get_vars_f2(), {'a': 1, 'b': 2})
--- 1104,1110 ----
  
      def test_vars(self):
!         self.assertEqual(set(vars()), set(dir()))
          import sys
!         self.assertEqual(set(vars(sys)), set(dir(sys)))
          self.assertEqual(self.get_vars_f0(), {})
          self.assertEqual(self.get_vars_f2(), {'a': 1, 'b': 2})

Index: test_enumerate.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_enumerate.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** test_enumerate.py	6 Nov 2003 14:06:47 -0000	1.7
--- test_enumerate.py	16 Nov 2003 16:17:48 -0000	1.8
***************
*** 1,4 ****
  import unittest
- from sets import Set
  
  from test import test_support
--- 1,3 ----
***************
*** 106,111 ****
          # Tests an implementation detail where tuple is reused
          # whenever nothing else holds a reference to it
!         self.assertEqual(len(Set(map(id, list(enumerate(self.seq))))), len(self.seq))
!         self.assertEqual(len(Set(map(id, enumerate(self.seq)))), min(1,len(self.seq)))
  
  class MyEnum(enumerate):
--- 105,110 ----
          # Tests an implementation detail where tuple is reused
          # whenever nothing else holds a reference to it
!         self.assertEqual(len(set(map(id, list(enumerate(self.seq))))), len(self.seq))
!         self.assertEqual(len(set(map(id, enumerate(self.seq)))), min(1,len(self.seq)))
  
  class MyEnum(enumerate):

Index: test_glob.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_glob.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** test_glob.py	13 Nov 2003 07:45:39 -0000	1.6
--- test_glob.py	16 Nov 2003 16:17:48 -0000	1.7
***************
*** 3,7 ****
  import glob
  import os
- from sets import Set
  
  def mkdirs(fname):
--- 3,6 ----
***************
*** 63,67 ****
  
      def assertSequencesEqual_noorder(self, l1, l2):
!         self.assertEqual(Set(l1), Set(l2))
  
      def test_glob_literal(self):
--- 62,66 ----
  
      def assertSequencesEqual_noorder(self, l1, l2):
!         self.assertEqual(set(l1), set(l2))
  
      def test_glob_literal(self):

Index: test_pyclbr.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_pyclbr.py,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** test_pyclbr.py	2 May 2003 09:06:26 -0000	1.18
--- test_pyclbr.py	16 Nov 2003 16:17:48 -0000	1.19
***************
*** 8,12 ****
  import pyclbr
  from unittest import TestCase
- from sets import Set
  
  # This next line triggers an error on old versions of pyclbr.
--- 8,11 ----
***************
*** 25,29 ****
      def assertListEq(self, l1, l2, ignore):
          ''' succeed iff {l1} - {ignore} == {l2} - {ignore} '''
!         missing = (Set(l1) ^ Set(l2)) - Set(ignore)
          if missing:
              print >>sys.stderr, "l1=%r\nl2=%r\nignore=%r" % (l1, l2, ignore)
--- 24,28 ----
      def assertListEq(self, l1, l2, ignore):
          ''' succeed iff {l1} - {ignore} == {l2} - {ignore} '''
!         missing = (set(l1) ^ set(l2)) - set(ignore)
          if missing:
              print >>sys.stderr, "l1=%r\nl2=%r\nignore=%r" % (l1, l2, ignore)

Index: test_random.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_random.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** test_random.py	5 Oct 2003 09:09:15 -0000	1.15
--- test_random.py	16 Nov 2003 16:17:48 -0000	1.16
***************
*** 7,11 ****
  import warnings
  from math import log, exp, sqrt, pi
- from sets import Set
  from test import test_support
  
--- 7,10 ----
***************
*** 65,71 ****
              s = self.gen.sample(population, k)
              self.assertEqual(len(s), k)
!             uniq = Set(s)
              self.assertEqual(len(uniq), k)
!             self.failUnless(uniq <= Set(population))
          self.assertEqual(self.gen.sample([], 0), [])  # test edge case N==k==0
  
--- 64,70 ----
              s = self.gen.sample(population, k)
              self.assertEqual(len(s), k)
!             uniq = set(s)
              self.assertEqual(len(uniq), k)
!             self.failUnless(uniq <= set(population))
          self.assertEqual(self.gen.sample([], 0), [])  # test edge case N==k==0
  
***************
*** 90,95 ****
      def test_sample_inputs(self):
          # SF bug #801342 -- population can be any iterable defining __len__()
!         from sets import Set
!         self.gen.sample(Set(range(20)), 2)
          self.gen.sample(range(20), 2)
          self.gen.sample(xrange(20), 2)
--- 89,93 ----
      def test_sample_inputs(self):
          # SF bug #801342 -- population can be any iterable defining __len__()
!         self.gen.sample(set(range(20)), 2)
          self.gen.sample(range(20), 2)
          self.gen.sample(xrange(20), 2)
***************
*** 257,262 ****
      def test_rangelimits(self):
          for start, stop in [(-2,0), (-(2**60)-2,-(2**60)), (2**60,2**60+2)]:
!             self.assertEqual(Set(range(start,stop)),
!                 Set([self.gen.randrange(start,stop) for i in xrange(100)]))
  
      def test_genrandbits(self):
--- 255,260 ----
      def test_rangelimits(self):
          for start, stop in [(-2,0), (-(2**60)-2,-(2**60)), (2**60,2**60+2)]:
!             self.assertEqual(set(range(start,stop)),
!                 set([self.gen.randrange(start,stop) for i in xrange(100)]))
  
      def test_genrandbits(self):
***************
*** 365,369 ****
      def test__all__(self):
          # tests validity but not completeness of the __all__ list
!         self.failUnless(Set(random.__all__) <= Set(dir(random)))
  
  def test_main(verbose=None):
--- 363,367 ----
      def test__all__(self):
          # tests validity but not completeness of the __all__ list
!         self.failUnless(set(random.__all__) <= set(dir(random)))
  
  def test_main(verbose=None):

Index: test_sort.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_sort.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** test_sort.py	29 Oct 2003 06:54:42 -0000	1.6
--- test_sort.py	16 Nov 2003 16:17:48 -0000	1.7
***************
*** 2,6 ****
  import random
  from UserList import UserList
- from sets import Set
  
  nerrors = 0
--- 2,5 ----
***************
*** 231,235 ****
  
          s = ''.join(dict.fromkeys(s).keys())  # unique letters only
!         for T in [unicode, Set, list, tuple, dict.fromkeys]:
              self.assertEqual(list.sorted(s), list.sorted(T(s)))
  
--- 230,234 ----
  
          s = ''.join(dict.fromkeys(s).keys())  # unique letters only
!         for T in [unicode, set, frozenset, list, tuple, dict.fromkeys]:
              self.assertEqual(list.sorted(s), list.sorted(T(s)))
  

Index: test_strptime.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_strptime.py,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** test_strptime.py	29 Aug 2003 02:28:54 -0000	1.23
--- test_strptime.py	16 Nov 2003 16:17:48 -0000	1.24
***************
*** 5,9 ****
  import locale
  import re
- import sets
  import sys
  from test import test_support
--- 5,8 ----
***************
*** 18,25 ****
  class LocaleTime_Tests(unittest.TestCase):
      """Tests for _strptime.LocaleTime.
!     
      All values are lower-cased when stored in LocaleTime, so make sure to
      compare values after running ``lower`` on them.
!     
      """
  
--- 17,24 ----
  class LocaleTime_Tests(unittest.TestCase):
      """Tests for _strptime.LocaleTime.
! 
      All values are lower-cased when stored in LocaleTime, so make sure to
      compare values after running ``lower`` on them.
! 
      """
  
***************
*** 168,172 ****
          # Fixes bug #661354
          test_locale = _strptime.LocaleTime()
!         test_locale.timezone = (sets.ImmutableSet(), sets.ImmutableSet())
          self.failUnless(_strptime.TimeRE(test_locale).pattern("%Z") == '',
                          "with timezone == ('',''), TimeRE().pattern('%Z') != ''")
--- 167,171 ----
          # Fixes bug #661354
          test_locale = _strptime.LocaleTime()
!         test_locale.timezone = (frozenset(), frozenset())
          self.failUnless(_strptime.TimeRE(test_locale).pattern("%Z") == '',
                          "with timezone == ('',''), TimeRE().pattern('%Z') != ''")

Index: test_userdict.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_userdict.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** test_userdict.py	2 May 2003 09:06:27 -0000	1.16
--- test_userdict.py	16 Nov 2003 16:17:48 -0000	1.17
***************
*** 2,7 ****
  
  import test.test_support, unittest
- from sets import Set
- 
  import UserDict
  
--- 2,5 ----
***************
*** 70,74 ****
              self.assert_(hasattr(iter, '__iter__'))
              x = list(iter)
!             self.assert_(Set(x)==Set(lst)==Set(ref))
          check_iterandlist(d.iterkeys(), d.keys(), self.reference.keys())
          check_iterandlist(iter(d), d.keys(), self.reference.keys())
--- 68,72 ----
              self.assert_(hasattr(iter, '__iter__'))
              x = list(iter)
!             self.assert_(set(x)==set(lst)==set(ref))
          check_iterandlist(d.iterkeys(), d.keys(), self.reference.keys())
          check_iterandlist(iter(d), d.keys(), self.reference.keys())
***************
*** 243,247 ****
              ikeys.append(k)
          keys = u2.keys()
!         self.assertEqual(Set(ikeys), Set(keys))
  
          # Test setdefault
--- 241,245 ----
              ikeys.append(k)
          keys = u2.keys()
!         self.assertEqual(set(ikeys), set(keys))
  
          # Test setdefault

Index: test_weakref.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_weakref.py,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -d -r1.30 -r1.31
*** test_weakref.py	13 Nov 2003 21:59:31 -0000	1.30
--- test_weakref.py	16 Nov 2003 16:17:48 -0000	1.31
***************
*** 5,9 ****
  
  from test import test_support
- from sets import Set
  
  
--- 5,8 ----
***************
*** 393,397 ****
          items1 = dict.items()
          items2 = dict.copy().items()
!         self.assert_(Set(items1) == Set(items2),
                       "cloning of weak-keyed dictionary did not work!")
          del items1, items2
--- 392,396 ----
          items1 = dict.items()
          items2 = dict.copy().items()
!         self.assert_(set(items1) == set(items2),
                       "cloning of weak-keyed dictionary did not work!")
          del items1, items2





More information about the Python-checkins mailing list