[pypy-svn] r20302 - in pypy/branch/somepbc-refactoring/pypy: rpython/test translator translator/test

pedronis at codespeak.net pedronis at codespeak.net
Sun Nov 27 03:39:08 CET 2005


Author: pedronis
Date: Sun Nov 27 03:39:06 2005
New Revision: 20302

Modified:
   pypy/branch/somepbc-refactoring/pypy/rpython/test/test_normalizecalls.py
   pypy/branch/somepbc-refactoring/pypy/rpython/test/test_objectmodel.py
   pypy/branch/somepbc-refactoring/pypy/rpython/test/test_rbuiltin.py
   pypy/branch/somepbc-refactoring/pypy/translator/test/test_annrpython.py
   pypy/branch/somepbc-refactoring/pypy/translator/translator.py
Log:
move a single version of graphof as a testing helper to translator/translator.py


Modified: pypy/branch/somepbc-refactoring/pypy/rpython/test/test_normalizecalls.py
==============================================================================
--- pypy/branch/somepbc-refactoring/pypy/rpython/test/test_normalizecalls.py	(original)
+++ pypy/branch/somepbc-refactoring/pypy/rpython/test/test_normalizecalls.py	Sun Nov 27 03:39:06 2005
@@ -1,5 +1,5 @@
 from pypy.annotation import model as annmodel
-from pypy.translator.translator import Translator
+from pypy.translator.translator import Translator, graphof
 from pypy.rpython.rtyper import RPythonTyper
 from pypy.rpython.test.test_llinterp import interpret
 from pypy.rpython.lltypesystem import lltype
@@ -14,14 +14,6 @@
     t.checkgraphs()
     return t
 
-def graphof(translator, func):
-    result = []
-    for graph in translator.graphs:
-        if getattr(graph, 'func', None) is func:
-            result.append(graph)
-    assert len(result) == 1
-    return result[0]
-
 # ____________________________________________________________
 
 def test_normalize_f2_as_taking_string_argument():

Modified: pypy/branch/somepbc-refactoring/pypy/rpython/test/test_objectmodel.py
==============================================================================
--- pypy/branch/somepbc-refactoring/pypy/rpython/test/test_objectmodel.py	(original)
+++ pypy/branch/somepbc-refactoring/pypy/rpython/test/test_objectmodel.py	Sun Nov 27 03:39:06 2005
@@ -1,16 +1,7 @@
 from pypy.rpython.objectmodel import *
-from pypy.translator.translator import Translator
+from pypy.translator.translator import Translator, graphof
 from pypy.rpython.test.test_llinterp import interpret
 
-
-def graphof(translator, func):
-    result = []
-    for graph in translator.graphs:
-        if getattr(graph, 'func', None) is func:
-            result.append(graph)
-    assert len(result) == 1
-    return result[0]
-
 def test_we_are_translated():
     assert we_are_translated() == False
 

Modified: pypy/branch/somepbc-refactoring/pypy/rpython/test/test_rbuiltin.py
==============================================================================
--- pypy/branch/somepbc-refactoring/pypy/rpython/test/test_rbuiltin.py	(original)
+++ pypy/branch/somepbc-refactoring/pypy/rpython/test/test_rbuiltin.py	Sun Nov 27 03:39:06 2005
@@ -1,8 +1,8 @@
+from pypy.translator.translator import graphof
 from pypy.rpython.test.test_llinterp import interpret
 from pypy.rpython.test import test_llinterp
 from pypy.rpython.objectmodel import instantiate, we_are_translated
 from pypy.rpython.lltypesystem import lltype
-from pypy.objspace.flow import model as flowmodel
 from pypy.tool import udir
 
 from pypy.annotation.builtin import *
@@ -69,17 +69,8 @@
 
 def enum_direct_calls(translator, func):
     blocks = []
-    result = []
-    for graph in translator.graphs:
-        if getattr(graph, 'func', None) is func:
-            result.append(graph)
-    assert len(result) == 1
-    graph = result[0]
-    def visit(block):
-        if isinstance(block, flowmodel.Block):
-            blocks.append(block)
-    flowmodel.traverse(visit, graph)
-    for block in blocks:
+    graph = graphof(translator, func)
+    for block in graph.iterblocks():
         for op in block.operations:
             if op.opname == 'direct_call':
                 yield op

Modified: pypy/branch/somepbc-refactoring/pypy/translator/test/test_annrpython.py
==============================================================================
--- pypy/branch/somepbc-refactoring/pypy/translator/test/test_annrpython.py	(original)
+++ pypy/branch/somepbc-refactoring/pypy/translator/test/test_annrpython.py	Sun Nov 27 03:39:06 2005
@@ -4,7 +4,7 @@
 from pypy.tool.udir import udir
 
 from pypy.translator.annrpython import annmodel
-from pypy.translator.translator import Translator
+from pypy.translator.translator import graphof as tgraphof
 from pypy.annotation import policy
 from pypy.annotation import specialize
 from pypy.annotation.listdef import ListDef
@@ -15,6 +15,9 @@
 
 from pypy.translator.test import snippet
 
+def graphof(a, func):
+    return tgraphof(a.translator, func)
+
 def listitem(s_list):
     assert isinstance(s_list, annmodel.SomeList)
     return s_list.listdef.listitem.s_value
@@ -33,14 +36,6 @@
 def somedict(s_key=annmodel.SomeObject(), s_value=annmodel.SomeObject()):
     return annmodel.SomeDict(DictDef(None, s_key, s_value))
 
-def graphof(a, func):
-    result = []
-    for graph in a.translator.graphs:
-        if getattr(graph, 'func', None) is func:
-            result.append(graph)
-    assert len(result) == 1
-    return result[0]
-
 
 class TestAnnotateTestCase:
     def setup_class(cls): 

Modified: pypy/branch/somepbc-refactoring/pypy/translator/translator.py
==============================================================================
--- pypy/branch/somepbc-refactoring/pypy/translator/translator.py	(original)
+++ pypy/branch/somepbc-refactoring/pypy/translator/translator.py	Sun Nov 27 03:39:06 2005
@@ -80,6 +80,18 @@
         for graph in self.graphs:
             checkgraph(graph)
 
+# _______________________________________________________________
+# testing helper
+
+def graphof(translator, func):
+    result = []
+    for graph in translator.graphs:
+        if getattr(graph, 'func', None) is func:
+            result.append(graph)
+    assert len(result) == 1
+    return result[0]
+
+# _______________________________________________________________
 
 class Translator(TranslationContext):
 



More information about the Pypy-commit mailing list