##// END OF EJS Templates
Ensure that in-process test group doesn't create global IPython singleton....
Fernando Perez -
Show More
@@ -430,7 +430,7 b' def make_runners(inc_slow=False):'
430
430
431 # Packages to be tested via nose, that only depend on the stdlib
431 # Packages to be tested via nose, that only depend on the stdlib
432 nose_pkg_names = ['config', 'core', 'extensions', 'frontend', 'lib',
432 nose_pkg_names = ['config', 'core', 'extensions', 'frontend', 'lib',
433 'testing', 'utils', 'nbformat' ]
433 'testing', 'utils', 'nbformat', 'inprocess' ]
434
434
435 if have['zmq']:
435 if have['zmq']:
436 nose_pkg_names.append('zmq')
436 nose_pkg_names.append('zmq')
@@ -491,8 +491,17 b' def run_iptest():'
491 # use our plugin for doctesting. It will remove the standard doctest plugin
491 # use our plugin for doctesting. It will remove the standard doctest plugin
492 # if it finds it enabled
492 # if it finds it enabled
493 plugins = [IPythonDoctest(make_exclude()), KnownFailure()]
493 plugins = [IPythonDoctest(make_exclude()), KnownFailure()]
494 # We need a global ipython running in this process
494
495 globalipapp.start_ipython()
495 # We need a global ipython running in this process, but the special
496 # in-process group spawns its own IPython kernels, so for *that* group we
497 # must avoid also opening the global one (otherwise there's a conflict of
498 # singletons). Ultimately the solution to this problem is to refactor our
499 # assumptions about what needs to be a singleton and what doesn't (app
500 # objects should, individual shells shouldn't). But for now, this
501 # workaround allows the test suite for the inprocess module to complete.
502 if not 'IPython.inprocess' in sys.argv:
503 globalipapp.start_ipython()
504
496 # Now nose can run
505 # Now nose can run
497 TestProgram(argv=argv, addplugins=plugins)
506 TestProgram(argv=argv, addplugins=plugins)
498
507
General Comments 0
You need to be logged in to leave comments. Login now