[pypy-svn] r64663 - pypy/branch/pyjitpl5/pypy/jit/metainterp/test

benjamin at codespeak.net benjamin at codespeak.net
Sat Apr 25 03:18:35 CEST 2009


Author: benjamin
Date: Sat Apr 25 03:18:34 2009
New Revision: 64663

Added:
   pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_history.py   (contents, props changed)
Log:
add a test for serializing ConstInt

Added: pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_history.py
==============================================================================
--- (empty file)
+++ pypy/branch/pyjitpl5/pypy/jit/metainterp/test/test_history.py	Sat Apr 25 03:18:34 2009
@@ -0,0 +1,20 @@
+import py
+
+from pypy.rlib import objectmodel
+from pypy.translator.translator import TranslationContext
+from pypy.jit.backend.llgraph.runner import LLtypeCPU
+from pypy.jit.metainterp import codewriter, history
+
+def check_roundtrip(v):
+    bytecode = codewriter.assemble_constant_code(v.serialize())
+    decoder = codewriter.JitCodeDecoder(bytecode)
+    const_type = decoder.load_int()
+    cpu = LLtypeCPU(TranslationContext())
+    result = history.unserialize_prebuilt(const_type, decoder, cpu)
+    assert result == v
+
+def test_serialize_const_int():
+    check_roundtrip(history.ConstInt(4))
+
+    sym = history.ConstInt(objectmodel.CDefinedIntSymbolic(4))
+    py.test.raises(history.Unserializable, sym.serialize)



More information about the Pypy-commit mailing list