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