##// END OF EJS Templates
Make it possible to run the tests from the source dir without installation....
Make it possible to run the tests from the source dir without installation. Also clean up the handling of command-line options for iptest, so that all options given at the top-level are correctly passed to nose. Fixes: https://bugs.launchpad.net/ipython/+bug/507079

File last commit:

r1061:58bebece
r2481:fb6ed63c
Show More
test_embed.py
47 lines | 1.3 KiB | text/x-python | PythonLexer
""" An example of one way to embed IPython in your own application
This basically means starting up IPython with some of your programs objects visible in the IPython
user namespace.
"""
import sys
sys.path.insert(1,'..')
import IPython.ipapi
def test_session(shellclass):
print "*****************\nLaunch shell for",shellclass
my_ns = dict(a=10)
ses = IPython.ipapi.make_session(my_ns, shellclass=shellclass)
# Now get the ipapi instance, to be stored somewhere in your program for manipulation of the running
# IPython session. See http://ipython.scipy.org/moin/IpythonExtensionApi
ip = ses.IP.getapi()
# let's play with the ipapi a bit, creating a magic function for a soon-to-be-started IPython
def mymagic_f(self,s):
print "mymagic says",s
ip.expose_magic("mymagic",mymagic_f)
# And finally, start the IPython interaction! This will block until you say Exit.
ses.mainloop()
print "IPython session for shell ",shellclass," finished! namespace content:"
for k,v in my_ns.items():
print k,':',str(v)[:80].rstrip()
import IPython.Shell
def do_test(arg_line):
test_session(IPython.Shell._select_shell(arg_line.split()))
do_test('')
do_test('ipython -gthread')
do_test('ipython -q4thread')
do_test('ipython -pylab')
do_test('ipython -pylab -gthread')