##// END OF EJS Templates
Add simple tests for kernel spec machinery
Thomas Kluyver -
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