diff --git a/contrib/fuse/runtests.py b/contrib/fuse/runtests.py index 275ad4aa5..e6d51468a 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 d00806f29..f9485642b 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()