Author: Amaury Forgeot d'Arc <[email protected]>
Branch: less-gettestobjspace
Changeset: r58605:be0cb439b5cc
Date: 2012-10-28 21:51 +0100
http://bitbucket.org/pypy/pypy/changeset/be0cb439b5cc/

Log:    Progress. Also set "cls.option", this avoids one conftest import.

diff --git a/pypy/conftest.py b/pypy/conftest.py
--- a/pypy/conftest.py
+++ b/pypy/conftest.py
@@ -326,9 +326,11 @@
     if isinstance(item, py.test.collect.Function):
         appclass = item.getparent(PyPyClassCollector)
         if appclass is not None:
+            # Make cls.space and cls.option available in tests.
             spaceconfig = getattr(appclass.obj, 'spaceconfig', None)
             if spaceconfig:
                 appclass.obj.space = gettestobjspace(**spaceconfig)
+            appclass.obj.option = option
 
     __multicall__.execute()
 
diff --git a/pypy/module/_bisect/test/test_bisect.py 
b/pypy/module/_bisect/test/test_bisect.py
--- a/pypy/module/_bisect/test/test_bisect.py
+++ b/pypy/module/_bisect/test/test_bisect.py
@@ -1,10 +1,6 @@
-from pypy.conftest import gettestobjspace
-
 
 class AppTestBisect:
-
-    def setup_class(cls):
-        cls.space = gettestobjspace(usemodules=['_bisect'])
+    spaceconfig = dict(usemodules=['_bisect'])
 
     def test_bisect_left(self):
         from _bisect import bisect_left
diff --git a/pypy/module/binascii/test/test_binascii.py 
b/pypy/module/binascii/test/test_binascii.py
--- a/pypy/module/binascii/test/test_binascii.py
+++ b/pypy/module/binascii/test/test_binascii.py
@@ -1,18 +1,10 @@
-from pypy.conftest import gettestobjspace
-
 
 class AppTestBinascii(object):
+    spaceconfig = dict(usemodules=['binascii'])
 
     def setup_class(cls):
-        """
-        Create a space with the binascii module and import it for use by the
-        tests.
-        """
-        cls.space = gettestobjspace(usemodules=['binascii'])
-        cls.w_binascii = cls.space.appexec([], """():
-            import binascii
-            return binascii
-        """)
+        """Make binascii module available as self.binascii."""
+        cls.w_binascii = cls.space.getbuiltinmodule('binascii')
 
     def test_a2b_uu(self):
         # obscure case, for compability with CPython
diff --git a/pypy/module/bz2/test/test_bz2_compdecomp.py 
b/pypy/module/bz2/test/test_bz2_compdecomp.py
--- a/pypy/module/bz2/test/test_bz2_compdecomp.py
+++ b/pypy/module/bz2/test/test_bz2_compdecomp.py
@@ -1,4 +1,3 @@
-from pypy.conftest import gettestobjspace
 from pypy.module.bz2.test.support import CheckAllocation
 from pypy.module.bz2 import interp_bz2
 import os, py
@@ -37,12 +36,12 @@
     interp_bz2.SMALLCHUNK = mod.OLD_SMALLCHUNK
 
 class AppTestBZ2Compressor(CheckAllocation):
+    spaceconfig = dict(usemodules=('bz2',))
+
     def setup_class(cls):
-        space = gettestobjspace(usemodules=('bz2',))
-        cls.space = space
-        cls.w_TEXT = space.wrap(TEXT)
-        cls.w_decompress = space.wrap(decompress)
-        cls.w_HUGE_OK = space.wrap(HUGE_OK)
+        cls.w_TEXT = cls.space.wrap(TEXT)
+        cls.w_decompress = cls.space.wrap(decompress)
+        cls.w_HUGE_OK = cls.space.wrap(HUGE_OK)
         
     def test_creation(self):
         from bz2 import BZ2Compressor
@@ -97,12 +96,12 @@
         assert self.decompress(data) == self.TEXT
 
 class AppTestBZ2Decompressor(CheckAllocation):
+    spaceconfig = dict(usemodules=('bz2',))
+
     def setup_class(cls):
-        space = gettestobjspace(usemodules=('bz2',))
-        cls.space = space
-        cls.w_TEXT = space.wrap(TEXT)
-        cls.w_DATA = space.wrap(DATA)
-        cls.w_BUGGY_DATA = space.wrap(BUGGY_DATA)
+        cls.w_TEXT = cls.space.wrap(TEXT)
+        cls.w_DATA = cls.space.wrap(DATA)
+        cls.w_BUGGY_DATA = cls.space.wrap(BUGGY_DATA)
         
     def test_creation(self):
         from bz2 import BZ2Decompressor
@@ -172,13 +171,13 @@
         raises(IOError, bz2d.decompress, self.BUGGY_DATA)
 
 class AppTestBZ2ModuleFunctions(CheckAllocation):
+    spaceconfig = dict(usemodules=('bz2',))
+
     def setup_class(cls):
-        space = gettestobjspace(usemodules=('bz2',))
-        cls.space = space
-        cls.w_TEXT = space.wrap(TEXT)
-        cls.w_DATA = space.wrap(DATA)
-        cls.w_decompress = space.wrap(decompress)
-        cls.w_HUGE_OK = space.wrap(HUGE_OK)
+        cls.w_TEXT = cls.space.wrap(TEXT)
+        cls.w_DATA = cls.space.wrap(DATA)
+        cls.w_decompress = cls.space.wrap(decompress)
+        cls.w_HUGE_OK = cls.space.wrap(HUGE_OK)
 
     def test_compress_function(self):
         from bz2 import compress
diff --git a/pypy/module/bz2/test/test_bz2_file.py 
b/pypy/module/bz2/test/test_bz2_file.py
--- a/pypy/module/bz2/test/test_bz2_file.py
+++ b/pypy/module/bz2/test/test_bz2_file.py
@@ -1,7 +1,6 @@
 from __future__ import with_statement
 
 import py
-from pypy.conftest import gettestobjspace
 from pypy.module.bz2.test.support import CheckAllocation
 import os
 import random
@@ -48,17 +47,19 @@
 class AppTestBZ2File: #(CheckAllocation):
     # XXX for unknown reasons, we cannot do allocation checks, as sth is
     # keeping those objects alive (BZ2File objects)
+
+    spaceconfig = dict(usemodules=('bz2',))
+
     def setup_class(cls):
-        space = gettestobjspace(usemodules=('bz2',))
-        cls.space = space
-        cls.w_TEXT = space.wrap(TEXT)
-        cls.w_DATA = space.wrap(DATA)
-        cls.w_DATA_CRLF = space.wrap(DATA_CRLF)
-        cls.w_temppath = space.wrap(str(py.test.ensuretemp("bz2").join("foo")))
-        cls.w_create_temp_file = space.wrap(create_temp_file)
-        cls.w_decompress = space.wrap(decompress)
-        cls.w_create_broken_temp_file = space.wrap(create_broken_temp_file)
-        cls.w_random_data = space.wrap(RANDOM_DATA)
+        cls.w_TEXT = cls.space.wrap(TEXT)
+        cls.w_DATA = cls.space.wrap(DATA)
+        cls.w_DATA_CRLF = cls.space.wrap(DATA_CRLF)
+        cls.w_temppath = cls.space.wrap(
+            str(py.test.ensuretemp("bz2").join("foo")))
+        cls.w_create_temp_file = cls.space.wrap(create_temp_file)
+        cls.w_decompress = cls.space.wrap(decompress)
+        cls.w_create_broken_temp_file = cls.space.wrap(create_broken_temp_file)
+        cls.w_random_data = cls.space.wrap(RANDOM_DATA)
         
     def test_attributes(self):
         from bz2 import BZ2File
diff --git a/pypy/module/bz2/test/test_large.py 
b/pypy/module/bz2/test/test_large.py
--- a/pypy/module/bz2/test/test_large.py
+++ b/pypy/module/bz2/test/test_large.py
@@ -1,12 +1,12 @@
 import py
-from pypy.conftest import gettestobjspace, option
 
 
 class AppTestBZ2File:
+    spaceconfig = dict(usemodules=('bz2',))
+
     def setup_class(cls):
-        if not option.runappdirect:
+        if not cls.option.runappdirect:
             py.test.skip("skipping this very slow test; try 'pypy-c -A'")
-        cls.space = gettestobjspace(usemodules=('bz2',))
         largetest_bz2 = py.path.local(__file__).dirpath().join("largetest.bz2")
         cls.w_compressed_data = cls.space.wrap(largetest_bz2.read('rb'))
 
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to