##// END OF EJS Templates
Better code isolation in tests.
Gael Varoquaux -
Show More
@@ -17,6 +17,7 b' import string'
17
17
18 from IPython.ipapi import get as get_ipython0
18 from IPython.ipapi import get as get_ipython0
19 from IPython.frontend.prefilterfrontend import PrefilterFrontEnd
19 from IPython.frontend.prefilterfrontend import PrefilterFrontEnd
20 from copy import deepcopy
20
21
21 class TestPrefilterFrontEnd(PrefilterFrontEnd):
22 class TestPrefilterFrontEnd(PrefilterFrontEnd):
22
23
@@ -54,9 +55,11 b' def isolate_ipython0(func):'
54 """
55 """
55 def my_func(*args, **kwargs):
56 def my_func(*args, **kwargs):
56 ipython0 = get_ipython0().IP
57 ipython0 = get_ipython0().IP
57 user_ns = ipython0.user_ns
58 user_ns = deepcopy(ipython0.user_ns)
58 global_ns = ipython0.global_ns
59 global_ns = deepcopy(ipython0.global_ns)
60 try:
59 func(*args, **kwargs)
61 func(*args, **kwargs)
62 finally:
60 ipython0.user_ns = user_ns
63 ipython0.user_ns = user_ns
61 ipython0.global_ns = global_ns
64 ipython0.global_ns = global_ns
62
65
General Comments 0
You need to be logged in to leave comments. Login now