Add precondition that arguments to do_cli are strs.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2015-10-20 15:12:36 +01:00
parent f1ed5b7136
commit 8c4a9b08ee

View File

@ -36,7 +36,7 @@ from twisted.python import usage
from allmydata.util.assertutil import precondition from allmydata.util.assertutil import precondition
from allmydata.util.encodingutil import listdir_unicode, unicode_platform, \ from allmydata.util.encodingutil import listdir_unicode, unicode_platform, \
get_io_encoding, get_filesystem_encoding get_io_encoding, get_filesystem_encoding, unicode_to_argv
timeout = 480 # deep_check takes 360s on Zandr's linksys box, others take > 240s timeout = 480 # deep_check takes 360s on Zandr's linksys box, others take > 240s
@ -49,11 +49,14 @@ def parse_options(basedir, command, args):
class CLITestMixin(ReallyEqualMixin): class CLITestMixin(ReallyEqualMixin):
def do_cli(self, verb, *args, **kwargs): def do_cli(self, verb, *args, **kwargs):
precondition(not [True for arg in args if not isinstance(arg, str)],
"arguments to do_cli must be strs -- convert using unicode_to_argv", args=args)
# client_num is used to execute client CLI commands on a specific client. # client_num is used to execute client CLI commands on a specific client.
client_num = kwargs.get("client_num", 0) client_num = kwargs.get("client_num", 0)
nodeargs = [ nodeargs = [
"--node-directory", self.get_clientdir(i=client_num), "--node-directory", unicode_to_argv(self.get_clientdir(i=client_num)),
] ]
argv = nodeargs + [verb] + list(args) argv = nodeargs + [verb] + list(args)
stdin = kwargs.get("stdin", "") stdin = kwargs.get("stdin", "")