Home - Summaries: (main) : (py3.11) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

memory/gctransform/test/test_framework.py::test_no_collect_detection

def test_no_collect_detection():
        from rpython.rlib import rgc
        from rpython.translator.c.genc import CStandaloneBuilder
    
        class A(object):
            def __init__(self, x):
                self.x = x
    
        @rgc.no_collect
        def g():
            return A(1).x
    
        assert g._dont_inline_
        assert g._gc_no_collect_
    
        def entrypoint(argv):
            return g() + 2
    
        t = rtype(entrypoint, [s_list_of_strings])
        t.config.translation.gc = "minimark"
        cbuild = CStandaloneBuilder(t, entrypoint, t.config,
                                    gcpolicy=FrameworkGcPolicy2)
        cbuild.make_entrypoint_wrapper = False
        with py.test.raises(Exception) as f:
            cbuild.build_database()
        expected = "'no_collect' function can trigger collection: <function g at "
>       assert str(f.value).startswith(expected)
E       assert <built-in method startswith of str object at 0xf56e63c0>("'no_collect' function can trigger collection: <function g at ")
E        +  where <built-in method startswith of str object at 0xf56e63c0> = "Non-ASCII character '\\xe2' in file /build_dir/rpython-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details (env.py, line 423)".startswith
E        +    where "Non-ASCII character '\\xe2' in file /build_dir/rpython-linux-x86-32/build/rpython/memory/gc/env.py on line 423, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details (env.py, line 423)" = str(SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/rpython-linux-x86-.../build_dir/rpython-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)))
E        +      where SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/rpython-linux-x86-.../build_dir/rpython-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) = SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/rpython-linux-x86-.../build_dir/rpython-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None))
E        +        where SyntaxError("Non-ASCII character '\\xe2' in file /build_dir/rpython-linux-x86-.../build_dir/rpython-linux-x86-32/build/rpython/memory/gc/env.py', 423, 0, None)) = <ExceptionInfo SyntaxError tblen=7>.value

memory/gctransform/test/test_framework.py:148: AssertionError
---------- Captured stderr call ----------
[rtyper] -=- specialized 8 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
[rtyper] -=- specialized 25 more blocks -=-
builder: rpython-linux-x86-32 build #832
test: memory/gctransform/test/test_framework/py/test_no_collect_detection