[tahoe-dev] fuse news: runtests against both implementations.

Nathan nejucomo at gmail.com
Sun Jun 8 23:30:36 UTC 2008

Fuse News:

This patch bundle incorporates Armin Rigo's fuse implementation, then
shuffles around the runtests.py script from my fuse_a implementation
so that it will run tests against both implementations.

On my ubuntu system, Rigo's "impl_b" depends on libfuse-dev, whereas
my "impl_a" depends on python-fuse which depends on libfuse2.  I
believe the underlying fuse libraries are different versions, so in
order to successfully run runtests.py you need both dependencies.

In order to test impl_b within runtests, I made a minor modification
to it to support a "--basedir PATH" commandline argument which, when
absent defaults to ~/.tahoe.

Currently, only one out of four tests passes for impl_b on my system,
so I'm not certain it is correctly handled in runtests, and it also
appears the cleanup code is incorrect.

I'm going to alter my previously posted roadmap, instead adopting this approach:

1. Integrate runtests.py into the standard tahoe test framework,
including coverage metrics.
2. Work with the tahoe developers to integrate the fuse tests into
their automated tests for a variety of relevant platforms.

After that, there are several orthogonal forks in the road:

A1. Alter impl_b and/or runtests to get all existing tests to pass.

B1. Add write operation tests.
B2. Add writeability to either fuse_a or fuse_b (depending on which
requires less work or has a better design.)

C. Get access to OS X, freebsd, or other fusey operating systems and
adapt runtests to that platform.

D. Add more sophisticated tests.  Examples include:
- Test concurrent access (multiple processes reading/writing fuse).
- Performance metrics (memory consumption, time).
- Concurrent access semantics.
- Semantic transparency with a target "standard" filesystem.

As always I welcome feedback about how tests or manual use of fuse
works (or fails to work) for you.

Nathan Wilcox
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fuse_runtests_against_both_impls
Type: application/octet-stream
Size: 155052 bytes
Desc: not available
URL: <http://tahoe-lafs.org/pipermail/tahoe-dev/attachments/20080608/72a71878/attachment.obj>

More information about the tahoe-dev mailing list