##// END OF EJS Templates
Add a requirejs shim for highlight.js...
Add a requirejs shim for highlight.js Before this, highlighting code in markdown cells was broken since hljs wasn't available. A better solution might be to build the highlight.js amd module (i.e., build the highlight.js module with `--target=amd`) so that we don't need the shim.

File last commit:

r17009:c9c3aa87
r17302:ca7c58b3
Show More
test_kernelspec.py
65 lines | 2.7 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
Thomas Kluyver
Add test for installing kernel spec
r16562 from IPython.testing.decorators import onlyif
Thomas Kluyver
Add simple tests for kernel spec machinery
r16478 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):
Thomas Kluyver
Add test for installing kernel spec
r16562 td = TemporaryDirectory()
self.addCleanup(td.cleanup)
Thomas Kluyver
Add simple tests for kernel spec machinery
r16478 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)
Thomas Kluyver
Add test for installing kernel spec
r16562
td2 = TemporaryDirectory()
self.addCleanup(td2.cleanup)
self.installable_kernel = td2.name
with open(pjoin(self.installable_kernel, 'kernel.json'), 'w') as f:
json.dump(sample_kernel_json, f)
Thomas Kluyver
Add simple tests for kernel spec machinery
r16478
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'])
Thomas Kluyver
Add test for installing kernel spec
r16562 self.assertEqual(ks.env, {})
def test_install_kernel_spec(self):
self.ksm.install_kernel_spec(self.installable_kernel,
kernel_name='tstinstalled')
self.assertIn('tstinstalled', self.ksm.find_kernel_specs())
with self.assertRaises(OSError):
self.ksm.install_kernel_spec(self.installable_kernel,
kernel_name='tstinstalled')
# Smoketest that this succeeds
self.ksm.install_kernel_spec(self.installable_kernel,
kernel_name='tstinstalled',
replace=True)
Thomas Kluyver
Better check for systemwide install privileges
r17009 @onlyif(os.name != 'nt' and not os.access('/usr/share', os.W_OK), "needs Unix system without root privileges")
Thomas Kluyver
Add test for installing kernel spec
r16562 def test_cant_install_kernel_spec(self):
with self.assertRaises(OSError):
self.ksm.install_kernel_spec(self.installable_kernel,
kernel_name='tstinstalled',
system=True)