File: test_print.py

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (29 lines) | stat: -rw-r--r-- 862 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class AppTestPrint:

    def test_print_flush(self):
        """
        # operation of the flush flag
        class filelike():
            def __init__(self):
                self.written = ''
                self.flushed = 0
            def write(self, str):
                self.written += str
            def flush(self):
                self.flushed += 1

        f = filelike()
        print(1, file=f, end='', flush=True)
        print(2, file=f, end='', flush=True)
        print(3, file=f, flush=False)
        assert f.written == '123\\n'
        assert f.flushed == 2

        # ensure exceptions from flush are passed through
        class noflush():
            def write(self, str):
                pass
            def flush(self):
                raise RuntimeError
        raises(RuntimeError, print, 1, file=noflush(), flush=True)
        """