##// END OF EJS Templates
Wake up, Travis!
Thomas Kluyver -
Show More
@@ -1,55 +1,55 b''
1 1 # -*- coding: utf-8 -*-
2 2 """Test suite for the deepreload module."""
3 3
4 4 #-----------------------------------------------------------------------------
5 5 # Imports
6 6 #-----------------------------------------------------------------------------
7 7
8 8 import os
9 9
10 10 import nose.tools as nt
11 11
12 12 from IPython.testing import decorators as dec
13 13 from IPython.utils.py3compat import builtin_mod_name, PY3
14 14 from IPython.utils.syspathcontext import prepended_to_syspath
15 15 from IPython.utils.tempdir import TemporaryDirectory
16 16 from IPython.lib.deepreload import reload as dreload
17 17
18 18 #-----------------------------------------------------------------------------
19 19 # Test functions begin
20 20 #-----------------------------------------------------------------------------
21 21
22 22 @dec.skipif_not_numpy
23 23 def test_deepreload_numpy():
24 24 "Test that NumPy can be deep reloaded."
25 25 import numpy
26 26 exclude = [
27 27 # Standard exclusions:
28 28 'sys', 'os.path', builtin_mod_name, '__main__',
29 29 # Test-related exclusions:
30 30 'unittest', 'UserDict', '_collections_abc', 'tokenize',
31 'collections', 'collections.abc'
31 'collections', 'collections.abc',
32 32 ]
33 33
34 34 dreload(numpy, exclude=exclude)
35 35
36 36 def test_deepreload():
37 37 "Test that dreload does deep reloads and skips excluded modules."
38 38 with TemporaryDirectory() as tmpdir:
39 39 with prepended_to_syspath(tmpdir):
40 40 with open(os.path.join(tmpdir, 'A.py'), 'w') as f:
41 41 f.write("class Object(object):\n pass\n")
42 42 with open(os.path.join(tmpdir, 'B.py'), 'w') as f:
43 43 f.write("import A\n")
44 44 import A
45 45 import B
46 46
47 47 # Test that A is not reloaded.
48 48 obj = A.Object()
49 49 dreload(B, exclude=['A'])
50 50 nt.assert_true(isinstance(obj, A.Object))
51 51
52 52 # Test that A is reloaded.
53 53 obj = A.Object()
54 54 dreload(B)
55 55 nt.assert_false(isinstance(obj, A.Object))
General Comments 0
You need to be logged in to leave comments. Login now