summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/tools/py/doc/io.txt
blob: c11308a6d2859dff898503ff5ab674b058e8ad11 (plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
=======
py.io
=======


The 'py' lib provides helper classes for capturing IO during
execution of a program.

IO Capturing examples
===============================================

``py.io.StdCapture``
---------------------------

Basic Example::

  >>> import py
  >>> capture = py.io.StdCapture()
  >>> print "hello"
  >>> out,err = capture.reset()
  >>> out.strip() == "hello"
  True

For calling functions you may use a shortcut::

  >>> import py
  >>> def f(): print "hello"
  >>> res, out, err = py.io.StdCapture.call(f)
  >>> out.strip() == "hello"
  True

``py.io.StdCaptureFD``
---------------------------

If you also want to capture writes to the stdout/stderr
filedescriptors you may invoke::

  >>> import py, sys
  >>> capture = py.io.StdCaptureFD(out=False, in_=False)
  >>> sys.stderr.write("world")
  >>> out,err = capture.reset()
  >>> err
  'world'

py.io object reference
============================

.. autoclass:: py.io.StdCaptureFD
    :members: 
    :inherited-members:

.. autoclass:: py.io.StdCapture
    :members: 
    :inherited-members:

.. autoclass:: py.io.TerminalWriter
    :members: 
    :inherited-members: