Author: Philip Jenvey <pjen...@underboss.org>
Branch: 
Changeset: r65496:a26b87569de1
Date: 2013-07-19 18:15 -0700
http://bitbucket.org/pypy/pypy/changeset/a26b87569de1/

Log:    convert to formal app-level style tests

diff --git a/pypy/module/test_lib_pypy/test_collections.py 
b/pypy/module/test_lib_pypy/test_collections.py
--- a/pypy/module/test_lib_pypy/test_collections.py
+++ b/pypy/module/test_lib_pypy/test_collections.py
@@ -2,15 +2,20 @@
 Extra tests for the pure Python PyPy _collections module
 (not used in normal PyPy's)
 """
+from pypy.module.test_lib_pypy.support import import_lib_pypy
 
-from __future__ import absolute_import
-from lib_pypy import _collections as collections
-import py
 
-class TestDeque:
+class AppTestDeque:
+
+    def setup_class(cls):
+        cls.w_collections = import_lib_pypy(cls.space, '_collections')
+
     def setup_method(self, method):
-        self.n = 10
-        self.d = collections.deque(range(self.n))
+        space = self.space
+        n = 10
+        self.w_n = space.wrap(n)
+        w_deque = space.getattr(self.w_collections, space.wrap('deque'))
+        self.w_d = space.call_function(w_deque, space.wrap(range(n)))
 
     def test_deque(self):
         assert len(self.d) == self.n
@@ -22,24 +27,25 @@
 
     def test_deque_iter(self):
         it = iter(self.d)
-        py.test.raises(TypeError, len, it)
+        raises(TypeError, len, it)
         assert it.next() == 0
         self.d.pop()
-        py.test.raises(RuntimeError, it.next)
+        raises(RuntimeError, it.next)
 
     def test_deque_reversed(self):
         it = reversed(self.d)
-        py.test.raises(TypeError, len, it)
+        raises(TypeError, len, it)
         assert it.next() == self.n-1
         assert it.next() == self.n-2
         self.d.pop()
-        py.test.raises(RuntimeError, it.next)
+        raises(RuntimeError, it.next)
 
     def test_deque_remove(self):
         d = self.d
-        py.test.raises(ValueError, d.remove, "foobar")
+        raises(ValueError, d.remove, "foobar")
 
     def test_mutate_during_remove(self):
+        collections = self.collections
         # Handle evil mutator
         class MutateCmp:
             def __init__(self, deque, result):
@@ -52,24 +58,33 @@
         for match in (True, False):
             d = collections.deque(['ab'])
             d.extend([MutateCmp(d, match), 'c'])
-            py.test.raises(IndexError, d.remove, 'c')
+            raises(IndexError, d.remove, 'c')
             assert len(d) == 0
 
-class TestDequeExtra:
+class AppTestDequeExtra:
+
+    spaceconfig = dict(usemodules=('binascii', 'struct',))
+
+    def setup_class(cls):
+        cls.w_collections = import_lib_pypy(cls.space, '_collections')
+
     def test_remove_empty(self):
+        collections = self.collections
         d = collections.deque([])
-        py.test.raises(ValueError, d.remove, 1)
+        raises(ValueError, d.remove, 1)
 
     def test_remove_mutating(self):
+        collections = self.collections
         class MutatingCmp(object):
             def __eq__(self, other):
                 d.clear()
                 return True
 
         d = collections.deque([MutatingCmp()])
-        py.test.raises(IndexError, d.remove, 1)
+        raises(IndexError, d.remove, 1)
 
     def test_remove_failing(self):
+        collections = self.collections
         class FailingCmp(object):
             def __eq__(self, other):
                 assert False
@@ -77,10 +92,11 @@
         f = FailingCmp()
         d = collections.deque([1, 2, 3, f, 4, 5])
         d.remove(3)
-        py.test.raises(AssertionError, d.remove, 4)
+        raises(AssertionError, d.remove, 4)
         assert d == collections.deque([1, 2, f, 4, 5])
 
     def test_maxlen(self):
+        collections = self.collections
         d = collections.deque([], 3)
         d.append(1); d.append(2); d.append(3); d.append(4)
         assert list(d) == [2, 3, 4]
@@ -95,11 +111,13 @@
         assert repr(d3) == "deque([2, 3, 4], maxlen=3)"
 
     def test_count(self):
+        collections = self.collections
         d = collections.deque([1, 2, 2, 3, 2])
         assert d.count(2) == 3
         assert d.count(4) == 0
 
     def test_reverse(self):
+        collections = self.collections
         d = collections.deque([1, 2, 2, 3, 2])
         d.reverse()
         assert list(d) == [2, 3, 2, 2, 1]
@@ -109,6 +127,7 @@
         assert list(d) == range(99, -1, -1)
 
     def test_subclass_with_kwargs(self):
+        collections = self.collections
         class SubclassWithKwargs(collections.deque):
             def __init__(self, newarg=1):
                 collections.deque.__init__(self)
@@ -116,11 +135,13 @@
         # SF bug #1486663 -- this used to erroneously raise a TypeError
         SubclassWithKwargs(newarg=1)
 
-def foobar():
-    return list
+class AppTestDefaultDict:
 
-class TestDefaultDict:
+    def setup_class(cls):
+        cls.w_collections = import_lib_pypy(cls.space, '_collections')
+
     def test_basic(self):
+        collections = self.collections
         d1 = collections.defaultdict()
         assert d1.default_factory is None
         d1.default_factory = list
@@ -148,20 +169,23 @@
         assert 12 not in d2.keys()
         d2.default_factory = None
         assert d2.default_factory == None
-        py.test.raises(KeyError, d2.__getitem__, 15)
-        py.test.raises(TypeError, collections.defaultdict, 1)
+        raises(KeyError, d2.__getitem__, 15)
+        raises(TypeError, collections.defaultdict, 1)
 
     def test_constructor(self):
+        collections = self.collections
         assert collections.defaultdict(None) == {}
         assert collections.defaultdict(None, {1: 2}) == {1: 2}
 
     def test_missing(self):
+        collections = self.collections
         d1 = collections.defaultdict()
-        py.test.raises(KeyError, d1.__missing__, 42)
+        raises(KeyError, d1.__missing__, 42)
         d1.default_factory = list
         assert d1.__missing__(42) == []
 
     def test_repr(self):
+        collections = self.collections
         d1 = collections.defaultdict()
         assert d1.default_factory == None
         assert repr(d1) == "defaultdict(None, {})"
@@ -181,6 +205,7 @@
         assert repr(d4) == "defaultdict(%s, {14: defaultdict(None, {})})" % 
repr(int)
 
     def test_recursive_repr(self):
+        collections = self.collections
         # Issue2045: stack overflow when default_factory is a bound method
         class sub(collections.defaultdict):
             def __init__(self):
@@ -192,6 +217,7 @@
             "defaultdict(<bound method sub._factory of defaultdict(...")
 
     def test_copy(self):
+        collections = self.collections
         d1 = collections.defaultdict()
         d2 = d1.copy()
         assert type(d2) == collections.defaultdict
@@ -212,6 +238,9 @@
 
     def test_shallow_copy(self):
         import copy
+        collections = self.collections
+        def foobar():
+            return list
         d1 = collections.defaultdict(foobar, {1: 1})
         d2 = copy.copy(d1)
         assert d2.default_factory == foobar
@@ -223,6 +252,9 @@
 
     def test_deep_copy(self):
         import copy
+        collections = self.collections
+        def foobar():
+            return list
         d1 = collections.defaultdict(foobar, {1: [1]})
         d2 = copy.deepcopy(d1)
         assert d2.default_factory == foobar
@@ -232,4 +264,3 @@
         d2 = copy.deepcopy(d1)
         assert d2.default_factory == list
         assert d2 == d1
-
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to