##// END OF EJS Templates
avoid references to fiel out of directory...
avoid references to fiel out of directory request for packaging, it would be nice for example not to reference files outside of exampel directory copy ../../_static/logo.png in logo/logo.png use subfolder for demo purpose of targetting subfolder in demo notebook

File last commit:

r5390:c82649ea
r9992:713f1db0
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)