##// END OF EJS Templates
Cleaned up embedded shell and added cleanup method to InteractiveShell....
Cleaned up embedded shell and added cleanup method to InteractiveShell. * Added explicit code in InteractiveShell to make sure it cleans itself up. This is now done by the single method .cleanup, that can be called to have InteractiveShell cleanup. We can't use __del__ because of the many cycles in our object graph. * The embedded shell is refactored to no embedding logic is in the base class. Thus, InteractiveShell no longer takes an ``embedded`` argument. Just use InteractiveShellEmbed. * Created a super simple top-level :func:`embed` function that creates an InteractiveShellEmbed and calls it.

File last commit:

r1960:51f38f50
r2226:7053ea2c
Show More
test_contexts.py
46 lines | 1.1 KiB | text/x-python | PythonLexer
# Tell nose to skip this module
__test__ = {}
#from __future__ import with_statement
# XXX This file is currently disabled to preserve 2.4 compatibility.
#def test_simple():
if 0:
# XXX - for now, we need a running cluster to be started separately. The
# daemon work is almost finished, and will make much of this unnecessary.
from IPython.kernel import client
mec = client.MultiEngineClient(('127.0.0.1',10105))
try:
mec.get_ids()
except ConnectionRefusedError:
import os, time
os.system('ipcluster -n 2 &')
time.sleep(2)
mec = client.MultiEngineClient(('127.0.0.1',10105))
mec.block = False
import itertools
c = itertools.count()
parallel = RemoteMultiEngine(mec)
mec.pushAll()
## with parallel as pr:
## # A comment
## remote() # this means the code below only runs remotely
## print 'Hello remote world'
## x = range(10)
## # Comments are OK
## # Even misindented.
## y = x+1
## with pfor('i',sequence) as pr:
## print x[i]
print pr.x + pr.y