id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,launchpad_bug 3513,no_network should use `Failure.raiseException` instead of `raise failure.value`,exarkun,GitHub ,"`NoNetworkGrid._check_clients` looks at some Failures that it may have recorded and then raises an exception if there are any. It raises the exception like this: {{{ raise self._setup_errors[0].value }}} This throws away the traceback that has been preserved in the Failure and means there is no meaningful context for the exception that is reported. Instead it should {{{ self._setup_errors[0].raiseException() }}} This is the difference between: {{{ Traceback (most recent call last): File ""/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/defer.py"", line 1418, in _inlineCallbacks result = g.send(result) File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/cli/test_alias.py"", line 20, in test_list self.set_up_grid(oneshare=True) File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 495, in set_up_grid c = self.get_client(0) File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 518, in get_client self.g._check_clients() File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 360, in _check_clients raise self._setup_errors[0].value exceptions.TypeError: buildServer() takes exactly 5 arguments (4 given) }}} and {{{ Traceback (most recent call last): File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/cli/test_alias.py"", line 20, in test_list self.set_up_grid(oneshare=True) File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 495, in set_up_grid c = self.get_client(0) File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 518, in get_client self.g._check_clients() File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 360, in _check_clients self._setup_errors[0].raiseException() File """", line 2, in raiseException File ""/home/exarkun/VirtualEnvs/tahoe-lafs/lib/python2.7/site-packages/twisted/internet/defer.py"", line 1418, in _inlineCallbacks result = g.send(result) File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 389, in make_client c = yield create_no_network_client(clientdir) File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/test/no_network.py"", line 253, in create_no_network_client storage_farm_broker=storage_broker, File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/client.py"", line 717, in __init__ self.init_web(webport) # strports string File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/client.py"", line 1068, in init_web staticdir, File ""/home/exarkun/Work/python/tahoe-lafs/src/allmydata/webish.py"", line 179, in __init__ self.buildServer(webport, nodeurl_path, staticdir) exceptions.TypeError: buildServer() takes exactly 5 arguments (4 given) }}} The latter correctly points at webish.py:179 whereas the form just points at unrelated test infrastructure code. ",defect,closed,normal,undecided,unknown,n/a,fixed,review,,