[pypy-svn] rev 2054 - pypy/trunk/src/pypy/translator/test

arigo at codespeak.net arigo at codespeak.net
Sat Oct 25 18:26:23 CEST 2003


Author: arigo
Date: Sat Oct 25 18:26:22 2003
New Revision: 2054

Modified:
   pypy/trunk/src/pypy/translator/test/test_sourcegen.py
Log:
Fixed for the new flow model


Modified: pypy/trunk/src/pypy/translator/test/test_sourcegen.py
==============================================================================
--- pypy/trunk/src/pypy/translator/test/test_sourcegen.py	(original)
+++ pypy/trunk/src/pypy/translator/test/test_sourcegen.py	Sat Oct 25 18:26:22 2003
@@ -4,9 +4,9 @@
 from pypy.tool.udir import udir
 
 from pypy.translator.genpyrex import GenPyrex
-from pypy.translator.flowmodel import *
+from pypy.objspace.flow.model import *
 
-from pypy.translator.test.buildpyxmodule import make_module_from_pyxstring
+from pypy.translator.tool.buildpyxmodule import make_module_from_pyxstring
 #from pypy.translator.test.make_dot import make_ps
 
 class SourceGenTestCase(test.IntTestCase):
@@ -19,11 +19,10 @@
         x = Variable("x")
         result = Variable("result")
         op = SpaceOperation("add", [x, Constant(1)], result)
-        endbranch = EndBranch(result)
-        block = BasicBlock([x], [x], 
-                           [op],
-                           endbranch)
-        fun = FunctionGraph(block, "f")
+        block = Block([x])
+        fun = FunctionGraph("f", block)
+        block.operations.append(op)
+        block.closeblock(Link([result], fun.returnblock))
         result = GenPyrex(fun).emitcode()
         mod = make_module_from_pyxstring('test_source1', udir, result)
         self.assertEquals(mod.f(1), 2)
@@ -39,18 +38,16 @@
         i = Variable("i")
         j = Variable("j")
 
-        endbranchelse = EndBranch(i)
-        endbranchif = EndBranch(j)
-
         conditionres = Variable("conditionres")
         conditionop = SpaceOperation("lt", [i, Constant(0)], conditionres)
-    
-        conditionalbranch = ConditionalBranch(conditionres, endbranchif, endbranchelse)
-
-        startblock = BasicBlock([i, j], [i, j, conditionres], 
-                           [conditionop],
-                           conditionalbranch)
-        fun = FunctionGraph(startblock, "f")
+        startblock = Block([i, j])
+        
+        fun = FunctionGraph("f", startblock)
+        startblock.operations.append(conditionop)
+        startblock.exitswitch = conditionres
+        startblock.closeblock(Link([i], fun.returnblock, False),
+                              Link([j], fun.returnblock, True))
+        
         result = GenPyrex(fun).emitcode()
         mod = make_module_from_pyxstring('test_source2', udir, result)
         self.assertEquals(mod.f(-1, 42), 42)
@@ -73,25 +70,20 @@
         conditionop = SpaceOperation("gt", [i, Constant(0)], conditionres)
         decop = SpaceOperation("add", [i, Constant(-1)], i)
         addop = SpaceOperation("add", [i, sum], sum)
+        startblock = Block([i])
+        headerblock = Block([i, sum])
+        whileblock = Block([i, sum])
+
+        fun = FunctionGraph("f", startblock)
+        startblock.closeblock(Link([i, Constant(0)], headerblock))
+        headerblock.operations.append(conditionop)
+        headerblock.exitswitch = conditionres
+        headerblock.closeblock(Link([sum], fun.returnblock, False),
+                               Link([i, sum], whileblock, True))
+        whileblock.operations.append(addop)
+        whileblock.operations.append(decop)
+        whileblock.closeblock(Link([i, sum], headerblock))
 
-        conditionbranch = ConditionalBranch()
-        headerbranch = Branch()
-        headerbranch2 = Branch()
-        whileblock = BasicBlock([i, sum], [i, sum], [addop, decop], headerbranch2)
-        whilebranch = Branch([i, sum], whileblock)
-        
-        endbranch = EndBranch(sum)
-        conditionbranch.set(conditionres, whilebranch, endbranch)
-
-        headerblock = BasicBlock([i, sum], [i, conditionres],
-                                 [conditionop], conditionbranch)
-
-        headerbranch.set([i, Constant(0)], headerblock)
-        headerbranch2.set([i, sum], headerblock)
-        startblock = BasicBlock([i], [i, sum], 
-                                [], headerbranch)
-
-        fun = FunctionGraph(startblock, "f")
         result = GenPyrex(fun).emitcode()
         mod = make_module_from_pyxstring('test_source4', udir, result)
         self.assertEquals(mod.f(3), 6)


More information about the Pypy-commit mailing list