From c16f50600d0021453e6e51e7a2f4f6a5c58a9029 Mon Sep 17 00:00:00 2001 From: francois Date: Sat, 9 Jan 2010 04:30:10 -0800 Subject: [PATCH] contrib/fuse/runtests.py: Fix #888, configure settings in tahoe.cfg and don't treat warnings as failure Fix a few bitrotten pieces in the FUSE test script. It now configures tahoe node settings by editing tahoe.cfg which is the new supported method. It alos tolerate warnings issued by the mount command, the cause of these warnings is the same as in #876 (contrib/fuse/runtests.py doesn't tolerate deprecations warnings). --- contrib/fuse/runtests.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/contrib/fuse/runtests.py b/contrib/fuse/runtests.py index 4aa457bb..7d13a504 100644 --- a/contrib/fuse/runtests.py +++ b/contrib/fuse/runtests.py @@ -283,6 +283,14 @@ class SystemTest (object): print 'Stopping introducer node.' self.stop_node(introbase) + def set_tahoe_option(self, base, key, value): + import re + + filename = os.path.join(base, 'tahoe.cfg') + content = open(filename).read() + content = re.sub('%s = (.+)' % key, '%s = %s' % (key, value), content) + open(filename, 'w').write(content) + TotalClientsNeeded = 3 def launch_clients_layer(self, introbase, clientnum = 0): if clientnum >= self.TotalClientsNeeded: @@ -300,26 +308,22 @@ class SystemTest (object): output = self.run_tahoe('create-client', '--basedir', base) self.check_tahoe_output(output, ExpectedCreationOutput, base) - webportpath = os.path.join(base, 'webport') if clientnum == 0: # The first client is special: self.clientbase = base self.port = random.randrange(1024, 2**15) - f = open(webportpath, 'w') - f.write('tcp:%d:interface=127.0.0.1\n' % self.port) - f.close() + self.set_tahoe_option(base, 'web.port', 'tcp:%d:interface=127.0.0.1' % self.port) + self.weburl = "http://127.0.0.1:%d/" % (self.port,) print self.weburl else: - if os.path.exists(webportpath): - os.remove(webportpath) + self.set_tahoe_option(base, 'web.port', '') introfurl = os.path.join(introbase, 'introducer.furl') - self.polling_operation(lambda : os.path.isfile(introfurl), - 'introducer.furl creation') - shutil.copy(introfurl, base) + furl = open(introfurl).read().strip() + self.set_tahoe_option(base, 'introducer.furl', furl) # NOTE: We assume if tahoe exist with non-zero status, no separate # tahoe child process is still running. @@ -852,7 +856,7 @@ class ImplProcessManager(object): if self.mount_wait: exitcode, output = gather_output(args) - if exitcode != 0 or output: + if exitcode != 0: tmpl = '%r failed to launch:\n' tmpl += 'Exit Status: %r\n' tmpl += 'Output:\n%s\n' -- 2.45.2