Commit Graph

47 Commits

Author SHA1 Message Date
robk-tahoe
4f04bf99a5 fuse/impl_{a,b}: improve node-url handling
specifically change the expectation of the code to be such that the node-url
(self.url) always includes the trailing slash to be a correctly formed url

moreover read the node-url from the 'node.url' file found in the node 'basedir'
and only if that doesn't exist, then fall back to reading the 'webport' file
from therein and assuming localhost.  This then supports the general tahoe 
pattern that tools needing only a webapi server can be pointed at a directory
containing the node.url file, which can optionally point to another server,
rather than requiring a complete node dir and locally running node instance.
2008-09-24 11:28:54 -07:00
robk-tahoe
97229238b0 fuse/impl_b: tweaks from testing on hardy
from testing on linux (specifically ubuntu hardy) the libfuse dll has a
different name, specifically libfuse.so.2. this patch tries libfuse.so
and then falls back to trying .2 if the former fails.

it also changes the unmount behaviour, to simply return from the handler's
loop_forever() loop upon being unmounted, rather than raising an EOFError,
since none of the client code I looked at actually handled that exception,
but did seem to expect to fall off of main() when loop_forever() returned.
Additionally, from my testing unmount typically led to an OSError from the
fuse fd read, rather than an empty read, as the code seemed to expect.

also removed a spurious import pyflakes quibbled about.
2008-09-24 11:07:38 -07:00
nejucomo
8e9bb72008 fuse: runtests: Create an interface for setup/cleanup of the two implementations...
The impl_b cleanup appears incorrect.  I'm not sure what the proper behavior is.
2008-06-07 00:08:25 -07:00
nejucomo
171b430afb fuse: runtests: Wrap OSError exceptions which are test failures. 2008-06-07 00:07:18 -07:00
nejucomo
609e9b08da fuse: runtests: Move exception classes to top scope. 2008-06-07 00:06:00 -07:00
nejucomo
15fdb572b8 fuse: runtests: Fix typo in summary reporting. 2008-06-07 00:05:07 -07:00
nejucomo
0a94ac5732 fuse: runtests: Make test numbers (and everything in general) 0-indexed for consistency. 2008-06-06 23:19:15 -07:00
nejucomo
f665b10b12 fuse: runtests.py: Fix a typo bug in fusermount output checking. 2008-06-06 23:18:15 -07:00
nejucomo
4d8aac35f4 fuse: runtests.py: Fix bug in polling_operation error that always referred to introducer.furl. 2008-06-06 23:17:19 -07:00
nejucomo
4f94d00abe fuse: impl_b: Support --basedir on commandline. 2008-06-06 23:16:38 -07:00
nejucomo
2fa5785960 fuse: impl_b: Add impl_b to the contrib directory. 2008-06-06 22:22:36 -07:00
nejucomo
e538651947 fuse: Reorganize directory tree and modify runtests.py to run against both implementations...
Currently, fuse impl_b does not support a --basedir argument, and always
uses ~/.tahoe, which makes it incompatible with these system tests.
2008-06-06 22:19:23 -07:00
Zooko O'Whielacronx
c88ea89f14 contrib: add a note about Armin Rigo's fuse implementation 2008-04-28 07:05:44 -07:00
nejucomo
67660232f1 tahoe_fuse: system test: Verify file contents can be properly read. 2008-01-30 03:14:48 -07:00
nejucomo
28552e5967 tahoe_fuse: system test: Populate a testdir with files and empty children directories, then test the fuse interface for proper listings and size metadata. 2008-01-30 02:59:43 -07:00
nejucomo
7240021d1c tahoe_fuse: system test: Create a separate directory for each test and pass the cap and local path to each test. Add two basic sanity tests for empty directories. 2008-01-30 02:57:54 -07:00
nejucomo
9ecfbc62cd tahoe_fuse: system test: Replace repeated attempts at webapi calls with single calls, abstract webapi calls into a single function. 2008-01-30 02:56:25 -07:00
nejucomo
0dbdb0f871 tahoe_fuse: system test: Remove some needless comments. 2008-01-30 02:55:53 -07:00
nejucomo
5e94c07045 tahoe_fuse: system test: Move test summary to end of output. 2008-01-30 02:46:24 -07:00
nejucomo
ab3d399ac7 tahoe_fuse: system tests: Update comments. 2008-01-30 02:45:54 -07:00
nejucomo
98e92e2a48 tahoe_fuse: system test: Make output checking into non-fatal warnings, and make patterns looser. 2008-01-30 01:10:53 -07:00
nejucomo
3aceb6be1e tahoe_fuse.py: system test: Distinguish between TestFailures and unexpected exceptions during testing (and fix a typo). 2008-01-28 22:42:28 -07:00
nejucomo
7421d99f18 tahoe_fuse.py: system test: setup: lexically sort test names, create a TestFailure class, implement an empty directory listing test. 2008-01-28 22:40:47 -07:00
nejucomo
597ab62d12 tahoe_fuse.py: system test: setup: fixed a bug in which the mointpoint was not created before mounting. 2008-01-28 22:39:13 -07:00
nejucomo
7fe264d280 tahoe_fuse.py: system test: Many changes to framework...
The flow control has been de-obfuscated a bit.

Some output changes.

The test framework has quite a few race conditions, but it does a reasonable job of setting up and cleaning up.
2008-01-28 22:27:19 -07:00
nejucomo
b4c566efca Individual tests run after all the setup layers are in place. 2008-01-28 22:25:11 -07:00
nejucomo
de022b2115 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.
2008-01-20 20:56:27 -07:00
nejucomo
57da456dc9 tahoe_fuse: rename decorators for clarity. 2008-01-20 20:26:57 -07:00
nejucomo
c621fe1aa6 Small log output change. 2008-01-20 20:18:53 -07:00
nejucomo
ba4458d502 tahoe_fuse: system test: webapi connection: bug fix and small log output change. 2008-01-20 20:10:31 -07:00
nejucomo
b4b410eccf tahoe_fuse: system test: Add FIXME comments. 2008-01-20 20:06:19 -07:00
nejucomo
d1c0aa6ea6 tahoe_fuse: system test: Manage multiple clients for test grid... System test setup is almost complete.
This is a little convoluted because of the "layer" design, but it appears
to function correctly and do properly ordered cleanup.

Before system test setup is complete, tahoe_fuse.py needs to be modified
to allow arbitrary client base directories.
2008-01-20 20:02:20 -07:00
nejucomo
1f42953fb4 tahoe_fuse: system test: Attempt to create a dirnode to place in <basedir>/private/root_dir.cap, but this fails because the network is too small...
This patch also factors out the "polling_operation" pattern.
2008-01-20 18:47:47 -07:00
nejucomo
1295c1e4ec tahoe_fuse: system test: Launch the fuse interface. 2008-01-20 17:55:51 -07:00
nejucomo
c225c657d4 tahoe_fuse: system test: factor out some cleanup code. 2008-01-20 17:54:48 -07:00
nejucomo
c7a557ba69 tahoe_fuse: system test: Copy the introducer.furl with a possible race condition due to timeout. 2008-01-20 17:09:44 -07:00
nejucomo
026f2d0df5 A start at adding a system test for tahoe_fuse. Incomplete... 2008-01-20 16:54:56 -07:00
nejucomo
2b9ba229be Remove a redundant assertion for clarity. 2008-01-19 00:20:32 -07:00
nejucomo
686350f6cc Change stdout to rudimentary file-based logging. 2008-01-19 00:18:54 -07:00
nejucomo
0e0ab5f394 Rename the unittest script for tahoe-fuse. 2008-01-19 00:16:12 -07:00
nejucomo
eaba225e1f Wouldn't it be nice to reuse the allmydata library? 2008-01-12 21:41:26 -07:00
nejucomo
0b5f9ff5c3 Support url-encoding in caps. 2008-01-12 21:41:07 -07:00
nejucomo
a339ba6feb The start of unit tests for tahoe_fuse.py. 2008-01-12 19:56:03 -07:00
nejucomo
52fc80a54b Formatting changes and a few FIXMEs for tahoe_fuse.py 2008-01-12 19:55:38 -07:00
nejucomo
19fdb20bac Remove redundant docs from tahoe_fuse.py docstrings which are in the README. Add implementation-specific notes in the doc strings. 2008-01-12 19:54:33 -07:00
nejucomo
ddeb5eab54 Change the name of tahoe_fuse.py to something importable. 2008-01-12 18:50:53 -07:00
nejucomo
7214f2f8b8 A patch to make tahoe-fuse.py work with 0.7.0 plus a howto README. 2008-01-12 17:06:39 -07:00