[pypy-commit] pypy default: move import tests into their own file
antocuni
noreply at buildbot.pypy.org
Tue Jun 7 17:05:01 CEST 2011
Author: Antonio Cuni <anto.cuni at gmail.com>
Branch:
Changeset: r44807:c00e61eaccf7
Date: 2011-06-07 16:51 +0200
http://bitbucket.org/pypy/pypy/changeset/c00e61eaccf7/
Log: move import tests into their own file
diff --git a/pypy/module/pypyjit/test_pypy_c/test_import.py b/pypy/module/pypyjit/test_pypy_c/test_import.py
new file mode 100644
--- /dev/null
+++ b/pypy/module/pypyjit/test_pypy_c/test_import.py
@@ -0,0 +1,46 @@
+import py
+from pypy.module.pypyjit.test_pypy_c.test_model import BaseTestPyPyC
+
+class TestImport(BaseTestPyPyC):
+
+ def test_import_in_function(self):
+ def main(n):
+ i = 0
+ while i < n:
+ from sys import version # ID: import
+ i += 1
+ return i
+ #
+ log = self.run(main, [500])
+ assert log.result == 500
+ loop, = log.loops_by_id('import')
+ assert loop.match_by_id('import', """
+ p11 = getfield_gc(ConstPtr(ptr10), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>)
+ guard_value(p11, ConstPtr(ptr12), descr=<Guard4>)
+ guard_not_invalidated(descr=<Guard5>)
+ p14 = getfield_gc(ConstPtr(ptr13), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>)
+ p16 = getfield_gc(ConstPtr(ptr15), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>)
+ guard_value(p14, ConstPtr(ptr17), descr=<Guard6>)
+ guard_isnull(p16, descr=<Guard7>)
+ """)
+
+ def test_import_fast_path(self, tmpdir):
+ pkg = tmpdir.join('mypkg').ensure(dir=True)
+ pkg.join('__init__.py').write("")
+ pkg.join('mod.py').write(str(py.code.Source("""
+ def do_the_import():
+ import sys
+ """)))
+ def main(path, n):
+ import sys
+ sys.path.append(path)
+ from mypkg.mod import do_the_import
+ for i in range(n):
+ do_the_import()
+ #
+ log = self.run(main, [str(tmpdir), 300])
+ loop, = log.loops_by_filename(self.filepath)
+ # this is a check for a slow-down that introduced a
+ # call_may_force(absolute_import_with_lock).
+ for opname in log.opnames(loop.allops(opcode="IMPORT_NAME")):
+ assert 'call' not in opname # no call-like opcode
diff --git a/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py b/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py
--- a/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py
+++ b/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py
@@ -149,47 +149,6 @@
assert len(loops) == 1
- def test_import_in_function(self):
- def main(n):
- i = 0
- while i < n:
- from sys import version # ID: import
- i += 1
- return i
- #
- log = self.run(main, [500])
- assert log.result == 500
- loop, = log.loops_by_id('import')
- assert loop.match_by_id('import', """
- p11 = getfield_gc(ConstPtr(ptr10), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>)
- guard_value(p11, ConstPtr(ptr12), descr=<Guard4>)
- guard_not_invalidated(descr=<Guard5>)
- p14 = getfield_gc(ConstPtr(ptr13), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>)
- p16 = getfield_gc(ConstPtr(ptr15), descr=<GcPtrFieldDescr pypy.objspace.std.celldict.ModuleCell.inst_w_value 8>)
- guard_value(p14, ConstPtr(ptr17), descr=<Guard6>)
- guard_isnull(p16, descr=<Guard7>)
- """)
-
- def test_import_fast_path(self, tmpdir):
- pkg = tmpdir.join('mypkg').ensure(dir=True)
- pkg.join('__init__.py').write("")
- pkg.join('mod.py').write(str(py.code.Source("""
- def do_the_import():
- import sys
- """)))
- def main(path, n):
- import sys
- sys.path.append(path)
- from mypkg.mod import do_the_import
- for i in range(n):
- do_the_import()
- #
- log = self.run(main, [str(tmpdir), 300])
- loop, = log.loops_by_filename(self.filepath)
- # this is a check for a slow-down that introduced a
- # call_may_force(absolute_import_with_lock).
- for opname in log.opnames(loop.allops(opcode="IMPORT_NAME")):
- assert 'call' not in opname # no call-like opcode
def test_unpack_iterable_non_list_tuple(self):
def main(n):
@@ -225,8 +184,6 @@
""")
-
-
def test_min_max(self):
def main():
i=0
More information about the pypy-commit
mailing list