##// END OF EJS Templates
use pathlib on test_deepreload
dswij -
Show More
@@ -1,34 +1,35 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """Test suite for the deepreload module."""
2 """Test suite for the deepreload module."""
3
3
4 # Copyright (c) IPython Development Team.
4 # Copyright (c) IPython Development Team.
5 # Distributed under the terms of the Modified BSD License.
5 # Distributed under the terms of the Modified BSD License.
6
6
7 import os
7 from pathlib import Path
8
8
9 import nose.tools as nt
9 import nose.tools as nt
10
10
11 from IPython.utils.syspathcontext import prepended_to_syspath
11 from IPython.utils.syspathcontext import prepended_to_syspath
12 from IPython.utils.tempdir import TemporaryDirectory
12 from IPython.utils.tempdir import TemporaryDirectory
13 from IPython.lib.deepreload import reload as dreload
13 from IPython.lib.deepreload import reload as dreload
14
14
15 def test_deepreload():
15 def test_deepreload():
16 "Test that dreload does deep reloads and skips excluded modules."
16 "Test that dreload does deep reloads and skips excluded modules."
17 with TemporaryDirectory() as tmpdir:
17 with TemporaryDirectory() as tmpdir:
18 with prepended_to_syspath(tmpdir):
18 with prepended_to_syspath(tmpdir):
19 with open(os.path.join(tmpdir, 'A.py'), 'w') as f:
19 tmpdirpath = Path(tmpdir)
20 with open( tmpdirpath / 'A.py' , 'w') as f:
20 f.write("class Object(object):\n pass\n")
21 f.write("class Object(object):\n pass\n")
21 with open(os.path.join(tmpdir, 'B.py'), 'w') as f:
22 with open( tmpdirpath / 'B.py' , 'w') as f:
22 f.write("import A\n")
23 f.write("import A\n")
23 import A
24 import A
24 import B
25 import B
25
26
26 # Test that A is not reloaded.
27 # Test that A is not reloaded.
27 obj = A.Object()
28 obj = A.Object()
28 dreload(B, exclude=['A'])
29 dreload(B, exclude=['A'])
29 nt.assert_true(isinstance(obj, A.Object))
30 nt.assert_true(isinstance(obj, A.Object))
30
31
31 # Test that A is reloaded.
32 # Test that A is reloaded.
32 obj = A.Object()
33 obj = A.Object()
33 dreload(B)
34 dreload(B)
34 nt.assert_false(isinstance(obj, A.Object))
35 nt.assert_false(isinstance(obj, A.Object))
General Comments 0
You need to be logged in to leave comments. Login now