##// END OF EJS Templates
Merge pull request #1768 from minrk/parallelmagics...
Merge pull request #1768 from minrk/parallelmagics Update parallel magics They now display all output, so you can do parallel plotting or other actions with complex display. The `px` magic has now both line and cell modes, and in cell mode finer control has been added about how to collate output from multiple engines. Tests, docs and example notebook added.

File last commit:

r5390:c82649ea
r7060:a1360828 merge
Show More
test_tools.py
90 lines | 2.7 KiB | text/x-python | PythonLexer
Brian Granger
Adding test_tools.py
r1983 # encoding: utf-8
"""
Tests for testing.tools
"""
#-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2008-2011 The IPython Development Team
Brian Granger
Adding test_tools.py
r1983 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Fernando Perez
More win32 test fixes and a new test....
r2451 from __future__ import with_statement
Brian Granger
Adding test_tools.py
r1983
import os
import sys
Thomas Kluyver
Add AssertPrints context manager to check output from tests.
r4901 import unittest
Brian Granger
Adding test_tools.py
r1983
import nose.tools as nt
from IPython.testing import decorators as dec
Fernando Perez
More win32 test fixes and a new test....
r2451 from IPython.testing import tools as tt
Brian Granger
Adding test_tools.py
r1983
#-----------------------------------------------------------------------------
# Tests
#-----------------------------------------------------------------------------
@dec.skip_win32
def test_full_path_posix():
spath = '/foo/bar.py'
Fernando Perez
More win32 test fixes and a new test....
r2451 result = tt.full_path(spath,['a.txt','b.txt'])
Brian Granger
Adding test_tools.py
r1983 nt.assert_equal(result, ['/foo/a.txt', '/foo/b.txt'])
spath = '/foo'
Fernando Perez
More win32 test fixes and a new test....
r2451 result = tt.full_path(spath,['a.txt','b.txt'])
Brian Granger
Adding test_tools.py
r1983 nt.assert_equal(result, ['/a.txt', '/b.txt'])
Fernando Perez
More win32 test fixes and a new test....
r2451 result = tt.full_path(spath,'a.txt')
Brian Granger
Adding test_tools.py
r1983 nt.assert_equal(result, ['/a.txt'])
@dec.skip_if_not_win32
def test_full_path_win32():
spath = 'c:\\foo\\bar.py'
Fernando Perez
More win32 test fixes and a new test....
r2451 result = tt.full_path(spath,['a.txt','b.txt'])
Brian Granger
Adding test_tools.py
r1983 nt.assert_equal(result, ['c:\\foo\\a.txt', 'c:\\foo\\b.txt'])
spath = 'c:\\foo'
Fernando Perez
More win32 test fixes and a new test....
r2451 result = tt.full_path(spath,['a.txt','b.txt'])
Brian Granger
Adding test_tools.py
r1983 nt.assert_equal(result, ['c:\\a.txt', 'c:\\b.txt'])
Fernando Perez
More win32 test fixes and a new test....
r2451 result = tt.full_path(spath,'a.txt')
Fernando Perez
Add test utility for parsing test output from stdout/stderr
r2353 nt.assert_equal(result, ['c:\\a.txt'])
Fernando Perez
More win32 test fixes and a new test....
r2451
@dec.parametric
Fernando Perez
Add test utility for parsing test output from stdout/stderr
r2353 def test_parser():
err = ("FAILED (errors=1)", 1, 0)
fail = ("FAILED (failures=1)", 0, 1)
both = ("FAILED (errors=1, failures=1)", 1, 1)
for txt, nerr, nfail in [err, fail, both]:
Fernando Perez
More win32 test fixes and a new test....
r2451 nerr1, nfail1 = tt.parse_test_output(txt)
yield nt.assert_equal(nerr, nerr1)
yield nt.assert_equal(nfail, nfail1)
@dec.parametric
def test_temp_pyfile():
src = 'pass\n'
fname, fh = tt.temp_pyfile(src)
yield nt.assert_true(os.path.isfile(fname))
fh.close()
with open(fname) as fh2:
src2 = fh2.read()
yield nt.assert_equal(src2, src)
Thomas Kluyver
Add AssertPrints context manager to check output from tests.
r4901
class TestAssertPrints(unittest.TestCase):
def test_passing(self):
with tt.AssertPrints("abc"):
print "abcd"
print "def"
print b"ghi"
def test_failing(self):
def func():
with tt.AssertPrints("abc"):
print "acd"
print "def"
print b"ghi"
self.assertRaises(AssertionError, func)