Foolscap endpoints: status update

David Stainton dstainton415 at gmail.com
Sat May 10 22:48:20 UTC 2014


Greetings,

My Foolscap branch is now backwards compatible with Foolscap 0.6.4...
What I mean is: all of the Tahoe-LAFS unit tests pass when using my
branch of Foolscap. All of the Foolscap unit tests pass too.

I was hanging out with Leif working on Foolscap today... and when I
was thinking about how to make the new endpoints Foolscap branch
compatible with the upstream Foolscap I said aloud: """What would
Zooko do? He'd write unit tests to check for backwards compatibility
before writing the code!"""

So... that is what I did. I first wrote all the tests as they should
be... made sure they all failed and then gradually fixed the code
until all the tests passed. To me this is a new and interesting way to
approach software engineering.

https://github.com/david415/foolscap/commit/f3b7c9b21355741c90dd1e415b51750410a51e5d

The tahoe unit tests outputted this at the end:

Ran 1139 tests in 349.623s
PASSED (skips=5, expectedFailures=3, successes=1131)

Some of the comments in these Foolscap changes need to be modified or
removed... Other than that it should now be ready for code review.
It will be nice to not have so many intermediate commits... so at some
point I'll have to squash/rebase.

What will I be working on next?

- I'll merge in Str4d's Foolscap server side endpoints patch and make
sure all the Foolscap and Tahoe-LAFS unit tests pass.

- Finish creating "tor_only" mode with Tahoe.cfg configuration option etc.

- Make sure client, introducer and storage nodes in an onion grid
configuration in "tor_only" mode... works correctly.

- Write Tahoe-LAFS unit tests for "tor_only" mode?

- Continue working on the txtorconf Tor Hidden Service endpoint/parser...
Leif had an excellent design suggestion... that he didn't quite have
enough time to write code for today.


Sincerely,

David


More information about the tahoe-dev mailing list