rlib/test/test_rfile.py::TestFile::()::test_read_universal
self = <rpython.rlib.test.test_rfile.TestFile object at 0x0be66590>
def test_read_universal(self):
fname = str(self.tmpdir.join('read_univ'))
with open(fname, 'wb') as f:
f.write("dupa\ndupb\r\ndupc\rdupd")
def f():
f = open(fname, 'U')
assert f.read() == "dupa\ndupb\ndupc\ndupd"
assert f.read() == ""
f.seek(0)
assert f.read(10) == "dupa\ndupb\n"
assert f.read(42) == "dupc\ndupd"
assert f.read(1) == ""
f.seek(0)
assert f.readline() == "dupa\n"
assert f.tell() == 5
assert f.readline() == "dupb\n"
assert f.tell() == 11
assert f.readline() == "dupc\n"
assert f.tell() == 16
assert f.readline() == "dupd"
assert f.tell() == 20
assert f.readline() == ""
f.seek(0)
assert f.readline() == "dupa\n"
assert f.readline() == "dupb\n"
f.seek(4)
assert f.read(1) == "\n"
f.close()
f()
> self.interpret(f, [])
rlib/test/test_rfile.py:288:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x0d688a90>, 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 ----------
[rtyper] specializing: 100 / 745 blocks (13%)
[rtyper] specializing: 200 / 745 blocks (26%)
[rtyper] specializing: 300 / 802 blocks (37%)
[rtyper] specializing: 400 / 802 blocks (49%)
[rtyper] specializing: 500 / 810 blocks (61%)
[rtyper] specializing: 600 / 824 blocks (72%)
[rtyper] specializing: 700 / 824 blocks (84%)
[rtyper] specializing: 800 / 826 blocks (96%)
[rtyper] -=- specialized 826 blocks -=-
[rtyper] -=- specialized 4 more blocks -=-
builder: rpython-linux-x86-32 build #772*
test: rlib/test/test_rfile.py::TestFile::()::test_read_universal