##// END OF EJS Templates
Backport PR #8129: Catch interrupted poll() in terminal console...
Backport PR #8129: Catch interrupted poll() in terminal console Alternative to my own PR #8108 - catch ZMQError in run_cell, and if it's caused by an interrupt, ignore it. #8108 catches the exception in the blocking kernel client API, which is more complex, especially if we want to handle the timeout nicely as proposed in the comments, but it's possibly also more convenient for other users of that API. Or perhaps not - I'm not sure what makes sense for other API consumers in this case. Fixes gh-8105

File last commit:

r13361:52dae015
r20883:0d9a347c
Show More
test_nbpy.py
48 lines | 1.5 KiB | text/x-python | PythonLexer
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 # -*- coding: utf8 -*-
MinRK
NBFormatTest is now a mixin, rather than a base class
r6476
from unittest import TestCase
Thomas Kluyver
Fix references to dict.iteritems and dict.itervalues
r13361 from IPython.utils.py3compat import string_types, iteritems
Thomas Kluyver
Replace references to unicode and basestring
r13353
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 from . import formattest
Brian E. Granger
Initial draft of more formal notebook format....
r4401
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 from .. import nbpy
Brian E. Granger
Full versioning added to nbformat.
r4406 from .nbexamples import nb0, nb0_py
Brian E. Granger
Initial draft of more formal notebook format....
r4401
MinRK
NBFormatTest is now a mixin, rather than a base class
r6476 class TestPy(formattest.NBFormatTest, TestCase):
Brian E. Granger
Initial draft of more formal notebook format....
r4401
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 nb0_ref = nb0_py
ext = 'py'
mod = nbpy
ignored_keys = ['collapsed', 'outputs', 'prompt_number', 'metadata']
Brian E. Granger
Initial draft of more formal notebook format....
r4401
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 def assertSubset(self, da, db):
"""assert that da is a subset of db, ignoring self.ignored_keys.
Called recursively on containers, ultimately comparing individual
elements.
"""
if isinstance(da, dict):
Thomas Kluyver
Fix references to dict.iteritems and dict.itervalues
r13361 for k,v in iteritems(da):
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 if k in self.ignored_keys:
continue
self.assertTrue(k in db)
self.assertSubset(v, db[k])
elif isinstance(da, list):
for a,b in zip(da, db):
self.assertSubset(a,b)
else:
Thomas Kluyver
Replace references to unicode and basestring
r13353 if isinstance(da, string_types) and isinstance(db, string_types):
MinRK
preserve trailing newlines in ipynb...
r6318 # pyfile is not sensitive to preserving leading/trailing
# newlines in blocks through roundtrip
da = da.strip('\n')
db = db.strip('\n')
Bradley M. Froehle
s/assertEquals/assertEqual/
r7874 self.assertEqual(da, db)
MinRK
add NBFormatTestCase base class, to consolidate nbformat testing
r6209 return True
def assertNBEquals(self, nba, nbb):
# since roundtrip is lossy, only compare keys that are preserved
# assumes nba is read from my file format
return self.assertSubset(nba, nbb)