From de022b2115b52076e918cb9fb5da44bd46b64a11 Mon Sep 17 00:00:00 2001 From: nejucomo Date: Sun, 20 Jan 2008 20:56:27 -0700 Subject: [PATCH] tahoe_fuse: cmdline args & system test: Allow nonstandard client basedirs to be specified and update the system tests to use this feature... The commandline option handling of the version of python-fuse I use is arcane. This is an ugly hack. --- contrib/fuse/runtests.py | 10 ++++++---- contrib/fuse/tahoe_fuse.py | 18 ++++++++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/contrib/fuse/runtests.py b/contrib/fuse/runtests.py index 275ad4aa..e6d51468 100644 --- a/contrib/fuse/runtests.py +++ b/contrib/fuse/runtests.py @@ -229,17 +229,19 @@ class SystemTest (object): self.mount_fuse_layer() def mount_fuse_layer(self): - # FIXME - tahoe_fuse.py: This probably currently fails because - # tahoe_fuse looks in ~/.tahoe. - print 'Mounting fuse interface.' + client = self.get_interface_client() + self.mountpoint = tempfile.mkdtemp(prefix='tahoe_fuse_mp_') try: thispath = os.path.abspath(sys.argv[0]) thisdir = os.path.dirname(thispath) fusescript = os.path.join(thisdir, 'tahoe_fuse.py') try: - proc = subprocess.Popen([fusescript, self.mountpoint, '-f']) + proc = subprocess.Popen([fusescript, + self.mountpoint, + '-f', + '--basedir', client.base]) # FIXME: Verify the mount somehow? self.run_test_layer() diff --git a/contrib/fuse/tahoe_fuse.py b/contrib/fuse/tahoe_fuse.py index d00806f2..f9485642 100644 --- a/contrib/fuse/tahoe_fuse.py +++ b/contrib/fuse/tahoe_fuse.py @@ -68,10 +68,20 @@ MagicDevNumber = 42 UnknownSize = -1 -def main(args = sys.argv[1:]): - if not args: - raise SystemExit("Usage: %s MOUNTPOINT\n\nThe argument MOUNTPOINT is an empty directory where you want to mount a tahoe filesystem.\n" % (sys.argv[0],)) - fs = TahoeFS(os.path.expanduser(TahoeConfigDir)) +def main(): + basedir = os.path.expanduser(TahoeConfigDir) + + for i, arg in enumerate(sys.argv): + if arg == '--basedir': + try: + basedir = sys.argv[i+1] + sys.argv[i:i+2] = [] + except IndexError: + sys.argv = [sys.argv[0], '--help'] + + print 'DEBUG:', sys.argv + + fs = TahoeFS(basedir) fs.main() -- 2.45.2