From 23e3a854620839d96b58d60386fd0f9d4ccb64fc 2009-04-26 04:26:19 From: Brian Granger <ellisonbg@gmail.com> Date: 2009-04-26 04:26:19 Subject: [PATCH] Fixing mysterious bug in IEnginePropertiesTestCase.strictDict. This one was showing up as a tokenizer error. --- diff --git a/IPython/kernel/engineservice.py b/IPython/kernel/engineservice.py index 199d5ef..b400320 100644 --- a/IPython/kernel/engineservice.py +++ b/IPython/kernel/engineservice.py @@ -269,8 +269,8 @@ class StrictDict(dict): pickle.dumps(key, 2) pickle.dumps(value, 2) newvalue = copy.deepcopy(value) - except: - raise error.InvalidProperty(value) + except Exception, e: + raise error.InvalidProperty("can't be a value: %r" % value) dict.__setitem__(self, key, newvalue) self.modified = True diff --git a/IPython/kernel/tests/engineservicetest.py b/IPython/kernel/tests/engineservicetest.py index 9544db3..ebb0587 100644 --- a/IPython/kernel/tests/engineservicetest.py +++ b/IPython/kernel/tests/engineservicetest.py @@ -363,7 +363,8 @@ class IEnginePropertiesTestCase(object): p = get_engine(%s).properties"""%self.engine.id d = self.engine.execute(s) d.addCallback(lambda r: self.engine.execute("p['a'] = lambda _:None")) - d = self.assertDeferredRaises(d, error.InvalidProperty) + d.addErrback(lambda f: self.assertRaises(error.InvalidProperty, + f.raiseException)) d.addCallback(lambda r: self.engine.execute("p['a'] = range(5)")) d.addCallback(lambda r: self.engine.execute("p['a'].append(5)")) d.addCallback(lambda r: self.engine.get_properties('a'))