@@ -41,6 +41,7 @@ def _install_test_kernel(self):
41
41
'-m' , 'jupyter_client.tests.signalkernel' ,
42
42
'-f' , '{connection_file}' ],
43
43
'display_name' : "Signal Test Kernel" ,
44
+ 'env' : {'TEST_VARS' : '${TEST_VARS}:test_var_2' },
44
45
}))
45
46
46
47
def _get_tcp_km (self ):
@@ -131,6 +132,63 @@ def test_start_new_kernel(self):
131
132
self .assertTrue (km .is_alive ())
132
133
self .assertTrue (kc .is_alive ())
133
134
135
+ def _env_test_body (self , kc ):
136
+
137
+ def execute (cmd ):
138
+ kc .execute (cmd )
139
+ reply = kc .get_shell_msg (TIMEOUT )
140
+ content = reply ['content' ]
141
+ self .assertEqual (content ['status' ], 'ok' )
142
+ return content
143
+
144
+ reply = execute ('env' )
145
+ self .assertIsNotNone (reply )
146
+ self .assertEquals (reply ['user_expressions' ]['env' ], 'test_var_1:test_var_2' )
147
+
148
+ def test_templated_kspec_env (self ):
149
+ self ._install_test_kernel ()
150
+ km , kc = start_new_kernel (kernel_name = 'signaltest' )
151
+ self .addCleanup (kc .stop_channels )
152
+ self .addCleanup (km .shutdown_kernel )
153
+
154
+ self .assertTrue (km .is_alive ())
155
+ self .assertTrue (kc .is_alive ())
156
+
157
+ self ._env_test_body (kc )
158
+
159
+ def _start_kernel_with_cmd (self , kernel_cmd , extra_env , ** kwargs ):
160
+ """Start a new kernel, and return its Manager and Client"""
161
+ km = KernelManager (kernel_name = 'signaltest' )
162
+ km .kernel_cmd = kernel_cmd
163
+ km .extra_env = extra_env
164
+ km .start_kernel (** kwargs )
165
+ kc = km .client ()
166
+ kc .start_channels ()
167
+ try :
168
+ kc .wait_for_ready (timeout = 60 )
169
+ except RuntimeError :
170
+ kc .stop_channels ()
171
+ km .shutdown_kernel ()
172
+ raise
173
+
174
+ return km , kc
175
+
176
+ def test_templated_extra_env (self ):
177
+ self ._install_test_kernel ()
178
+ kernel_cmd = [sys .executable ,
179
+ '-m' , 'jupyter_client.tests.signalkernel' ,
180
+ '-f' , '{connection_file}' ]
181
+ extra_env = {'TEST_VARS' : '${TEST_VARS}:test_var_2' }
182
+
183
+ km , kc = self ._start_kernel_with_cmd (kernel_cmd , extra_env )
184
+ self .addCleanup (kc .stop_channels )
185
+ self .addCleanup (km .shutdown_kernel )
186
+
187
+ self .assertTrue (km .is_alive ())
188
+ self .assertTrue (kc .is_alive ())
189
+
190
+ self ._env_test_body (kc )
191
+
134
192
135
193
class TestParallel :
136
194
0 commit comments