Can you give some detail about the failure of Storable? I'm thinking about using it and would like to know what I'm getting into ...
Well, it just seems to have a file update procedure that consits of deleting the old file, if any, then opening and writing out the new one. If the open fails, this leaves you without any file. It does return an error code (undef), so if you trap it you can recover. I changed my code to make it write to a .new file, and then if it writes successfully, I rename it over top of the final filename, to get an atomic update. --Joey
For regression tests on full file systems, the test harness needs to be able to precisely control what error codes are returned, exactly when they are returned, and not need root to work. FUSE is what comes to my mind. While I haven't seen exactly what is needed, it looks to me that it would be easy change fusexmp.c, which at the moment just mirrors the / fs on the mount point, to return errors when asked to. fusexmp.c is in libfuse-dev, but your better off doing a "apt-get source fuse" so you have the build system too.
I've been recently daydreaming about a sort of svn based wiki-- basically a web frontend for an svn repository that can interpret wiki markup. This sort of wiki would be as robust as svn is (atomic commits, etc) and would have many other advantages: you can check-out a copy of the wiki, edit it directly in a text editor, and it would perhaps be more efficient than storing versioning in an rdbms ... Ok, this post motivated me to search around and there appears to be at least one svnwiki out there (in Scheme, no less) http://wiki.freaks-unidos.net/svnwiki -- joeyo
Lol, the wiki that you posted this to is svn based, using ikiwiki --Joey