Show More
@@ -1,17 +1,45 b'' | |||||
1 | import nose.tools as nt |
|
1 | import nose.tools as nt | |
2 |
|
2 | |||
3 | from .test_embed_kernel import setup, teardown, setup_kernel |
|
3 | from .test_embed_kernel import setup, teardown, setup_kernel | |
4 |
|
4 | |||
5 | TIMEOUT = 15 |
|
5 | TIMEOUT = 15 | |
6 |
|
6 | |||
7 | def test_ipython_start_kernel_userns(): |
|
7 | def test_ipython_start_kernel_userns(): | |
8 | cmd = ('from IPython import start_kernel\n' |
|
8 | cmd = ('from IPython import start_kernel\n' | |
9 | 'ns = {"tre": 123}\n' |
|
9 | 'ns = {"tre": 123}\n' | |
10 | 'start_kernel(user_ns=ns)') |
|
10 | 'start_kernel(user_ns=ns)') | |
11 |
|
11 | |||
12 | with setup_kernel(cmd) as client: |
|
12 | with setup_kernel(cmd) as client: | |
13 | msg_id = client.object_info('tre') |
|
13 | msg_id = client.object_info('tre') | |
14 | msg = client.get_shell_msg(block=True, timeout=TIMEOUT) |
|
14 | msg = client.get_shell_msg(block=True, timeout=TIMEOUT) | |
15 | content = msg['content'] |
|
15 | content = msg['content'] | |
16 | assert content['found'] |
|
16 | assert content['found'] | |
17 | nt.assert_equal(content['string_form'], u'123') |
|
17 | nt.assert_equal(content['string_form'], u'123') | |
|
18 | ||||
|
19 | # user_module should be an instance of DummyMod | |||
|
20 | msg_id = client.execute("usermod = get_ipython().user_module") | |||
|
21 | msg = client.get_shell_msg(block=True, timeout=TIMEOUT) | |||
|
22 | content = msg['content'] | |||
|
23 | nt.assert_equal(content['status'], u'ok') | |||
|
24 | msg_id = client.object_info('usermod') | |||
|
25 | msg = client.get_shell_msg(block=True, timeout=TIMEOUT) | |||
|
26 | content = msg['content'] | |||
|
27 | assert content['found'] | |||
|
28 | nt.assert_in('DummyMod', content['string_form']) | |||
|
29 | ||||
|
30 | def test_ipython_start_kernel_no_userns(): | |||
|
31 | # Issue #4188 - user_ns should be passed to shell as None, not {} | |||
|
32 | cmd = ('from IPython import start_kernel\n' | |||
|
33 | 'start_kernel()') | |||
|
34 | ||||
|
35 | with setup_kernel(cmd) as client: | |||
|
36 | # user_module should not be an instance of DummyMod | |||
|
37 | msg_id = client.execute("usermod = get_ipython().user_module") | |||
|
38 | msg = client.get_shell_msg(block=True, timeout=TIMEOUT) | |||
|
39 | content = msg['content'] | |||
|
40 | nt.assert_equal(content['status'], u'ok') | |||
|
41 | msg_id = client.object_info('usermod') | |||
|
42 | msg = client.get_shell_msg(block=True, timeout=TIMEOUT) | |||
|
43 | content = msg['content'] | |||
|
44 | assert content['found'] | |||
|
45 | nt.assert_not_in('DummyMod', content['string_form']) |
General Comments 0
You need to be logged in to leave comments.
Login now