Show More
@@ -0,0 +1,39 | |||||
|
1 | import json | |||
|
2 | import os | |||
|
3 | from os.path import join as pjoin | |||
|
4 | import unittest | |||
|
5 | ||||
|
6 | from IPython.utils.tempdir import TemporaryDirectory | |||
|
7 | from IPython.kernel import kernelspec | |||
|
8 | ||||
|
9 | sample_kernel_json = {'argv':['cat', '{connection_file}'], | |||
|
10 | 'display_name':'Test kernel', | |||
|
11 | 'language':'bash', | |||
|
12 | } | |||
|
13 | ||||
|
14 | class KernelSpecTests(unittest.TestCase): | |||
|
15 | def setUp(self): | |||
|
16 | self.tempdir = td = TemporaryDirectory() | |||
|
17 | self.sample_kernel_dir = pjoin(td.name, 'kernels', 'Sample') | |||
|
18 | os.makedirs(self.sample_kernel_dir) | |||
|
19 | json_file = pjoin(self.sample_kernel_dir, 'kernel.json') | |||
|
20 | with open(json_file, 'w') as f: | |||
|
21 | json.dump(sample_kernel_json, f) | |||
|
22 | ||||
|
23 | self.ksm = kernelspec.KernelSpecManager(ipython_dir=td.name) | |||
|
24 | ||||
|
25 | def tearDown(self): | |||
|
26 | self.tempdir.cleanup() | |||
|
27 | ||||
|
28 | def test_find_kernel_specs(self): | |||
|
29 | kernels = self.ksm.find_kernel_specs() | |||
|
30 | self.assertEqual(kernels['sample'], self.sample_kernel_dir) | |||
|
31 | ||||
|
32 | def test_get_kernel_spec(self): | |||
|
33 | ks = self.ksm.get_kernel_spec('SAMPLE') # Case insensitive | |||
|
34 | self.assertEqual(ks.resource_dir, self.sample_kernel_dir) | |||
|
35 | self.assertEqual(ks.argv, sample_kernel_json['argv']) | |||
|
36 | self.assertEqual(ks.display_name, sample_kernel_json['display_name']) | |||
|
37 | self.assertEqual(ks.language, sample_kernel_json['language']) | |||
|
38 | self.assertEqual(ks.codemirror_mode, sample_kernel_json['language']) | |||
|
39 | self.assertEqual(ks.env, {}) No newline at end of file |
General Comments 0
You need to be logged in to leave comments.
Login now