Warning
This documentation is for an old version of IPython. You can find docs for newer versions here.
Module: testing.tools¶
Generic testing tools.
Authors¶
- Fernando Perez <Fernando.Perez@berkeley.edu>
4 Classes¶
- 
class IPython.testing.tools.TempFileMixin¶
- Bases: - object- Utility class to create temporary Python/IPython files. - Meant as a mixin class for test cases. - 
mktmp(src, ext='.py')¶
- Make a valid python temp file. 
 
- 
- 
IPython.testing.tools.MyStringIO¶
- alias of - StringIO
- 
class IPython.testing.tools.AssertPrints(s, channel='stdout', suppress=True)¶
- Bases: - object- Context manager for testing that code prints certain text. - Examples - >>> with AssertPrints("abc", suppress=False): ... print("abcd") ... print("def") ... abcd def - 
__init__(s, channel='stdout', suppress=True)¶
 
- 
- 
class IPython.testing.tools.AssertNotPrints(s, channel='stdout', suppress=True)¶
- Bases: - IPython.testing.tools.AssertPrints- Context manager for checking that certain output isn’t produced. - Counterpart of AssertPrints 
14 Functions¶
- 
IPython.testing.tools.full_path(startPath, files)¶
- Make full paths for all the listed files, based on startPath. - Only the base part of startPath is kept, since this routine is typically used with a script’s - __file__variable as startPath. The base of startPath is then prepended to all the listed files, forming the output list.- Parameters: - startPath : string - Initial path to use as the base for the results. This path is split using os.path.split() and only its first component is kept. - files : string or list - One or more files. - Examples - >>> full_path('/foo/bar.py',['a.txt','b.txt']) ['/foo/a.txt', '/foo/b.txt'] - >>> full_path('/foo',['a.txt','b.txt']) ['/a.txt', '/b.txt'] - If a single file is given, the output is still a list: - >>> full_path('/foo','a.txt') ['/a.txt'] 
- 
IPython.testing.tools.parse_test_output(txt)¶
- Parse the output of a test run and return errors, failures. - Parameters: - txt : str - Text output of a test run, assumed to contain a line of one of the following forms: - 'FAILED (errors=1)' 'FAILED (failures=1)' 'FAILED (errors=1, failures=1)' - Returns: - nerr, nfail - number of errors and failures. 
- 
IPython.testing.tools.default_argv()¶
- Return a valid default argv for creating testing instances of ipython 
- 
IPython.testing.tools.default_config()¶
- Return a config object with good defaults for testing. 
- 
IPython.testing.tools.get_ipython_cmd(as_string=False)¶
- Return appropriate IPython command line name. By default, this will return a list that can be used with subprocess.Popen, for example, but passing - as_string=Trueallows for returning the IPython command as a string.- Parameters: - as_string: bool - Flag to allow to return the command as a string. 
- 
IPython.testing.tools.ipexec(fname, options=None, commands=())¶
- Utility to call ‘ipython filename’. - Starts IPython with a minimal and safe configuration to make startup as fast as possible. - Note that this starts IPython in a subprocess! - Parameters: - fname : str - Name of file to be executed (should have .py or .ipy extension). - options : optional, list - Extra command-line flags to be passed to IPython. - commands : optional, list - Commands to send in on stdin - Returns: - (stdout, stderr) of ipython subprocess. 
- 
IPython.testing.tools.ipexec_validate(fname, expected_out, expected_err='', options=None, commands=())¶
- Utility to call ‘ipython filename’ and validate output/error. - This function raises an AssertionError if the validation fails. - Note that this starts IPython in a subprocess! - Parameters: - fname : str - Name of the file to be executed (should have .py or .ipy extension). - expected_out : str - Expected stdout of the process. - expected_err : optional, str - Expected stderr of the process. - options : optional, list - Extra command-line flags to be passed to IPython. - Returns: - None 
- 
IPython.testing.tools.check_pairs(func, pairs)¶
- Utility function for the common case of checking a function with a sequence of input/output pairs. - Parameters: - func : callable - The function to be tested. Should accept a single argument. - pairs : iterable - A list of (input, expected_output) tuples. - Returns: - None. Raises an AssertionError if any output does not match the expected - value. 
- 
IPython.testing.tools.mute_warn()¶
- 
IPython.testing.tools.make_tempfile(name)¶
- Create an empty, named, temporary file for the duration of the context. 
- 
IPython.testing.tools.monkeypatch(obj, name, attr)¶
- Context manager to replace attribute named - namein- objwith- attr.
- 
IPython.testing.tools.help_output_test(subcommand='')¶
- test that - ipython [subcommand] -hworks
- 
IPython.testing.tools.help_all_output_test(subcommand='')¶
- test that - ipython [subcommand] --help-allworks
- 
IPython.testing.tools.assert_big_text_equal(a, b, chunk_size=80)¶
- assert that large strings are equal - Zooms in on first chunk that differs, to give better info than vanilla assertEqual for large text blobs. 
