{"action":"created","issue":{"url":"https://api.github.com/repos/enthought/envisage/issues/107","repository_url":"https://api.github.com/repos/enthought/envisage","labels_url":"https://api.github.com/repos/enthought/envisage/issues/107/labels{/name}","comments_url":"https://api.github.com/repos/enthought/envisage/issues/107/comments","events_url":"https://api.github.com/repos/enthought/envisage/issues/107/events","html_url":"https://github.com/enthought/envisage/issues/107","id":279764919,"number":107,"title":"Tests broken with ipykernel 4.7.0","user":{"login":"mdickinson","id":662003,"avatar_url":"https://avatars3.githubusercontent.com/u/662003?v=4","gravatar_id":"","url":"https://api.github.com/users/mdickinson","html_url":"https://github.com/mdickinson","followers_url":"https://api.github.com/users/mdickinson/followers","following_url":"https://api.github.com/users/mdickinson/following{/other_user}","gists_url":"https://api.github.com/users/mdickinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mdickinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdickinson/subscriptions","organizations_url":"https://api.github.com/users/mdickinson/orgs","repos_url":"https://api.github.com/users/mdickinson/repos","events_url":"https://api.github.com/users/mdickinson/events{/privacy}","received_events_url":"https://api.github.com/users/mdickinson/received_events","type":"User","site_admin":false},"labels":[{"id":63005456,"url":"https://api.github.com/repos/enthought/envisage/labels/Bug","name":"Bug","color":"e11d21","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-12-06T14:07:07Z","updated_at":"2018-05-11T10:31:59Z","closed_at":null,"author_association":"OWNER","body":"The recent release of ipykernel 4.7.0 appears to break Envisage.\r\n\r\nSample failures, from https://travis-ci.org/enthought/envisage/jobs/312429428 (the later failures are probably consequences of the first one):\r\n```\r\n======================================================================\r\nERROR: test_initial_namespace (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py\", line 45, in test_initial_namespace\r\n    kernel.shutdown()\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 88, in shutdown\r\n    self.ipkernel.shell.exit_now = True\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py\", line 585, in __set__\r\n    self.set(obj, value)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py\", line 574, in set\r\n    obj._notify_trait(self.name, old_value, new_value)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py\", line 1139, in _notify_trait\r\n    type='change',\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py\", line 1176, in notify_change\r\n    c(change)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/zmqshell.py\", line 472, in _update_exit_now\r\n    loop = self.kernel.io_loop\r\nAttributeError: 'IPythonKernel' object has no attribute 'io_loop'\r\n======================================================================\r\nERROR: test_io_pub_thread_stopped (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py\", line 49, in test_io_pub_thread_stopped\r\n    kernel.init_ipkernel(gui_backend=None)\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 62, in init_ipkernel\r\n    self.ipkernel = gui_kernel(gui_backend)\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 28, in gui_kernel\r\n    kernel.initialize(argv)\r\n  File \"<decorator-gen-121>\", line 2, in initialize\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/config/application.py\", line 87, in catch_config_error\r\n    return method(app, *args, **kwargs)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 448, in initialize\r\n    self.init_sockets()\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 238, in init_sockets\r\n    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 180, in _bind_socket\r\n    s.bind(\"tcp://%s:%i\" % (self.ip, port))\r\n  File \"zmq/backend/cython/socket.pyx\", line 495, in zmq.backend.cython.socket.Socket.bind\r\n  File \"zmq/backend/cython/checkrc.pxd\", line 25, in zmq.backend.cython.checkrc._check_rc\r\n    raise ZMQError(errno)\r\nZMQError: Address already in use\r\n======================================================================\r\nERROR: test_lifecycle (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py\", line 28, in test_lifecycle\r\n    kernel.init_ipkernel(gui_backend=None)\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 62, in init_ipkernel\r\n    self.ipkernel = gui_kernel(gui_backend)\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 28, in gui_kernel\r\n    kernel.initialize(argv)\r\n  File \"<decorator-gen-121>\", line 2, in initialize\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/config/application.py\", line 87, in catch_config_error\r\n    return method(app, *args, **kwargs)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 448, in initialize\r\n    self.init_sockets()\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 238, in init_sockets\r\n    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 180, in _bind_socket\r\n    s.bind(\"tcp://%s:%i\" % (self.ip, port))\r\n  File \"zmq/backend/cython/socket.pyx\", line 495, in zmq.backend.cython.socket.Socket.bind\r\n  File \"zmq/backend/cython/checkrc.pxd\", line 25, in zmq.backend.cython.checkrc._check_rc\r\n    raise ZMQError(errno)\r\nZMQError: Address already in use\r\n======================================================================\r\nERROR: test_kernel_namespace_extension_point (envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py\", line 58, in test_kernel_namespace_extension_point\r\n    kernel.init_ipkernel(gui_backend=None)\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 62, in init_ipkernel\r\n    self.ipkernel = gui_kernel(gui_backend)\r\n  File \"/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 28, in gui_kernel\r\n    kernel.initialize(argv)\r\n  File \"<decorator-gen-121>\", line 2, in initialize\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/config/application.py\", line 87, in catch_config_error\r\n    return method(app, *args, **kwargs)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 448, in initialize\r\n    self.init_sockets()\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 238, in init_sockets\r\n    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)\r\n  File \"/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py\", line 180, in _bind_socket\r\n    s.bind(\"tcp://%s:%i\" % (self.ip, port))\r\n  File \"zmq/backend/cython/socket.pyx\", line 495, in zmq.backend.cython.socket.Socket.bind\r\n  File \"zmq/backend/cython/checkrc.pxd\", line 25, in zmq.backend.cython.checkrc._check_rc\r\n    raise ZMQError(errno)\r\nZMQError: Address already in use\r\n```"},"comment":{"url":"https://api.github.com/repos/enthought/envisage/issues/comments/388326582","html_url":"https://github.com/enthought/envisage/issues/107#issuecomment-388326582","issue_url":"https://api.github.com/repos/enthought/envisage/issues/107","id":388326582,"user":{"login":"mdickinson","id":662003,"avatar_url":"https://avatars3.githubusercontent.com/u/662003?v=4","gravatar_id":"","url":"https://api.github.com/users/mdickinson","html_url":"https://github.com/mdickinson","followers_url":"https://api.github.com/users/mdickinson/followers","following_url":"https://api.github.com/users/mdickinson/following{/other_user}","gists_url":"https://api.github.com/users/mdickinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mdickinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdickinson/subscriptions","organizations_url":"https://api.github.com/users/mdickinson/orgs","repos_url":"https://api.github.com/users/mdickinson/repos","events_url":"https://api.github.com/users/mdickinson/events{/privacy}","received_events_url":"https://api.github.com/users/mdickinson/received_events","type":"User","site_admin":false},"created_at":"2018-05-11T10:31:59Z","updated_at":"2018-05-11T10:31:59Z","author_association":"OWNER","body":"Steps to reproduce with current master: using a Python environment that has `click` installed:\r\n\r\n0. Edit `etstool.py` to remove `ipykernel` from the list of packages (the current version of `ipykernel` provided by EDM is 4.6)\r\n1. `python etstool.py install`\r\n2. `edm run -e envisage-test-3.5-null -- pip install ipykernel`\r\n3. `python etstool.py test`\r\n\r\n<details>\r\n<summary>Test output</summary>\r\n\r\n```\r\ntaniyama:envisage mdickinson$ python etstool.py test\r\nRunning tests in 'envisage-test-3.5-null'\r\ncopying file to tempdir: .coveragerc\r\n[EXECUTING] edm run -e envisage-test-3.5-null -- coverage run -p -m nose.core -v envisage --nologcapture\r\nbrowse this module ... parsing module /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/developer/code_browser/tests/code_browser_test_case.py\r\nparsed module /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/developer/code_browser/tests/code_browser_test_case.py\r\nok\r\nhas traits ... parsing module /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/developer/code_browser/tests/example_1.py\r\nparsed module /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/developer/code_browser/tests/example_1.py\r\nok\r\ntest_initial_namespace (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel) ... Using selector: KqueueSelector\r\nNOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.\r\n\r\nTo exit, you will have to explicitly quit this process, by either sending\r\n\"quit\" from a client, or using Ctrl-\\ in UNIX-like environments.\r\n\r\nTo read more about this, see https://github.com/ipython/ipython/issues/2049\r\n\r\n\r\nTo connect another client to this kernel, use:\r\n    --existing kernel-48706.json\r\nUsing selector: KqueueSelector\r\nERROR\r\ntest_io_pub_thread_stopped (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel) ... ERROR\r\ntest_lifecycle (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel) ... ERROR\r\ntest_import_from_api (envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin) ... ok\r\ntest_kernel_namespace_extension_point (envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin) ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nplugin <envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin.test_kernel_namespace_extension_point.<locals>.NamespacePlugin object at 0x11100df10> has no Id - using <envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.NamespacePlugin>\r\nextensions to <envisage.preferences> <[[], [], []]>\r\nloading preferences from </Users/mdickinson/.enthought/test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[], [], []]>\r\nextensions to <envisage.categories> <[[], [], []]>\r\nextensions to <envisage.service_offers> <[[], [<envisage.service_offer.ServiceOffer object at 0x111320990>], []]>\r\nservice <1> registered envisage.plugins.ipython_kernel.internal_ipkernel.InternalIPKernel\r\nplugin envisage.core started\r\nplugin envisage.plugins.ipython_kernel starting\r\nplugin envisage.plugins.ipython_kernel started\r\nplugin envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.NamespacePlugin starting\r\nplugin envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.NamespacePlugin started\r\n---------- application started ----------\r\nextensions to <ipython_plugin.namespace> <[[], [], [('y', 'hi')]]>\r\n---------- application stopping ----------\r\nplugin envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.NamespacePlugin stopping\r\nplugin envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.NamespacePlugin stopped\r\nplugin envisage.plugins.ipython_kernel stopping\r\nShutting down the embedded ipython kernel\r\nplugin envisage.plugins.ipython_kernel stopped\r\nplugin envisage.core stopping\r\nservice <1> unregistered\r\nplugin envisage.core stopped\r\nsaving preferences to </Users/mdickinson/.enthought/test/preferences.ini>\r\n---------- application stopped ----------\r\nERROR\r\ntest_kernel_service (envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin) ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[], []]>\r\nloading preferences from </Users/mdickinson/.enthought/test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[], []]>\r\nextensions to <envisage.categories> <[[], []]>\r\nextensions to <envisage.service_offers> <[[], [<envisage.service_offer.ServiceOffer object at 0x1113333b8>]]>\r\nservice <1> registered envisage.plugins.ipython_kernel.internal_ipkernel.InternalIPKernel\r\nplugin envisage.core started\r\nplugin envisage.plugins.ipython_kernel starting\r\nplugin envisage.plugins.ipython_kernel started\r\n---------- application started ----------\r\nextensions to <ipython_plugin.namespace> <[[], []]>\r\nERROR\r\nCan the Server communicate with Clients and handle errors ... Server listening on port 53229...\r\nServer received: ping 53230\r\nServer received: ping 53233\r\nServer received: ping 53234\r\nServer received: register 53238client1client2\r\nClient listening on port 53238...\r\nServer received: register 53241client2client1\r\nClient listening on port 53241...\r\nClient on port 53238 received: __keepalive__ \r\nClient on port 53241 received: __orphaned__ 0\r\nClient on port 53238 received: __orphaned__ 0\r\nClient on port 53238 sending: foo bar\r\nServer received: send 53238foobar\r\nClient on port 53241 received: foo bar\r\nClient on port 53238 sending: Très bien\r\nServer received: send 53238Trèsbien\r\nClient on port 53241 received: Très bien\r\nServer received: unregister 53238\r\nClient on port 53241 received: __orphaned__ 1\r\nServer received: ping 53252\r\nClient listening on port 53255...\r\nServer received: register 53255client1client2\r\nClient on port 53241 received: __keepalive__ \r\nClient on port 53255 received: __orphaned__ 0\r\nClient on port 53241 received: __orphaned__ 0\r\nClient on port 53255 received: dummy \r\nServer received: unregister 53255\r\nClient on port 53241 received: __orphaned__ 1\r\nClient on port 53241 sending: foo bar\r\nServer received: send 53241foobar\r\nNo spawn command is defined for object type 'client1'.\r\nClient on port 53241 received: __error__ 1No spawn command is defined for object type 'client1'.\r\nError status received from the server: 1\r\nNo spawn command is defined for object type 'client1'.\r\nok\r\nfile resource ... ok\r\nhttp resource ... ok\r\nno such file resource ... ok\r\nno such http resource ... ok\r\nno such package resource ... ok\r\npackage resource ... ok\r\nunknown protocol ... ok\r\naction with non-existent group ... ok\r\naction with non-existent sibling ... ok\r\naction with path component that is not a menu ... ok\r\nactions and menus in groups ... ok\r\nactions make submenus ... ok\r\nactions make submenus before and after ... ok\r\nactions no groups ... ok\r\nduplicate group ... ok\r\nduplicate menu ... ok\r\nexplicit groups ... ok\r\ngroup with non-existent sibling ... ok\r\nmenu with non-existent sibling ... ok\r\nsingle top level group ... ok\r\nsingle top level menu with no group ... ok\r\nsub-menus no groups ... ok\r\ntop level menu group ... ok\r\ntop level menu non-existent group ... ok\r\ntop level menus no groups, before and after ... ok\r\ntop level menus with_no groups ... ok\r\nadd extension point listener ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3]]>\r\nok\r\nadd plugin ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3]]>\r\nok\r\nextension point ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3], [98, 99, 100]]>\r\nok\r\nget plugin ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nok\r\nhome ... ok\r\nno plugins ... ---------- application starting ----------\r\n---------- application started ----------\r\n---------- application stopping ----------\r\nloading preferences from </Users/mdickinson/.enthought/test/preferences.ini>\r\nsaving preferences to </Users/mdickinson/.enthought/test/preferences.ini>\r\n---------- application stopped ----------\r\nok\r\nremove extension point listener ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\n---------- application started ----------\r\nextensions to <a.x> <[[]]>\r\nok\r\nremove plugin ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3], [98, 99, 100]]>\r\nok\r\nset plugin manager at construction time ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nok\r\nstart and stop errors ... ---------- application starting ----------\r\nplugin <envisage.tests.application_test_case.SimplePlugin object at 0x11108f620> has no Id - using <envisage.tests.application_test_case.SimplePlugin>\r\nplugin envisage.tests.application_test_case.SimplePlugin starting\r\nplugin envisage.tests.application_test_case.SimplePlugin started\r\nplugin <envisage.tests.application_test_case.BadPlugin object at 0x11108f780> has no Id - using <envisage.tests.application_test_case.BadPlugin>\r\nplugin envisage.tests.application_test_case.BadPlugin starting\r\n---------- application stopping ----------\r\nplugin envisage.tests.application_test_case.BadPlugin stopping\r\nok\r\nveto starting ... ---------- application starting ----------\r\n---------- application start vetoed ----------\r\nok\r\nveto stopping ... ---------- application starting ----------\r\n---------- application started ----------\r\n---------- application stopping ----------\r\n---------- application stop vetoed ----------\r\nok\r\nclass already loaded ... ok\r\nconnect ... ok\r\ndisconnect ... ok\r\ntest_application_gets_propogated_to_plugin_managers (envisage.tests.composite_plugin_manager_test_case.CompositePluginManagerTestCase) ... ok\r\ntest_correct_exception_propagated_from_plugin_manager (envisage.tests.composite_plugin_manager_test_case.CompositePluginManagerTestCase) ... ok\r\ntest_find_no_plugins_if_there_are_no_plugin_managers (envisage.tests.composite_plugin_manager_test_case.CompositePluginManagerTestCase) ... ok\r\ntest_find_no_plugins_if_there_are_no_plugins_in_plugin_managers (envisage.tests.composite_plugin_manager_test_case.CompositePluginManagerTestCase) ... ok\r\ntest_find_plugins_in_a_multiple_plugin_managers (envisage.tests.composite_plugin_manager_test_case.CompositePluginManagerTestCase) ... plugin <envisage.tests.composite_plugin_manager_test_case.SimplePlugin object at 0x110ff8518> has no Id - using <envisage.tests.composite_plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.composite_plugin_manager_test_case.SimplePlugin object at 0x11108ffc0> has no Id - using <envisage.tests.composite_plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.composite_plugin_manager_test_case.SimplePlugin object at 0x11108fe08> has no Id - using <envisage.tests.composite_plugin_manager_test_case.SimplePlugin>\r\nplugin red starting\r\nplugin red started\r\nplugin yellow starting\r\nplugin yellow started\r\nplugin green starting\r\nplugin green started\r\nplugin green stopping\r\nplugin green stopped\r\nplugin yellow stopping\r\nplugin yellow stopped\r\nplugin red stopping\r\nplugin red stopped\r\nok\r\ntest_find_plugins_in_a_single_plugin_manager (envisage.tests.composite_plugin_manager_test_case.CompositePluginManagerTestCase) ... plugin <envisage.tests.composite_plugin_manager_test_case.SimplePlugin object at 0x110ff8518> has no Id - using <envisage.tests.composite_plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.composite_plugin_manager_test_case.SimplePlugin object at 0x11108ff68> has no Id - using <envisage.tests.composite_plugin_manager_test_case.SimplePlugin>\r\nplugin red starting\r\nplugin red started\r\nplugin yellow starting\r\nplugin yellow started\r\nplugin yellow stopping\r\nplugin yellow stopped\r\nplugin red stopping\r\nplugin red stopped\r\nok\r\ntest_propogate_plugin_added_or_remove_events_from_plugin_managers (envisage.tests.composite_plugin_manager_test_case.CompositePluginManagerTestCase) ... plugin <envisage.plugin.Plugin object at 0x11108ff68> has no Id - using <envisage.plugin.Plugin>\r\nok\r\ncategories ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[], []]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[], []]>\r\nextensions to <envisage.categories> <[[], [<envisage.category.Category object at 0x1110aa728>]]>\r\nextensions to <envisage.service_offers> <[[], []]>\r\nplugin envisage.core started\r\nplugin A starting\r\nplugin A started\r\n---------- application started ----------\r\nok\r\nclass load hooks ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[], []]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[], [<envisage.class_load_hook.ClassLoadHook object at 0x1110aa830>]]>\r\nextensions to <envisage.categories> <[[], []]>\r\nextensions to <envisage.service_offers> <[[], []]>\r\nplugin envisage.core started\r\nplugin A starting\r\nplugin A started\r\n---------- application started ----------\r\nok\r\ndynamically added category ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[]]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[]]>\r\nextensions to <envisage.categories> <[[]]>\r\nextensions to <envisage.service_offers> <[[]]>\r\nplugin envisage.core started\r\n---------- application started ----------\r\nok\r\ndynamically class load hooks ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[]]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[]]>\r\nextensions to <envisage.categories> <[[]]>\r\nextensions to <envisage.service_offers> <[[]]>\r\nplugin envisage.core started\r\n---------- application started ----------\r\nok\r\ndynamically added preferences ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[]]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[]]>\r\nextensions to <envisage.categories> <[[]]>\r\nextensions to <envisage.service_offers> <[[]]>\r\nplugin envisage.core started\r\n---------- application started ----------\r\nloading preferences from <<_io.BufferedReader name='/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/preferences.ini'>>\r\nok\r\ndynamically added service offer ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[]]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[]]>\r\nextensions to <envisage.categories> <[[]]>\r\nextensions to <envisage.service_offers> <[[]]>\r\nplugin envisage.core started\r\n---------- application started ----------\r\nservice <1> registered envisage.tests.core_plugin_test_case.IMyService\r\nok\r\npreferences ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[], ['file:///Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/preferences.ini']]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nloading preferences from <<_io.BufferedReader name='/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/preferences.ini'>>\r\nextensions to <envisage.class_load_hooks> <[[], []]>\r\nextensions to <envisage.categories> <[[], []]>\r\nextensions to <envisage.service_offers> <[[], []]>\r\nplugin envisage.core started\r\nplugin A starting\r\nplugin A started\r\n---------- application started ----------\r\n---------- application stopping ----------\r\nplugin A stopping\r\nplugin A stopped\r\nplugin envisage.core stopping\r\nplugin envisage.core stopped\r\nsaving preferences to </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\n---------- application stopped ----------\r\nok\r\nservice offers ... ---------- application starting ----------\r\nplugin envisage.core starting\r\nextensions to <envisage.preferences> <[[], []]>\r\nloading preferences from </Users/mdickinson/.enthought/core.plugin.test/preferences.ini>\r\nextensions to <envisage.class_load_hooks> <[[], []]>\r\nextensions to <envisage.categories> <[[], []]>\r\nextensions to <envisage.service_offers> <[[], [<envisage.service_offer.ServiceOffer object at 0x111155780>]]>\r\nservice <1> registered envisage.tests.core_plugin_test_case.IMyService\r\nplugin envisage.core started\r\nplugin A starting\r\nplugin A started\r\n---------- application started ----------\r\nplugin envisage.core stopping\r\nservice <1> unregistered\r\nplugin envisage.core stopped\r\nok\r\ntest_find_plugins_in_eggs_on_the_plugin_path (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... egg basket plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x1112cfeb8>, <acme.bar.bar_plugin.BarPlugin object at 0x1112cfdb0>, <acme.baz.baz_plugin.BazPlugin object at 0x1112cfd58>]>\r\nok\r\ntest_ignore_broken_distributions_loads_good_distributions (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... Error loading distributions: {acme.foo 0.1a11 (/private/var/folders/6d/lyq0l1nx3c74lk1lkr4z7hn80000gn/T/tmpp6xm7492/acme.foo-0.1a11-py3.5.egg): VersionConflict(acme.foo 0.1a1 (/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/eggs/acme.foo-0.1a1-py3.5.egg), Requirement.parse('acme.foo==0.1a11'))}\r\negg basket plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x1112cfd58>, <acme.bar.bar_plugin.BarPlugin object at 0x1111678e0>, <acme.baz.baz_plugin.BazPlugin object at 0x111155150>]>\r\nok\r\ntest_ignore_broken_distributions_raises_exceptions_by_default (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... Error loading distributions: {acme.foo 0.1a11 (/private/var/folders/6d/lyq0l1nx3c74lk1lkr4z7hn80000gn/T/tmpznkpthwq/acme.foo-0.1a11-py3.5.egg): VersionConflict(acme.foo 0.1a1 (/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/eggs/acme.foo-0.1a1-py3.5.egg), Requirement.parse('acme.foo==0.1a11'))}\r\nok\r\ntest_ignore_broken_plugins_loads_good_plugins (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... Error loading plugin: acme.bad (from /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.5.egg)\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/egg_basket_plugin_manager.py\", line 119, in _harvest_plugins_in_eggs\r\n    application)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/egg_basket_plugin_manager.py\", line 77, in _create_plugin_from_entry_point\r\n    klass  = ep.load()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 2408, in load\r\n    return self.resolve()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 2414, in resolve\r\n    module = __import__(self.module_name, fromlist=['__name__'], level=0)\r\nImportError: No module named 'acme.bad'\r\n\r\negg basket plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x111167780>, <acme.bar.bar_plugin.BarPlugin object at 0x1112cfe08>, <acme.baz.baz_plugin.BazPlugin object at 0x11120b1a8>]>\r\nok\r\ntest_ignore_broken_plugins_raises_exceptions_by_default (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... Error loading plugin: acme.bad (from /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/bad_eggs/acme.bad-0.1a1-py3.5.egg)\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/egg_basket_plugin_manager.py\", line 119, in _harvest_plugins_in_eggs\r\n    application)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/egg_basket_plugin_manager.py\", line 77, in _create_plugin_from_entry_point\r\n    klass  = ep.load()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 2408, in load\r\n    return self.resolve()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/pkg_resources/__init__.py\", line 2414, in resolve\r\n    module = __import__(self.module_name, fromlist=['__name__'], level=0)\r\nImportError: No module named 'acme.bad'\r\n\r\nok\r\ntest_ignore_plugins_matching_a_wildcard_in_the_exclude_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... egg basket plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x111155410>]>\r\nplugin acme.foo starting\r\nplugin acme.foo started\r\nplugin acme.foo stopping\r\nplugin acme.foo stopped\r\nok\r\ntest_ignore_plugins_whose_ids_are_in_the_exclude_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... egg basket plugin manager found plugins <[<acme.bar.bar_plugin.BarPlugin object at 0x11091cfc0>]>\r\nplugin acme.bar starting\r\nplugin acme.bar started\r\nplugin acme.bar stopping\r\nplugin acme.bar stopped\r\nok\r\ntest_only_find_plugins_matching_a_wildcard_in_the_include_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... egg basket plugin manager found plugins <[<acme.bar.bar_plugin.BarPlugin object at 0x111167780>, <acme.baz.baz_plugin.BazPlugin object at 0x1112cfe08>]>\r\nplugin acme.bar starting\r\nplugin acme.bar started\r\nplugin acme.baz starting\r\nplugin acme.baz started\r\nplugin acme.baz stopping\r\nplugin acme.baz stopped\r\nplugin acme.bar stopping\r\nplugin acme.bar stopped\r\nok\r\ntest_only_find_plugins_whose_ids_are_in_the_include_list (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... egg basket plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x11114aca8>, <acme.bar.bar_plugin.BarPlugin object at 0x11114abf8>]>\r\nplugin acme.foo starting\r\nplugin acme.foo started\r\nplugin acme.bar starting\r\nplugin acme.bar started\r\nplugin acme.bar stopping\r\nplugin acme.bar stopped\r\nplugin acme.foo stopping\r\nplugin acme.foo stopped\r\nok\r\ntest_reflect_changes_to_the_plugin_path (envisage.tests.egg_basket_plugin_manager_test_case.EggBasketPluginManagerTestCase) ... egg basket plugin manager found plugins <[]>\r\negg basket plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x1112cfd58>, <acme.bar.bar_plugin.BarPlugin object at 0x1112cfeb8>, <acme.baz.baz_plugin.BazPlugin object at 0x1112cfdb0>]>\r\negg basket plugin manager found plugins <[]>\r\nok\r\nexclude multiple ... egg plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x1112cfeb8>]>\r\nplugin acme.foo starting\r\nplugin acme.foo started\r\nplugin acme.foo stopping\r\nplugin acme.foo stopped\r\nok\r\nexclude specific ... egg plugin manager found plugins <[<acme.bar.bar_plugin.BarPlugin object at 0x111155150>]>\r\nplugin acme.bar starting\r\nplugin acme.bar started\r\nplugin acme.bar stopping\r\nplugin acme.bar stopped\r\nok\r\ninclude multiple ... egg plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x1112cfd58>, <acme.bar.bar_plugin.BarPlugin object at 0x1112cfeb8>, <acme.baz.baz_plugin.BazPlugin object at 0x1112cfdb0>]>\r\nplugin acme.foo starting\r\nplugin acme.foo started\r\nplugin acme.bar starting\r\nplugin acme.bar started\r\nplugin acme.baz starting\r\nplugin acme.baz started\r\nplugin acme.baz stopping\r\nplugin acme.baz stopped\r\nplugin acme.bar stopping\r\nplugin acme.bar stopped\r\nplugin acme.foo stopping\r\nplugin acme.foo stopped\r\nok\r\ninclude specific ... egg plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x111155150>, <acme.bar.bar_plugin.BarPlugin object at 0x111155780>]>\r\nplugin acme.foo starting\r\nplugin acme.foo started\r\nplugin acme.bar starting\r\nplugin acme.bar started\r\nplugin acme.bar stopping\r\nplugin acme.bar stopped\r\nplugin acme.foo stopping\r\nplugin acme.foo stopped\r\nok\r\nno include or exclude ... egg plugin manager found plugins <[<acme.foo.foo_plugin.FooPlugin object at 0x111155150>, <acme.bar.bar_plugin.BarPlugin object at 0x111155048>, <acme.baz.baz_plugin.BazPlugin object at 0x1112cfd58>, <envisage.core_plugin.CorePlugin object at 0x111155780>]>\r\nok\r\nexplicit extension registry ... extension point <my.ep> added\r\nok\r\nset extensions via registry ... extension point <my.ep> added\r\nok\r\nset extensions via trait ... extension point <my.ep> added\r\nok\r\ntest_should_be_able_to_bind_multiple_traits_on_a_single_object (envisage.tests.extension_point_binding_test_case.ExtensionPointBindingTestCase) ... extension point <my.ep> added\r\nextension point <another.ep> added\r\nok\r\nuntyped extension point ... extension point <my.ep> added\r\nok\r\nadd plugin ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3]]>\r\nok\r\nappend ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3], [98, 99, 100]]>\r\nprovider <<envisage.tests.application_test_case.PluginB object at 0x1111551a8>> extension point changed\r\nok\r\nassign empty list ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3], [98, 99, 100]]>\r\nprovider <<envisage.tests.application_test_case.PluginB object at 0x111223200>> extension point changed\r\nok\r\nassign empty list no event ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nprovider <<envisage.tests.application_test_case.PluginB object at 0x1112237d8>> extension point changed\r\nextensions to <a.x> <[[], [], [98, 99, 100]]>\r\nok\r\nassign non-empty list ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3], [98, 99, 100]]>\r\nprovider <<envisage.tests.application_test_case.PluginB object at 0x111223e60>> extension point changed\r\nok\r\nremove ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3], [98, 99, 100]]>\r\nprovider <<envisage.tests.application_test_case.PluginB object at 0x11122f3b8>> extension point changed\r\nok\r\nremove plugin ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\nplugin C starting\r\nplugin C started\r\n---------- application started ----------\r\nextensions to <a.x> <[[], [1, 2, 3], [98, 99, 100]]>\r\nok\r\nset extension point ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\n---------- application started ----------\r\nok\r\nextension point changed ... extension point <my.ep> added\r\nok\r\nextension point with no Id ... ok\r\ninvalid extension point ... extension point <my.ep> added\r\nok\r\ninvalid extension point type ... ok\r\nno reference to extension registry ... extension point <my.ep> added\r\nok\r\nset typed extension point ... extension point <my.ep> added\r\nok\r\nset untyped extension point ... extension point <my.ep> added\r\nok\r\ntyped extension point ... extension point <my.ep> added\r\nok\r\nuntyped extension point ... extension point <my.ep> added\r\nok\r\nadd extension point ... extension point <my.ep> added\r\nok\r\nempty registry ... ok\r\nget extension point ... extension point <my.ep> added\r\nok\r\nremove empty_extension point ... extension point <my.ep> added\r\nextension point <my.ep> removed\r\nok\r\nremove non-empty extension point ... extension point <my.ep> added\r\nextension point <my.ep> removed\r\nok\r\nremove non existent extension point ... ok\r\nremove non existent listener ... ok\r\nset extensions ... extension point <my.ep> added\r\nok\r\nimport dotted module ... ok\r\nimport dotted symbol ... ok\r\nimport nested symbol ... ok\r\ntest_find_plugins_in_packages_on_the_plugin_path (envisage.tests.package_plugin_manager_test_case.PackagePluginManagerTestCase) ... Looking for plugins in /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/plugins/pear\r\npackage plugin manager found plugins <[<pear.pear_plugin.PearPlugin object at 0x1112cfd00>, <banana.banana_plugin.BananaPlugin object at 0x1112cffc0>, <orange.orange_plugin.OrangePlugin object at 0x11127c9e8>]>\r\nok\r\ntest_ignore_plugins_matching_a_wildcard_in_the_exclude_list (envisage.tests.package_plugin_manager_test_case.PackagePluginManagerTestCase) ... Looking for plugins in /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/plugins/pear\r\npackage plugin manager found plugins <[<banana.banana_plugin.BananaPlugin object at 0x11127ca40>]>\r\nplugin banana starting\r\nplugin banana started\r\nplugin banana stopping\r\nplugin banana stopped\r\nok\r\ntest_ignore_plugins_whose_ids_are_in_the_exclude_list (envisage.tests.package_plugin_manager_test_case.PackagePluginManagerTestCase) ... Looking for plugins in /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/plugins/pear\r\npackage plugin manager found plugins <[<banana.banana_plugin.BananaPlugin object at 0x11127c4c0>]>\r\nplugin banana starting\r\nplugin banana started\r\nplugin banana stopping\r\nplugin banana stopped\r\nok\r\ntest_only_find_plugins_matching_a_wildcard_in_the_include_list (envisage.tests.package_plugin_manager_test_case.PackagePluginManagerTestCase) ... Looking for plugins in /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/plugins/pear\r\npackage plugin manager found plugins <[<pear.pear_plugin.PearPlugin object at 0x1112cffc0>, <orange.orange_plugin.OrangePlugin object at 0x11127c360>]>\r\nplugin pear starting\r\nplugin pear started\r\nplugin orange starting\r\nplugin orange started\r\nplugin orange stopping\r\nplugin orange stopped\r\nplugin pear stopping\r\nplugin pear stopped\r\nok\r\ntest_only_find_plugins_whose_ids_are_in_the_include_list (envisage.tests.package_plugin_manager_test_case.PackagePluginManagerTestCase) ... Looking for plugins in /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/plugins/pear\r\npackage plugin manager found plugins <[<pear.pear_plugin.PearPlugin object at 0x1112cffc0>, <orange.orange_plugin.OrangePlugin object at 0x11127ca40>]>\r\nplugin pear starting\r\nplugin pear started\r\nplugin orange starting\r\nplugin orange started\r\nplugin orange stopping\r\nplugin orange stopped\r\nplugin pear stopping\r\nplugin pear stopped\r\nok\r\ntest_reflect_changes_to_the_plugin_path (envisage.tests.package_plugin_manager_test_case.PackagePluginManagerTestCase) ... package plugin manager found plugins <[]>\r\nLooking for plugins in /Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/plugins/pear\r\npackage plugin manager found plugins <[<pear.pear_plugin.PearPlugin object at 0x1112cffc0>, <banana.banana_plugin.BananaPlugin object at 0x11127c9e8>, <orange.orange_plugin.OrangePlugin object at 0x11127c4c0>]>\r\npackage plugin manager found plugins <[]>\r\nok\r\nget plugin ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cfd00> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nok\r\ntest_ignore_plugins_matching_a_wildcard_in_the_exclude_list (envisage.tests.plugin_manager_test_case.PluginManagerTestCase) ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cfd00> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cffc0> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x11127ca40> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin foo starting\r\nplugin foo started\r\nplugin bar starting\r\nplugin bar started\r\nplugin baz starting\r\nplugin baz started\r\nplugin baz stopping\r\nplugin baz stopped\r\nplugin bar stopping\r\nplugin bar stopped\r\nplugin foo stopping\r\nplugin foo stopped\r\nok\r\ntest_ignore_plugins_whose_ids_are_in_the_exclude_list (envisage.tests.plugin_manager_test_case.PluginManagerTestCase) ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cfd00> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cffc0> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x11127c9e8> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin foo starting\r\nplugin foo started\r\nplugin bar starting\r\nplugin bar started\r\nplugin baz starting\r\nplugin baz started\r\nplugin baz stopping\r\nplugin baz stopped\r\nplugin bar stopping\r\nplugin bar stopped\r\nplugin foo stopping\r\nplugin foo stopped\r\nok\r\niteration over plugins ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cfd00> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.BadPlugin object at 0x1112cffc0> has no Id - using <envisage.tests.plugin_manager_test_case.BadPlugin>\r\nok\r\ntest_only_include_plugins_matching_a_wildcard_in_the_include_list (envisage.tests.plugin_manager_test_case.PluginManagerTestCase) ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cffc0> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cfd00> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x11127ca40> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin foo starting\r\nplugin foo started\r\nplugin bar starting\r\nplugin bar started\r\nplugin baz starting\r\nplugin baz started\r\nplugin baz stopping\r\nplugin baz stopped\r\nplugin bar stopping\r\nplugin bar stopped\r\nplugin foo stopping\r\nplugin foo stopped\r\nok\r\ntest_only_include_plugins_whose_ids_are_in_the_include_list (envisage.tests.plugin_manager_test_case.PluginManagerTestCase) ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cffc0> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cfd00> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x11127c9e8> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin foo starting\r\nplugin foo started\r\nplugin bar starting\r\nplugin bar started\r\nplugin baz starting\r\nplugin baz started\r\nplugin baz stopping\r\nplugin baz stopped\r\nplugin bar stopping\r\nplugin bar stopped\r\nplugin foo stopping\r\nplugin foo stopped\r\nok\r\nstart and stop ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cffc0> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin envisage.tests.plugin_manager_test_case.SimplePlugin starting\r\nplugin envisage.tests.plugin_manager_test_case.SimplePlugin started\r\nplugin envisage.tests.plugin_manager_test_case.SimplePlugin stopping\r\nplugin envisage.tests.plugin_manager_test_case.SimplePlugin stopped\r\nok\r\nstart and stop errors ... plugin <envisage.tests.plugin_manager_test_case.SimplePlugin object at 0x1112cfd00> has no Id - using <envisage.tests.plugin_manager_test_case.SimplePlugin>\r\nplugin envisage.tests.plugin_manager_test_case.SimplePlugin starting\r\nplugin envisage.tests.plugin_manager_test_case.SimplePlugin started\r\nplugin <envisage.tests.plugin_manager_test_case.BadPlugin object at 0x1112cffc0> has no Id - using <envisage.tests.plugin_manager_test_case.BadPlugin>\r\nplugin envisage.tests.plugin_manager_test_case.BadPlugin starting\r\nplugin envisage.tests.plugin_manager_test_case.BadPlugin stopping\r\nok\r\nadd plugins to empty application ... ---------- application starting ----------\r\n---------- application started ----------\r\nplugin A starting\r\nplugin A started\r\nextensions to <x> <[[]]>\r\nok\r\ncontributes to ... extensions to <x> <[[], [1, 2, 3]]>\r\nok\r\ncontributes to decorator ... extensions to <x> <[[], [1, 2, 3]]>\r\nok\r\ncontributes to decorator ignored if trait present ... extensions to <x> <[[], [1, 2, 3]]>\r\nok\r\nexception in trait contribution ... getting extensions from <envisage.tests.plugin_test_case.PluginTestCase.test_exception_in_trait_contribution.<locals>.PluginB object at 0x11127ceb8>, trait <x>\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugin.py\", line 334, in _get_extensions_from_trait\r\n    extensions = getattr(self, trait_name)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/tests/plugin_test_case.py\", line 251, in _x_default\r\n    raise 1/0\r\nZeroDivisionError: division by zero\r\nok\r\nhome ... ok\r\nid policy ... plugin <envisage.plugin.Plugin object at 0x1112b26d0> has no Id - using <envisage.plugin.Plugin>\r\nplugin <envisage.plugin.Plugin object at 0x1112b2780> has no Id - using <envisage.plugin.Plugin>\r\nplugin <envisage.plugin.Plugin object at 0x1112b26d0> has no name - using <Plugin>\r\nplugin <envisage.plugin.Plugin object at 0x1112b26d0> has no Id - using <envisage.plugin.Plugin>\r\nok\r\nmultiple trait contributions ... ok\r\nname policy ... plugin <envisage.plugin.Plugin object at 0x11120b6d0> has no name - using <Plugin>\r\nplugin <envisage.plugin.Plugin object at 0x111155048> has no name - using <Plugin>\r\nplugin <envisage.tests.plugin_test_case.PluginTestCase.test_name_policy.<locals>.ThisIsMyPlugin object at 0x1112ac990> has no name - using <This Is My Plugin>\r\nok\r\nplugin activator. ... ---------- application starting ----------\r\nplugin A starting\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\n---------- application started ----------\r\n---------- application stopping ----------\r\nplugin B stopping\r\nplugin B stopped\r\nplugin A stopping\r\nplugin A stopped\r\nloading preferences from </Users/mdickinson/.enthought/test/preferences.ini>\r\nsaving preferences to </Users/mdickinson/.enthought/test/preferences.ini>\r\n---------- application stopped ----------\r\nok\r\nservice ... ---------- application starting ----------\r\nplugin A starting\r\nDEPRECATED: Do not use the \"service=True\" metadata anymore. Services should now be offered using the service offer extension point (envisage.service_offers) from the core plugin. Plugin <envisage.tests.plugin_test_case.PluginTestCase.test_service.<locals>.PluginA object at 0x1112929e8> trait <bar>\r\nservice <1> registered envisage.tests.plugin_test_case.Bar\r\nDEPRECATED: Do not use the \"service=True\" metadata anymore. Services should now be offered using the service offer extension point (envisage.service_offers) from the core plugin. Plugin <envisage.tests.plugin_test_case.PluginTestCase.test_service.<locals>.PluginA object at 0x1112929e8> trait <baz>\r\nservice <2> registered envisage.tests.plugin_test_case.Baz\r\nDEPRECATED: Do not use the \"service=True\" metadata anymore. Services should now be offered using the service offer extension point (envisage.service_offers) from the core plugin. Plugin <envisage.tests.plugin_test_case.PluginTestCase.test_service.<locals>.PluginA object at 0x1112929e8> trait <foo>\r\nservice <3> registered envisage.tests.plugin_test_case.Foo\r\nplugin A started\r\n---------- application started ----------\r\n---------- application stopping ----------\r\nplugin A stopping\r\nservice <3> unregistered\r\nservice <2> unregistered\r\nservice <1> unregistered\r\nplugin A stopped\r\nloading preferences from </Users/mdickinson/.enthought/test/preferences.ini>\r\nsaving preferences to </Users/mdickinson/.enthought/test/preferences.ini>\r\n---------- application stopped ----------\r\nok\r\nservice protocol ... ---------- application starting ----------\r\nplugin A starting\r\nDEPRECATED: Do not use the \"service=True\" metadata anymore. Services should now be offered using the service offer extension point (envisage.service_offers) from the core plugin. Plugin <envisage.tests.plugin_test_case.PluginTestCase.test_service_protocol.<locals>.PluginA object at 0x111292308> trait <foo>\r\nservice <1> registered envisage.tests.plugin_test_case.IBar\r\nplugin A started\r\n---------- application started ----------\r\n---------- application stopping ----------\r\nplugin A stopping\r\nservice <1> unregistered\r\nplugin A stopped\r\nloading preferences from </Users/mdickinson/.enthought/test/preferences.ini>\r\nsaving preferences to </Users/mdickinson/.enthought/test/preferences.ini>\r\n---------- application stopped ----------\r\nok\r\nadd extension point ... extension point <my.ep> added\r\nok\r\nempty registry ... ok\r\nget extension point ... extension point <my.ep> added\r\nok\r\nremove empty_extension point ... extension point <my.ep> added\r\nextension point <my.ep> removed\r\nok\r\nremove non-empty extension point ... extension point <my.ep> added\r\nextension point <my.ep> removed\r\nok\r\nremove non existent extension point ... ok\r\nremove non existent listener ... ok\r\nset extensions ... extension point <my.ep> added\r\nok\r\nadd extension point ... extension point <my.ep> added\r\nextensions to <my.ep> <[]>\r\nok\r\nadd provider ... extensions to <x> <[[42]]>\r\nok\r\nempty registry ... getting extensions of unknown extension point <my.ep>\r\nok\r\nget extension point ... extension point <my.ep> added\r\nok\r\nget providers ... ok\r\nprovider extensions changed ... extensions to <my.ep> <[[42], [99, 100]]>\r\nprovider <<envisage.tests.provider_extension_registry_test_case.ProviderExtensionRegistryTestCase.test_provider_extensions_changed.<locals>.ProviderA object at 0x11138eca8>> extension point changed\r\nprovider <<envisage.tests.provider_extension_registry_test_case.ProviderExtensionRegistryTestCase.test_provider_extensions_changed.<locals>.ProviderB object at 0x11138ed00>> extension point changed\r\nprovider <<envisage.tests.provider_extension_registry_test_case.ProviderExtensionRegistryTestCase.test_provider_extensions_changed.<locals>.ProviderB object at 0x11138ed00>> extension point changed\r\nok\r\nproviders ... extensions to <x> <[[42, 43], [44, 45, 46], []]>\r\nok\r\nremove empty_extension point ... extension point <my.ep> added\r\nextension point <my.ep> removed\r\nok\r\nremove non-empty extension point ... extensions to <x> <[[42, 43]]>\r\nextension point <x> removed\r\ngetting extensions of unknown extension point <x>\r\nok\r\nremove non existent extension point ... ok\r\nremove non existent listener ... ok\r\nremove provider ... ok\r\nremove provider ... extensions to <x> <[[42], [43, 44]]>\r\ngetting extensions of unknown extension point <x>\r\nok\r\nremove provider with no contributions ... extensions to <x> <[[]]>\r\ngetting extensions of unknown extension point <x>\r\nok\r\nset extensions ... extension point <my.ep> added\r\nok\r\ntest_can_create_weakref_to_bound_method (envisage.tests.safeweakref_test_case.SafeWeakrefTestCase) ... ok\r\ntest_get_builtin_weakref_for_non_bound_method (envisage.tests.safeweakref_test_case.SafeWeakrefTestCase) ... ok\r\ntest_internal_cache_is_weak_too (envisage.tests.safeweakref_test_case.SafeWeakrefTestCase) ... ok\r\ntest_two_weakrefs_to_bound_method_are_equal (envisage.tests.safeweakref_test_case.SafeWeakrefTestCase) ... ok\r\ntest_two_weakrefs_to_bound_method_are_identical (envisage.tests.safeweakref_test_case.SafeWeakrefTestCase) ... ok\r\ntest_two_weakrefs_to_bound_method_hash_equally (envisage.tests.safeweakref_test_case.SafeWeakrefTestCase) ... ok\r\nfunction service factory ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nok\r\nget and set service properties ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <2> registered envisage.tests.service_registry_test_case.IFoo\r\nok\r\nget service ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <2> registered envisage.tests.service_registry_test_case.IFoo\r\nok\r\nget service with query ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <2> registered envisage.tests.service_registry_test_case.IFoo\r\nok\r\nget services ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <2> registered envisage.tests.service_registry_test_case.IFoo\r\nok\r\nget services with query ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <2> registered envisage.tests.service_registry_test_case.IFoo\r\nok\r\nget services with strings ... service <1> registered envisage.tests.foo.IFoo\r\nservice <2> registered envisage.tests.foo.IFoo\r\nok\r\nimported service factory ... service <1> registered traits.has_traits.HasTraits\r\nok\r\nlazy bound method service factory ... service <1> registered envisage.tests.i_foo.IFoo\r\nok\r\nlazy function service factory ... service <1> registered envisage.tests.i_foo.IFoo\r\nok\r\nminimize and maximize ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <2> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <3> registered envisage.tests.service_registry_test_case.IFoo\r\nok\r\ntest_should_get_exception_if_required_service_is_missing (envisage.tests.service_registry_test_case.ServiceRegistryTestCase) ... ok\r\ntest_should_get_required_service (envisage.tests.service_registry_test_case.ServiceRegistryTestCase) ... service <1> registered envisage.tests.service_registry_test_case.Foo\r\nok\r\nunregister service ... service <1> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <2> registered envisage.tests.service_registry_test_case.IFoo\r\nservice <1> unregistered\r\nservice <2> unregistered\r\nok\r\nservice trait type ... ---------- application starting ----------\r\nplugin A starting\r\nDEPRECATED: Do not use the \"service=True\" metadata anymore. Services should now be offered using the service offer extension point (envisage.service_offers) from the core plugin. Plugin <envisage.tests.service_test_case.ServiceTestCase.test_service_trait_type.<locals>.PluginA object at 0x111292780> trait <foo>\r\nservice <1> registered envisage.tests.service_test_case.Foo\r\nplugin A started\r\nplugin B starting\r\nplugin B started\r\n---------- application started ----------\r\n---------- application stopping ----------\r\nplugin B stopping\r\nplugin B stopped\r\nplugin A stopping\r\nservice <1> unregistered\r\nplugin A stopped\r\nloading preferences from </Users/mdickinson/.enthought/test/preferences.ini>\r\nsaving preferences to </Users/mdickinson/.enthought/test/preferences.ini>\r\n---------- application stopped ----------\r\nok\r\nservice trait type with no service registry ... ok\r\nappend ... ok\r\nassign extended slice ... ok\r\nassign item ... ok\r\nassign slice ... ok\r\ndel all ... ok\r\ndel extended slice ... ok\r\ndel item ... ok\r\ndel slice ... ok\r\nextend ... ok\r\ninsert ... ok\r\nremove ... ok\r\nremove ... ok\r\nreverse ... ok\r\nsort ... ok\r\n\r\n======================================================================\r\nERROR: test_initial_namespace (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py\", line 48, in test_initial_namespace\r\n    kernel.shutdown()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 88, in shutdown\r\n    self.ipkernel.shell.exit_now = True\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/traitlets.py\", line 585, in __set__\r\n    self.set(obj, value)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/traitlets.py\", line 574, in set\r\n    obj._notify_trait(self.name, old_value, new_value)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/traitlets.py\", line 1139, in _notify_trait\r\n    type='change',\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/traitlets.py\", line 1176, in notify_change\r\n    c(change)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/zmqshell.py\", line 472, in _update_exit_now\r\n    loop = self.kernel.io_loop\r\nAttributeError: 'IPythonKernel' object has no attribute 'io_loop'\r\n\r\n======================================================================\r\nERROR: test_io_pub_thread_stopped (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py\", line 52, in test_io_pub_thread_stopped\r\n    kernel.init_ipkernel(gui_backend=None)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 62, in init_ipkernel\r\n    self.ipkernel = gui_kernel(gui_backend)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 28, in gui_kernel\r\n    kernel.initialize(argv)\r\n  File \"<decorator-gen-123>\", line 2, in initialize\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/config/application.py\", line 87, in catch_config_error\r\n    return method(app, *args, **kwargs)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 456, in initialize\r\n    self.init_sockets()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 238, in init_sockets\r\n    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 180, in _bind_socket\r\n    s.bind(\"tcp://%s:%i\" % (self.ip, port))\r\n  File \"zmq/backend/cython/socket.pyx\", line 547, in zmq.backend.cython.socket.Socket.bind\r\n  File \"zmq/backend/cython/checkrc.pxd\", line 25, in zmq.backend.cython.checkrc._check_rc\r\nzmq.error.ZMQError: Address already in use\r\n\r\n======================================================================\r\nERROR: test_lifecycle (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py\", line 31, in test_lifecycle\r\n    kernel.init_ipkernel(gui_backend=None)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 62, in init_ipkernel\r\n    self.ipkernel = gui_kernel(gui_backend)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 28, in gui_kernel\r\n    kernel.initialize(argv)\r\n  File \"<decorator-gen-123>\", line 2, in initialize\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/config/application.py\", line 87, in catch_config_error\r\n    return method(app, *args, **kwargs)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 456, in initialize\r\n    self.init_sockets()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 238, in init_sockets\r\n    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 180, in _bind_socket\r\n    s.bind(\"tcp://%s:%i\" % (self.ip, port))\r\n  File \"zmq/backend/cython/socket.pyx\", line 547, in zmq.backend.cython.socket.Socket.bind\r\n  File \"zmq/backend/cython/checkrc.pxd\", line 25, in zmq.backend.cython.checkrc._check_rc\r\nzmq.error.ZMQError: Address already in use\r\n\r\n======================================================================\r\nERROR: test_kernel_namespace_extension_point (envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py\", line 72, in test_kernel_namespace_extension_point\r\n    kernel.init_ipkernel(gui_backend=None)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 62, in init_ipkernel\r\n    self.ipkernel = gui_kernel(gui_backend)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 28, in gui_kernel\r\n    kernel.initialize(argv)\r\n  File \"<decorator-gen-123>\", line 2, in initialize\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/config/application.py\", line 87, in catch_config_error\r\n    return method(app, *args, **kwargs)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 456, in initialize\r\n    self.init_sockets()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 238, in init_sockets\r\n    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 180, in _bind_socket\r\n    s.bind(\"tcp://%s:%i\" % (self.ip, port))\r\n  File \"zmq/backend/cython/socket.pyx\", line 547, in zmq.backend.cython.socket.Socket.bind\r\n  File \"zmq/backend/cython/checkrc.pxd\", line 25, in zmq.backend.cython.checkrc._check_rc\r\nzmq.error.ZMQError: Address already in use\r\n\r\n======================================================================\r\nERROR: test_kernel_service (envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin)\r\n----------------------------------------------------------------------\r\nTraceback (most recent call last):\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py\", line 53, in test_kernel_service\r\n    kernel.init_ipkernel(gui_backend=None)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 62, in init_ipkernel\r\n    self.ipkernel = gui_kernel(gui_backend)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/envisage-4.7.0.dev41-py3.5.egg/envisage/plugins/ipython_kernel/internal_ipkernel.py\", line 28, in gui_kernel\r\n    kernel.initialize(argv)\r\n  File \"<decorator-gen-123>\", line 2, in initialize\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/traitlets/config/application.py\", line 87, in catch_config_error\r\n    return method(app, *args, **kwargs)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 456, in initialize\r\n    self.init_sockets()\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 238, in init_sockets\r\n    self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)\r\n  File \"/Users/mdickinson/.edm/envs/envisage-test-3.5-null/lib/python3.5/site-packages/ipykernel/kernelapp.py\", line 180, in _bind_socket\r\n    s.bind(\"tcp://%s:%i\" % (self.ip, port))\r\n  File \"zmq/backend/cython/socket.pyx\", line 547, in zmq.backend.cython.socket.Socket.bind\r\n  File \"zmq/backend/cython/checkrc.pxd\", line 25, in zmq.backend.cython.checkrc._check_rc\r\nzmq.error.ZMQError: Address already in use\r\n\r\n----------------------------------------------------------------------\r\nRan 198 tests in 3.324s\r\n\r\nFAILED (errors=5)\r\nCommand '['edm', 'run', '-e', 'envisage-test-3.5-null', '--', 'coverage', 'run', '-p', '-m', 'nose.core', '-v', 'envisage', '--nologcapture']' returned non-zero exit status 1.\r\ntaniyama:envisage mdickinson$ \r\n```\r\n\r\n</details>"}}
{"actor":{"display_login":"mdickinson"}}