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

rlib/test/test_rfile.py::TestFile::()::test_read_write

self = <rpython.rlib.test.test_rfile.TestFile object at 0x0000023cd5c5c8a8>

    def test_read_write(self):
        fname = str(self.tmpdir.join('file_2'))
    
        def f():
            f = open(fname, "w")
            try:
                f.read()
            except IOError as e:
                pass
            else:
                assert False
            try:
                f.readline()
            except IOError as e:
                pass
            else:
                assert False
            f.write("dupa\x00dupb")
            f.close()
            for mode in ['r', 'U']:
                f2 = open(fname, mode)
                try:
                    f2.write('z')
                except IOError as e:
                    pass
                else:
                    assert False
                dupa = f2.read(0)
                assert dupa == ""
                dupa = f2.read()
                assert dupa == "dupa\x00dupb"
                f2.seek(0)
                dupa = f2.readline(0)
                assert dupa == ""
                dupa = f2.readline(2)
                assert dupa == "du"
                dupa = f2.readline(100)
                assert dupa == "pa\x00dupb"
                f2.seek(0)
                dupa = f2.readline()
                assert dupa == "dupa\x00dupb"
                f2.close()
    
        f()
        os.unlink(fname)
>       self.interpret(f, [])

rlib\test\test_rfile.py:233: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
rtyper\test\tool.py:16: in interpret
    return interpret(fn, args, **kwds)
rtyper\test\test_llinterp.py:102: in interpret
    result = interp.eval_graph(graph, values)
rtyper\llinterp.py:102: in eval_graph
    retval = llframe.eval()
rtyper\llinterp.py:300: in eval
    nextblock, args = self.eval_block(nextblock)
rtyper\llinterp.py:329: in eval_block
    rstackovf.check_stack_overflow()
rtyper\llinterp.py:324: in eval_block
    self.eval_operation(op)
rtyper\llinterp.py:427: in eval_operation
    retval = ophandler(*vals)
rtyper\llinterp.py:702: in op_direct_call
    return self.perform_call(f, FTYPE.ARGS, args)
rtyper\llinterp.py:698: in perform_call
    return frame.eval()
rtyper\llinterp.py:300: in eval
    nextblock, args = self.eval_block(nextblock)
rtyper\llinterp.py:329: in eval_block
    rstackovf.check_stack_overflow()
rtyper\llinterp.py:324: in eval_block
    self.eval_operation(op)
rtyper\llinterp.py:427: in eval_operation
    retval = ophandler(*vals)
rtyper\llinterp.py:702: in op_direct_call
    return self.perform_call(f, FTYPE.ARGS, args)
rtyper\llinterp.py:698: in perform_call
    return frame.eval()
rtyper\llinterp.py:300: in eval
    nextblock, args = self.eval_block(nextblock)
rtyper\llinterp.py:329: in eval_block
    rstackovf.check_stack_overflow()
rtyper\llinterp.py:324: in eval_block
    self.eval_operation(op)
rtyper\llinterp.py:427: in eval_operation
    retval = ophandler(*vals)
rtyper\llinterp.py:702: in op_direct_call
    return self.perform_call(f, FTYPE.ARGS, args)
rtyper\llinterp.py:698: in perform_call
    return frame.eval()
rtyper\llinterp.py:300: in eval
    nextblock, args = self.eval_block(nextblock)
rtyper\llinterp.py:329: in eval_block
    rstackovf.check_stack_overflow()
rtyper\llinterp.py:324: in eval_block
    self.eval_operation(op)
rtyper\llinterp.py:427: in eval_operation
    retval = ophandler(*vals)
rtyper\llinterp.py:702: in op_direct_call
    return self.perform_call(f, FTYPE.ARGS, args)
rtyper\llinterp.py:698: in perform_call
    return frame.eval()
rtyper\llinterp.py:300: in eval
    nextblock, args = self.eval_block(nextblock)
rtyper\llinterp.py:329: in eval_block
    rstackovf.check_stack_overflow()
rtyper\llinterp.py:324: in eval_block
    self.eval_operation(op)
rtyper\llinterp.py:427: in eval_operation
    retval = ophandler(*vals)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <rpython.rtyper.llinterp.LLFrame object at 0x0000023cd57571d8>, obj = 11

    def op_gc_get_stats(self, obj):
>       raise NotImplementedError("gc_get_stats")
E       NotImplementedError: gc_get_stats

rtyper\llinterp.py:764: NotImplementedError
---------- Captured stderr call ----------
[platform:msg] Updated environment with vsver 160, using x64 True
[rtyper] specializing: 100 / 978 blocks   (10%)
[rtyper] specializing: 200 / 978 blocks   (20%)
[rtyper] specializing: 300 / 1031 blocks   (29%)
[rtyper] specializing: 400 / 1052 blocks   (38%)
[rtyper] specializing: 500 / 1061 blocks   (47%)
[rtyper] specializing: 600 / 1061 blocks   (56%)
[rtyper] specializing: 700 / 1072 blocks   (65%)
[rtyper] specializing: 800 / 1072 blocks   (74%)
[rtyper] specializing: 900 / 1077 blocks   (83%)
[rtyper] specializing: 1000 / 1079 blocks   (92%)
[rtyper] -=- specialized 1079 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
builder: rpython-win-x86-64 build #772*
test: rlib/test/test_rfile.py::TestFile::()::test_read_write