##// END OF EJS Templates
Merge pull request #5863 from takluyver/skip-qt-help-test-nox...
Merge pull request #5863 from takluyver/skip-qt-help-test-nox Skip qtconsole help test if no X11

File last commit:

r16478:86f27641
r16743:5a27f3a9 merge
Show More
test_kernelspec.py
38 lines | 1.5 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add simple tests for kernel spec machinery
r16478 import json
import os
from os.path import join as pjoin
import unittest
from IPython.utils.tempdir import TemporaryDirectory
from IPython.kernel import kernelspec
sample_kernel_json = {'argv':['cat', '{connection_file}'],
'display_name':'Test kernel',
'language':'bash',
}
class KernelSpecTests(unittest.TestCase):
def setUp(self):
self.tempdir = td = TemporaryDirectory()
self.sample_kernel_dir = pjoin(td.name, 'kernels', 'Sample')
os.makedirs(self.sample_kernel_dir)
json_file = pjoin(self.sample_kernel_dir, 'kernel.json')
with open(json_file, 'w') as f:
json.dump(sample_kernel_json, f)
self.ksm = kernelspec.KernelSpecManager(ipython_dir=td.name)
def tearDown(self):
self.tempdir.cleanup()
def test_find_kernel_specs(self):
kernels = self.ksm.find_kernel_specs()
self.assertEqual(kernels['sample'], self.sample_kernel_dir)
def test_get_kernel_spec(self):
ks = self.ksm.get_kernel_spec('SAMPLE') # Case insensitive
self.assertEqual(ks.resource_dir, self.sample_kernel_dir)
self.assertEqual(ks.argv, sample_kernel_json['argv'])
self.assertEqual(ks.display_name, sample_kernel_json['display_name'])
self.assertEqual(ks.language, sample_kernel_json['language'])
self.assertEqual(ks.codemirror_mode, sample_kernel_json['language'])
self.assertEqual(ks.env, {})