##// END OF EJS Templates
Backport PR #5657: use 'localhost' as default for the notebook server...
Backport PR #5657: use 'localhost' as default for the notebook server instead of loopback IP seems to workaround weird issues with Sophos on Windows, and should behave the same everywhere else.

File last commit:

r14840:68cef000
r16614:a602bfad
Show More
test_embed.py
57 lines | 1.7 KiB | text/x-python | PythonLexer
Paul Ivanov
initial test for the embedding
r14184 """Test embedding of IPython"""
#-----------------------------------------------------------------------------
# Copyright (C) 2013 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Thomas Kluyver
Skip failing test part on Windows...
r14840 import os
Paul Ivanov
initial test for the embedding
r14184 import sys
import nose.tools as nt
from IPython.utils.process import process_handler
Paul Ivanov
updated test for IPython.embed()
r14707 from IPython.utils.tempdir import NamedFileInTemporaryDirectory
Paul Ivanov
initial test for the embedding
r14184
#-----------------------------------------------------------------------------
# Tests
#-----------------------------------------------------------------------------
Paul Ivanov
cleaner string/bytes solution, closes #4759...
r14731 _sample_embed = b"""
Paul Ivanov
initial test for the embedding
r14184 from __future__ import print_function
import IPython
a = 3
b = 14
print(a, '.', b)
IPython.embed()
Paul Ivanov
updated test for IPython.embed()
r14707 print('bye!')
Paul Ivanov
initial test for the embedding
r14184 """
Paul Ivanov
cleaner string/bytes solution, closes #4759...
r14731 _exit = b"exit\r"
Paul Ivanov
3 at last, 3 at last, thank Guido BDFL......
r14712
Paul Ivanov
initial test for the embedding
r14184 def test_ipython_embed():
Paul Ivanov
updated test for IPython.embed()
r14707 """test that `IPython.embed()` works"""
with NamedFileInTemporaryDirectory('file_with_embed.py') as f:
Paul Ivanov
cleaner string/bytes solution, closes #4759...
r14731 f.write(_sample_embed)
Paul Ivanov
updated test for IPython.embed()
r14707 f.flush()
Paul Ivanov
fix test for windows, just in case
r14802 f.close() # otherwise msft won't be able to read the file
Paul Ivanov
updated test for IPython.embed()
r14707
# run `python file_with_embed.py`
cmd = [sys.executable, f.name]
Paul Ivanov
cleaner use of process_handler
r14801 out, p = process_handler(cmd, lambda p: (p.communicate(_exit), p))
Paul Ivanov
3 at last, 3 at last, thank Guido BDFL......
r14712 std = out[0].decode('UTF-8')
Paul Ivanov
updated test for IPython.embed()
r14707 nt.assert_equal(p.returncode, 0)
Paul Ivanov
3 at last, 3 at last, thank Guido BDFL......
r14712 nt.assert_in('3 . 14', std)
Thomas Kluyver
Skip failing test part on Windows...
r14840 if os.name != 'nt':
# TODO: Fix up our different stdout references, see issue gh-14
nt.assert_in('IPython', std)
Paul Ivanov
3 at last, 3 at last, thank Guido BDFL......
r14712 nt.assert_in('bye!', std)
Paul Ivanov
initial test for the embedding
r14184