##// END OF EJS Templates
updated test for IPython.embed()
Paul Ivanov -
Show More
@@ -1,52 +1,51 b''
1 1 """Test embedding of IPython"""
2 2
3 3 #-----------------------------------------------------------------------------
4 4 # Copyright (C) 2013 The IPython Development Team
5 5 #
6 6 # Distributed under the terms of the BSD License. The full license is in
7 7 # the file COPYING, distributed as part of this software.
8 8 #-----------------------------------------------------------------------------
9 9
10 10 #-----------------------------------------------------------------------------
11 11 # Imports
12 12 #-----------------------------------------------------------------------------
13 13
14 14 import sys
15 15 import nose.tools as nt
16 16 from IPython.utils.process import process_handler
17 from IPython.utils.tempdir import NamedFileInTemporaryDirectory
17 18
18 19 #-----------------------------------------------------------------------------
19 20 # Tests
20 21 #-----------------------------------------------------------------------------
21 22
22 23 _sample_embed = """
23 24 from __future__ import print_function
24 25 import IPython
25 26
26 27 a = 3
27 28 b = 14
28 29 print(a, '.', b)
29 30
30 31 IPython.embed()
31 32
32 print 'bye!'
33 print('bye!')
33 34 """
34 35
35 36 def test_ipython_embed():
36 """test that `ipython [subcommand] --help-all` works"""
37 #with TempFile as f:
38 # f.write("some embed case goes here")
37 """test that `IPython.embed()` works"""
38 with NamedFileInTemporaryDirectory('file_with_embed.py') as f:
39 f.write(_sample_embed)
40 f.flush()
39 41
40 42 # run `python file_with_embed.py`
41 fname = '/home/pi/code/workspace/rambles/test_embed.py'
42 cmd = [sys.executable, fname]
43 cmd = [sys.executable, f.name]
43 44
44 #p = Popen(cmd, stdout=PIPE, stderr=PIPE, stdin=PIPE)
45 print "\nhere's the command:", cmd
46 45 _, out, p = process_handler(cmd,
47 46 lambda p: (p.stdin.write("exit\r"), p.communicate()[:], p))
48 print out[1]
49 47 nt.assert_equal(p.returncode, 0)
50 nt.assert_equal(p.returncode, 0)
51 #out, err, rc = tt.get_output_error_code(cmd)
48 nt.assert_in('3 . 14', out[0])
49 nt.assert_in('IPython', out[0])
50 nt.assert_in('bye!', out[0])
52 51
General Comments 0
You need to be logged in to leave comments. Login now