##// END OF EJS Templates
Handle some tricky Comm lifecycle issues...
Handle some tricky Comm lifecycle issues * If the comm was a primary comm, but there was an error opening it, _closed was False, which is wrong * If Comm.close() was called, but an error happened, it still appeared to be open This change makes the _closed attribute more conservative. If _closed is False, the comm is definitely open for messages. If _closed is True, we either didn't initialize correctly, or we tried to close at some point.

File last commit:

r13366:518e26e1
r18454:d2c994e5
Show More
test_debug.py
55 lines | 1.6 KiB | text/x-python | PythonLexer
"""
Module with tests for debug
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import sys
from ...tests.base import TestsBase
from ..debug import DebugWriter
from IPython.utils.py3compat import PY3
if PY3:
from io import StringIO
else:
from StringIO import StringIO
#-----------------------------------------------------------------------------
# Class
#-----------------------------------------------------------------------------
class TestDebug(TestsBase):
"""Contains test functions for debug.py"""
def test_output(self):
"""Test debug writer output."""
# Capture the stdout. Remember original.
stdout = sys.stdout
stream = StringIO()
sys.stdout = stream
# Create stdout writer, get output
writer = DebugWriter()
writer.write('aaa', {'outputs': {'bbb': 'ccc'}})
output = stream.getvalue()
# Check output. Make sure resources dictionary is dumped, but nothing
# else.
assert 'aaa' not in output
assert 'bbb' in output
assert 'ccc' in output
# Revert stdout
sys.stdout = stdout