unit test for #1679
do not cache and re-use imm filenodes in nodemaker

fixes #1679
Add comment explaining fix to #1679. refs #1679

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
test_web.py: fix test_GET_DIRECTORY_html_filenode_encoding for Twisted==12.3.0. fixes #1922

twisted.web.html.escape was used to produce html-encoded string (to then look
it up in "value" attribute), but behavior of that function has changed between
Twisted 12.2.0 (simple custom implementation) and 12.3.0 (imported from stdlib
cgi module).
Only quote newline characters where necessary. fixes #1484

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
tahoe_ls.py: JSON responses don't need quotemarks or quoted newlines.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Add test for anti-Ubuntu-crash-reporter exception-catching code. fixes #1746

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Ensure that bin/tahoe and setup.py fail quickly on Python 3.3+. fixes #1775

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Make doubly sure that we fail quickly on future Python 3.x versions. refs #1775

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Require at least Python 2.6. fixes #1658

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
bump 'mock' dependency to >=0.8.0, to get the .call object

The 0.6.0 version that was previously allowed did not provide .call, so
test_cli.py failed during import.
Redesigned Welcome page using Twitter Bootstrap CSS.

Author: Tony Arcieri <tarcieri>
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Update helper.rst to explain new-style config. fixes #1915

Author: Zooko Wilcox-O'Hearn <zooko>
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Tolerate import errors when loading extra commands for "setup.py --help-commands"
and bump zetuptoolz version to 0.6c16dev4. fixes #1405

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
Move embedded setuptools egg to reflect new version (0.6c16dev4).

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
test_web.py: relax tests for upload and mkdir forms to tolerate nondeterministic order of attributes.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
setup.py: add helpful comment on line that is a SyntaxError in Python < 2.6.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
fileutil.write: accept mode=, and use it in Node.write_config

I want mode="w" (i.e. text, with newline conversion) for code that
writes newline-terminated strings (which should also be human readable)
to files. I like to use things like "cat .tahoe/permutation-seed"
without seeing the seed jammed together with the next command prompt.
introducer.client: use integer seqnums, not time-based. Closes #1767.

This stores the sequence number in BASEDIR/announcement-seqnum, and
increments it each time any service is published (every service
announcement is regenerated with the new sequence number). As everyone
knows, time is an illusion, and occasionally goes backwards, so a
counter is generally safer (and reveals less information about the
node).

Later, we'll improve the introducer client to tolerate rollbacks (where,
perhaps due to a VM being restarted from an earlier checkpoint, the
stored sequence number reverts to an earlier version).
sftpd.py: switch from using bare asserts to assertutil.

Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>