Daira Hopwood
3239527929
Revert "Don't show scary diagnostic warnings from --version[-and-path]"
...
This reverts commit 431728f8f8
.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-29 00:20:33 +01:00
Brian Warner
29ab496bd7
mutable/retrieve.py: remove all bare assert()s
...
Replace them with _assert() or precondition(). Closes ticket:2462.
2015-07-28 13:32:46 -07:00
Brian Warner
6252a72965
IReadable.read(): document out-of-range errors
...
closes ticket#2461
2015-07-28 13:01:15 -07:00
Brian Warner
27ea6e1a3c
test_mutable: more enhancements
2015-07-28 10:27:24 -07:00
Brian Warner
89e9076c41
mutable/retrieve.py: rewrite partial-read handling
...
This should tolerate offset/size combinations that read the last byte of
the file, something which was broken before. It quits early in the case
of zero-byte reads, to simplify the resulting "which segments do I need"
logic. Probably addresses ticket:2459.
2015-07-28 10:13:32 -07:00
Brian Warner
46d7085dfe
enhance SDMF/MDMF tests: zero-length files, size=None
2015-07-28 10:13:32 -07:00
Daira Hopwood
a7e1dac27f
Add tests for SDMF partial reads. refs #2459
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-28 10:13:32 -07:00
Daira Hopwood
9076db137a
Remove some bare asserts in retrieve.py (there are still quite a few left). refs #2462
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-28 10:13:32 -07:00
Daira Hopwood
19df54927d
Minor code cleanup in __init__.py.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-21 18:55:47 +01:00
Daira Hopwood
431728f8f8
Don't show scary diagnostic warnings from --version[-and-path]
...
if the only problem is that extra packages are found by pkg_resources.
fixes ticket:2436
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-21 18:51:29 +01:00
Daira Hopwood
c830419e04
Eliminate mock dependency.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-17 22:12:25 +01:00
Daira Hopwood
3ae6ceb6a8
Add Namespace utility class. (This is already used in the leasedb/cloud backend branch.)
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-17 22:12:25 +01:00
Daira Hopwood
2d7c852ace
Bump pyasn1 requirement to >= 0.1.8.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-16 15:38:06 +01:00
Daira Hopwood
baaf2a4a55
Blacklist mock > 1.0.1.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-16 15:24:45 +01:00
Brian Warner
28b74b0b74
test/check_load: hush (newer) pyflakes
...
pyflakes-0.9.2 gets confused about list comprehensions, so rename the
loop variable even though we'd deleted that name already.
2015-07-12 18:25:55 -07:00
Brian Warner
7aedd7c1b2
test_web: avoid IP autodetection, was causing dirty reactor
2015-07-12 18:20:43 -07:00
Daira Hopwood
f18da535c9
Remove packages from not_import_versionable that we now can always version.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-06-02 18:12:23 +01:00
Daira Hopwood
96024d7244
Add OpenSSL version check and tests. refs ticket:2215
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-06-02 18:07:20 +01:00
Brian Warner
45ebbbf44b
wrap long lines, and tolerate various-width wrappings of the --help output
...
test_cli.Help was too sensitive to the way that the --help output was
wrapped, which caused failures on travis when COLUMNS= was set low and
the expected strings were split across separate lines.
2015-05-26 11:40:17 -07:00
Brian Warner
8f41713fe9
cli: improve formatting of all commands
...
Also:
* do some light refactoring of create-client/node
* make it clear that these commands' --basedir options do the same as
the global --node-directory option
* use "global-options" instead of "global-opts"
2015-05-26 11:31:06 -07:00
Brian Warner
01619844de
scripts: improve rendering of synopsis/usage
...
Subcommands "--help" is now rendered as:
```
tahoe [global-options] COMMAND [options] ARGS
(use 'tahoe --help' to view global options)
USAGE (flags/options)
DESCRIPTION
DESCRIPTION_UNWRAPPED
```
The new .description and .description_unwrapped fields allow
commands (subclasses of twisted.python.usage.Usage) better control over
how their explanations are rendered: the old .longdesc field was wrapped
unpleasantly.
2015-05-26 11:29:49 -07:00
Brian Warner
5d5fa05a42
scripts/runner.py: put command group descriptions in parens
2015-05-26 11:27:57 -07:00
Brian Warner
1c34cbd627
refactor scripts/common.py: move _default_nodedir out to its own file
2015-05-26 11:27:57 -07:00
Zooko
a9b152780e
remove dead code: NamedTemporaryDirectory
...
fixes #2433
2015-05-26 17:20:11 +00:00
Daira Hopwood
143af61518
fileutil.py: use ctypes.get_last_error() instead of GetLastError(). refs #1531
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-18 01:42:01 +01:00
Daira Hopwood
4794666df6
On Windows, the user's home directory may be either %USERPROFILE% or %HOMEDRIVE%%HOMEPATH% depending on the Windows version. fixes ticket:2417
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 14:42:31 +01:00
Daira Hopwood
f973657a6a
interfaces.py: fix arguments to create_subdirectory.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 14:21:28 +01:00
Daira Hopwood
5d046c597e
drop-upload.py: fix error messages.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 14:21:17 +01:00
Daira Hopwood
0c4acc763b
Fix a pyflakes warning.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 14:21:17 +01:00
Daira Hopwood
07aa5e76b5
Retire the setup_requires hack in cases where it isn't needed (and can cause build problems). refs #2286
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 12:49:18 +01:00
Daira Hopwood
d106a77567
_auto_deps.py: update comments. refs #2416
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 12:44:21 +01:00
Daira Hopwood
c2874a7073
Allow working with Twisted >= 13 on Windows if pywin32 is manually installed. fixes #2416
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 12:44:21 +01:00
Brian Warner
be5d07a70a
apply review feedback
2015-05-03 22:14:36 -07:00
Brian Warner
275ddb93cc
cp: trailing slash on source filename is an error, just like on targets
2015-05-03 22:14:35 -07:00
Brian Warner
ca23c4fa23
tahoe cp: ignore trailing slash on source arguments
...
This avoids an error case where an empty child name resulted in a
duplicate mkdir. It adds a precondition check to guard against empty
child names, and some test cases. It also cleans up a funny redundancy
noticed earlier (refs ticket:2329).
2015-05-03 22:13:52 -07:00
Brian Warner
97fd19407d
Improve docs on 'cp -r', noting the recent 2329 changes
...
refs ticket:2329
2015-05-03 21:49:34 -07:00
Brian Warner
341e263e03
control.py: minor improvements
...
refs ticket:1737
2015-04-28 11:03:12 -07:00
Daira Hopwood
53ced4be8b
Change foolscap dependency to >= 0.8.0. refs #2400
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-28 17:21:31 +01:00
Daira Hopwood
e6cede21f2
Fix a test that was dependent on Windows path separators.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-21 21:28:21 +01:00
Daira Hopwood
6bcef565d9
Reduce differences between Windows and non-Windows dependencies.
...
This also fixes some warnings on Windows when using Twisted 12.1.0.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-21 21:16:29 +01:00
Brian Warner
f0e783e20e
fix check-memory test, with new new (safe) control-port methods
2015-04-21 13:05:58 -07:00
Daira Hopwood
eb34e0d625
Ensure the 'base' argument to abspath_expanduser_unicode takes effect on Windows. fixes #2398
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-21 21:04:20 +01:00
Brian Warner
edcdaa2799
finish removing control-port upload/download functions
2015-04-21 11:26:16 -07:00
Brian Warner
2eea4e9a07
remove control-port upload/download file interfaces
...
FURLs are unguessable, but an attacker who somehow learned this FURL
could overwrite files and read sensitive data.
This will break the memory tests. I will add a new interface to support
the memory tests soon.
refs ticket:1737
2015-04-21 11:13:17 -07:00
Daira Hopwood
45c1dc7e63
backupdb.py: cosmetics
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-17 22:31:01 +01:00
Daira Hopwood
6e9a602df6
Make backupdb use dbutil.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-17 22:30:47 +01:00
Daira Hopwood
769de61a90
Add util/dbutil.py: open/create/update sqlite databases given some schema.
...
Author: Brian Warner <warner@lothar.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-17 18:11:10 +01:00
Daira Hopwood
4de4e0e65e
Some useful Deferred utilities, originally from the cloud backend branch.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-17 18:10:21 +01:00
Brian Warner
eda00a5c58
typo
2015-03-31 11:07:21 -07:00
Brian Warner
cc68a81326
bump Twisted dep to 11.1.0, thus simplify IntishPermissions
2015-03-31 11:06:14 -07:00
Brian Warner
b36903d02c
test_ftp: fix comparison against integer
2015-03-31 11:06:14 -07:00
Brian Warner
26c8abadec
Fix ftp 'ls' to work with current Twisted-15.0.0
...
refs ticket:2394
It's kind of a hack, but Twisted changed the API and I couldn't find a
cleaner way to detect which form of "permissions" value the Twisted FTP
server wants.
I've manually tested it against 14.0.2 and 15.0.0.
2015-03-31 11:06:14 -07:00
Brian Warner
2d3c805a90
use more servers for test_mutable.Update, to test #2034 properly
2015-03-25 18:49:37 -07:00
Daira Hopwood
b6be693cbe
Add a test, add missing imports. refs #2388
...
This tests ftpd, but not sftpd. Doing this sort of test on sftpd
requires the creation of a valid pubkey/privkey file pair, which is more
work than I want to do right now.
init_ftp/init_sftp were changed to interpret the configured
accounts.file as relative to the node's basedir, with
abspath_expanduser_unicode(accountfile, base=self.basedir).
This would happen naturally in a real node, since it os.chdir()s
to the basedir before doing anything. But tests don't do that.
Author: Brian Warner <warner@lothar.com>
Author: Daira Hopwood <daira@jacaranda.org>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-03-24 17:10:00 +00:00
Daira Hopwood
3066039f0f
Ensure that path parameters to SFTPServer and FTPServer constructors are unicode. refs #2388
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-03-24 16:46:40 +00:00
Daira Hopwood
21226cbb82
Add from_utf8_or_none and tests.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-03-24 16:46:40 +00:00
Brian Warner
681eb4d12e
check_memory.py: announce 32-bit vs 64-bit
2015-03-19 18:59:16 -07:00
Brian Warner
3dd7142c42
test_cli_cp.py: hush pyflakes
2015-03-17 11:16:06 -07:00
Brian Warner
48da2cd99b
tahoe_cp: be consistent with "source.basename() is None" testing
2015-03-17 11:13:57 -07:00
Brian Warner
190743e066
tahoe_cp: minor cleanups, no behavior changes
2015-03-17 11:13:33 -07:00
Brian Warner
1838fe8eaf
tahoe_cp: make populate(recurse=) more explicit
2015-03-17 11:11:11 -07:00
Brian Warner
f508a98622
test_cli_cp: test cleanups
...
* remove redundant test cases
* add more internal asserts
* clean up set usage
2015-03-17 10:41:01 -07:00
Brian Warner
415b7b7bca
test_cli_cp: improve test cases
2015-03-17 09:59:34 -07:00
Brian Warner
f3a9be1c5e
improve error message for slash-terminated non-directories
2015-03-10 09:17:17 -07:00
Brian Warner
e80697da1b
test_cli_cp.py: turn off debug mode, tests now assert for real
2015-03-03 18:20:03 -08:00
Brian Warner
2a361bc46f
tahoe cp: overhaul target assignment, update tests
...
This substantially changes the internals of "tahoe cp", to behave in
accordance with the scheme developed in ticket:2329. test_cli_cp.py got
a large new test to exercise all the various combinations. This also
changes the set of error messages that "tahoe cp" can produce.
This modifies try_copy(), inserts a new implementation of
copy_things_to_directory() (and supporting methods), and fixes a few
bugs elsewhere.
fixes ticket:2329
2015-03-03 18:19:58 -08:00
Brian Warner
ca92bfdc88
tahoe_cp: delete copy_to_directory() code
...
This code will be replaced in the next commit with an entirely different
approach, and modifying it in a single commit would yield a completely
unreadable diff.
2015-03-03 18:18:17 -08:00
Brian Warner
c32c8794bc
tahoe_cp: simplify some checks, rename some functions
...
no behavioral changes
2015-03-03 18:03:17 -08:00
Brian Warner
6d84cdd35d
tahoe_cp.py: use s.basename() instead of tracking it separately
2015-02-24 02:07:57 -08:00
Brian Warner
98ec466d54
tahoe_cp.py: store basename in the Source instance
2015-02-24 01:55:53 -08:00
Brian Warner
be4b13c318
test_cli.py: split the largest test classes out into separate files
...
That file was getting unruly. No behavioral changes, apart from tests
now having different names.
2015-02-24 01:41:23 -08:00
Daira Hopwood
5a37ff0d0e
Discourage future readers of iputil.py from using Win32 APIs in preference to route.exe.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-19 17:41:09 +00:00
Daira Hopwood
c5817c3ce3
It is Twisted 12.2.0 that starts depending on pywin32 for endpoints, not Twisted 12.3.0.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-17 19:11:57 +00:00
Daira Hopwood
0b24756cc7
Allow multiple occurrences of AUTO. refs #754
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-10 17:31:10 +00:00
Daira Hopwood
759512da28
Add tests for combining autodetected and statically configured locations. refs #754
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-10 17:12:43 +00:00
Daira Hopwood
10ebbeebaa
test_node.py: refactor test_location* to reduce code duplication. refs #754
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-10 17:12:43 +00:00
Daira Hopwood
ca3c7abe3a
Only get the local addresses if they are actually used. refs #754
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-10 17:12:43 +00:00
Daira Hopwood
c9a56eae2b
Allow combining autodetected and statically configured locations. fixes #754
...
Replaces the location 'AUTO' with the autodetected IP/port combination.
Author: Chris Kerr <debdepba@dasganma.tk>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-09 19:18:58 +00:00
Daira Hopwood
9ac392802b
Test the quotemarks=True and quotemarks=False options of quote_local_unicode_path.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-05 02:22:27 +00:00
Daira Hopwood
d53c7ee905
Test the quotemarks=False option of encodingutil.quote_path.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-05 02:13:23 +00:00
Daira Hopwood
fc90607eec
Further refine error handling in windows_getenv to correctly handle zero-length environment values. refs #1674
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-04 17:02:02 +00:00
Brian Warner
30987c1e7d
remove stray trailing whitespace
2015-02-04 01:35:44 -08:00
Brian Warner
597542dc77
test that web.static= is really treated as a relative path
...
Also ssh.authorized_keys_file .
2015-02-03 22:23:31 -08:00
Daira Hopwood
86726729b7
Quote the default node-directory correctly in help output. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-04 00:10:21 +00:00
Daira Hopwood
d756ef1765
More robust error handling in windows_getenv. refs #1674
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-03 23:47:53 +00:00
Brian Warner
7426eccb29
tahoe_cp.py: clean up unicode handling
2015-02-03 11:10:36 -08:00
Daira Hopwood
8147f3c77e
Changes filename to unicode before placing the file. refs #2027
...
Author: Mark Berger <mark.berger.j@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:50:25 +00:00
Daira Hopwood
b6a645aeb3
Adds test_ticket_2027 to test_cli.Cp. refs #2027
...
Author: Mark Berger <mark.berger.j@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:50:25 +00:00
Daira Hopwood
c1d5c4f07a
Fix user-path-expansion on Windows for non-ASCII home directories. refs #1674
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:50:24 +00:00
Daira Hopwood
14f783086f
Change uses of os.path.expanduser and os.path.abspath. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:50:18 +00:00
Daira Hopwood
4a0cdce86b
Use absolute paths in tahoe cp and tahoe backup. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:47:35 +00:00
Daira Hopwood
21b477f235
Add support in abspath_expanduser_unicode for expanding relative to a base path. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:47:09 +00:00
Daira Hopwood
95f98e1aae
Quote local paths correctly. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:05:20 +00:00
Daira Hopwood
c20a3525b7
Use "long" paths prefixed with \\?\ on Windows. refs #2235
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-30 00:05:14 +00:00
Daira Hopwood
9a401b760e
fileutil cleanup: delete the unused open_or_create function.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-29 18:19:57 +00:00
Mark Berger
db12f1cffb
Adds _servers_with_shares to ServermapUpdater
...
When calculating the query boundary for updates to mutable files,
instead of using servers that used to have shares, use servers we
have added to the servermap. This way the querying process won't finish
until we have finished interacting with the servers that have shares.
This fixes the race condition which sometimes caused the querying process
to finish before the updater was done talking to servers with shares.
2015-01-27 00:40:14 -08:00
Brian Warner
38a4acd623
Appease req.setHeader by passing bytes, not ints.
...
twisted.web.http.Request.setHeader() really wants a "bytes" object, but
we've been passing integers like len(body). Twisted-12.3 started to
complain about this (with a DeprecationWarning), but the warning is
usually silenced because py2.7 disables deprecations by default.
This fixes Tahoe's misbehavior, but others remain (in Nevow, at least).
I plan to set up some tooling to run tests with
PYTHONWARNINGS=default::DeprecationWarning and collect others. We won't
be able to fix the ones that occur outside of Tahoe, but at least we
should be able to fix our own.
refs ticket:2312
2015-01-21 10:31:31 -08:00
Brian Warner
3ad18648dd
welcome.xhtml: improve layout by floating the icons to the left.
...
This uses less vertical space.
2015-01-20 17:24:27 -08:00
Nathan Wilcox
e499d84755
Introduce icons with distinct shape for connection status display on the front wui page...
...
This replaces the status display which was only distinct by color which is a usability issue for color-blind users. This commit includes test coverage by way of pattern matching on rendered templates. The PNG icons are conversions of original SVG source which I've included and placed in the public domain.
2015-01-20 16:41:01 -08:00
Daira Hopwood
e73d76eb1b
Latest cryptography depends on enum34.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-01-20 10:52:07 -08:00