Author: fijal
Branch: improve-vmprof-testing
Changeset: r86032:31850c5d6db3
Date: 2016-08-05 17:19 +0200
http://bitbucket.org/pypy/pypy/changeset/31850c5d6db3/

Log:    work on test

diff --git a/rpython/jit/backend/test/test_rvmprof.py 
b/rpython/jit/backend/test/test_rvmprof.py
--- a/rpython/jit/backend/test/test_rvmprof.py
+++ b/rpython/jit/backend/test/test_rvmprof.py
@@ -14,22 +14,22 @@
         visited = []
 
         def helper():
+            trace = []
             stack = cintf.vmprof_tl_stack.getraw()
-            print stack
-            if stack:
-                # not during tracing
-                visited.append(stack.c_value)
-            else:
-                visited.append(0)
+            while stack:
+                trace.append((stack.c_kind, stack.c_value))
+                stack = stack.c_next
+            visited.append(trace)
 
         llfn = llhelper(lltype.Ptr(lltype.FuncType([], lltype.Void)), helper)
 
         driver = jit.JitDriver(greens=['code'], reds='auto')
 
         class CodeObj(object):
-            pass
+            def __init__(self, name):
+                self.name = name
 
-        def get_code_fn(code, arg):
+        def get_code_fn(codes, code, arg):
             return code
 
         def get_name(code):
@@ -39,18 +39,21 @@
 
         @vmprof_execute_code("main", get_code_fn,
                              _hack_update_stack_untranslated=True)
-        def f(code, n):
+        def f(codes, code, n):
             i = 0
             while i < n:
                 driver.jit_merge_point(code=code)
+                if code.name == "main":
+                    f(codes, codes[1], 5)
                 i += 1
                 llfn()
 
         def main(n):
             vmprof = _get_vmprof()
-            code = CodeObj()
-            register_code(code, get_name)
-            return f(code, n)
+            codes = [CodeObj("main"), CodeObj("not main")]
+            for code in codes:
+                register_code(code, get_name)
+            return f(codes, codes[0], n)
 
         class Hooks(jit.JitHookInterface):
             def after_compile(self, debug_info):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to