david-sarah
ffd1c5aca5
Fix for Unicode-related test failures on Zooko's OS X 10.6 machine.
2010-06-08 22:54:48 -07:00
david-sarah
3c883e6e44
test_cli.py: remove invalid 'test_listdir_unicode_bad' test.
2010-06-07 11:37:30 -07:00
david-sarah
529c9f673a
More Unicode test fixes.
2010-06-06 22:33:58 -07:00
david-sarah
65b6f4e3ce
Unicode fixes for platforms with non-native-Unicode filesystems.
2010-06-06 21:32:38 -07:00
david-sarah
80252debcd
Unicode fixes.
2010-06-06 18:02:15 -07:00
Zooko O'Whielacronx
db8a6f3aa6
unicode: make test_cli test a non-ascii argument, and make the fallback term encoding be locale.getpreferredencoding()
2010-06-04 07:12:51 -07:00
Zooko O'Whielacronx
442008a690
unicode: always decode json manifest as utf-8 then encode for stdout
...
pyflakes pointed out that the exception handler fallback called an un-imported function, showing that the fallback wasn't being exercised.
I'm not 100% sure that this patch is right and would appreciate François or someone reviewing it.
2010-06-04 01:48:40 -07:00
Zooko O'Whielacronx
952f3bf3ef
fix flakes
2010-06-04 00:58:45 -07:00
Francois Deppierraz
0eb4d83937
test_stringutils.py: Skip test test_listdir_unicode_good if filesystem supports only ASCII filenames
2010-05-21 09:08:39 -07:00
Francois Deppierraz
6c70fb7b3c
test_cli.py: Fix tests when sys.stdout.encoding=None and refactor this code into functions
2010-05-20 01:44:47 -07:00
Francois Deppierraz
496802420e
Fix handling of correctly encoded unicode filenames ( #534 )
...
Tahoe CLI commands working on local files, for instance 'tahoe cp' or 'tahoe
backup', have been improved to correctly handle filenames containing non-ASCII
characters.
In the case where Tahoe encounters a filename which cannot be decoded using the
system encoding, an error will be returned and the operation will fail. Under
Linux, this typically happens when the filesystem contains filenames encoded
with another encoding, for instance latin1, than the system locale, for
instance UTF-8. In such case, you'll need to fix your system with tools such
as 'convmv' before using Tahoe CLI.
All CLI commands have been improved to support non-ASCII parameters such as
filenames and aliases on all supported Operating Systems except Windows as of
now.
2010-05-19 17:43:56 -07:00
Francois Deppierraz
dd95e8e71b
CLI: Support for https url in option --node-url
...
This patch modifies the regular expression used for verifying of '--node-url'
parameter. Support for accessing a Tahoe gateway over HTTPS was already
present, thanks to Python's urllib.
2010-04-30 11:56:09 -07:00
Brian Warner
f6f8256b35
"tahoe webopen": add --info flag, to get ?t=info
...
Also fix some trailing whitespace.
2010-04-24 16:30:03 -07:00
david-sarah
9741b9655f
Test behaviour of 'tahoe ls' for unknown objects ( #837 )
2010-02-23 18:59:13 -08:00
david-sarah
85a50feeaa
More cleanups to test_cli using new utilities for reading and writing files.
2010-02-05 17:38:55 -08:00
david-sarah
c984a09fe7
Fix race conditions and missing callback in allmydata.test.test_cli.Cp.test_copy_using_filecap, add utilities for one-liner reading and writing of files, and fix cases in test_cli where files were not being closed after writing.
2010-02-05 17:37:27 -08:00
Kevan Carstensen
c00a62a2e7
Add tests for #939
2010-02-11 22:21:37 -08:00
Brian Warner
e769bbb6dd
tahoe backup: skip all symlinks, with warning. Fixes #850 , addresses #641 .
2010-01-27 14:35:17 -08:00
francois
b03406af9d
tahoe_backup.py: display warnings on errors instead of stopping the whole backup. Fix #729 .
...
This patch displays a warning to the user in two cases:
1. When special files like symlinks, fifos, devices, etc. are found in the
local source.
2. If files or directories are not readables by the user running the 'tahoe
backup' command.
In verbose mode, the number of skipped files and directories is printed at the
end of the backup.
Exit status returned by 'tahoe backup':
- 0 everything went fine
- 1 the backup failed
- 2 files were skipped during the backup
2010-01-20 01:42:49 -08:00
Brian Warner
874a979a8e
tahoe add-alias/create-alias: don't corrupt non-newline-terminated alias
...
file. Closes #741 .
2010-01-14 13:02:46 -08:00
Brian Warner
d3d1293d2f
change docs and --help to use "grid" instead of "virtual drive": closes #892 .
...
Thanks to David-Sarah Hopwood for the patch.
2010-01-14 12:11:19 -08:00
Brian Warner
a50fdca6ab
test_cli: verify fix for "tahoe get" not creating empty file on error ( #121 )
2009-12-27 18:54:44 -05:00
Brian Warner
00d0ca3902
addendum to "Fix 'tahoe ls' on files ( #771 )"
...
tahoe_ls.py: tolerate missing metadata
web/filenode.py: minor cleanups
test_cli.py: test 'tahoe ls FILECAP'
2009-12-27 18:21:49 -05:00
Brian Warner
a8a768ef9d
Fix 'tahoe ls' on files ( #771 ). Patch adapted from Kevan Carstensen.
...
web/filenode.py: also serve edge metadata when using t=json on a
DIRCAP/childname object.
tahoe_ls.py: list file objects as if we were listing one-entry directories.
Show edge metadata if we have it, which will be true when doing
'tahoe ls DIRCAP/filename' and false when doing 'tahoe ls
FILECAP'
2009-12-27 17:54:43 -05:00
Brian Warner
74974b27fe
Implement more coherent behavior when copying with dircaps/filecaps ( closes #761 ). Patch by Kevan Carstensen.
2009-11-30 13:10:09 -08:00
Brian Warner
9901a08fd3
Add dirnodes to backupdb and "tahoe backup", closes #606 .
...
* backups now share dirnodes with any previous backup, in any location,
so renames and moves are handled very efficiently
* "tahoe backup" no longer bothers reading the previous snapshot
* if you switch grids, you should delete ~/.tahoe/private/backupdb.sqlite,
to force new uploads of all files and directories
2009-11-26 15:42:57 -08:00
Brian Warner
6e7fb1006d
Use DIR-IMM and t=mkdir-immutable for "tahoe backup", for #828
2009-11-18 11:28:13 -08:00
Brian Warner
cf65cc2ae3
replace dirnode.create_empty_directory() with create_subdirectory(), which
...
takes an initial_children= argument
2009-10-12 19:15:20 -07:00
Brian Warner
3ee740628a
replace Client.create_empty_dirnode() with create_dirnode(), in anticipation
...
of adding initial_children= argument.
Includes stubbed-out initial_children= support.
2009-10-12 15:45:06 -07:00
Brian Warner
bf1e61c8f3
Touch up #705 changes:
...
webapi.txt: clarify replace=only-files argument, mention replace= on POST t=uri
test_cli.py: insert whitespace between logical operations
web.common.parse_replace_arg: make it case-insensitive, to match the docs
2009-07-20 11:38:03 -04:00
kevan
0d8b1e29fa
Add tests for tahoe mv behavior
2009-07-19 20:46:09 -07:00
kevan
4331326b21
Add tests for tahoe mv help text
2009-07-19 20:45:53 -07:00
Brian Warner
531cc7899f
rename NewDirectoryNode to DirectoryNode, NewDirectoryURI to DirectoryURI
2009-07-17 17:15:49 -05:00
Brian Warner
efa608a135
'tahoe stats': tolerate empty directories. Closes #693 .
2009-07-15 00:51:09 -07:00
Brian Warner
b640baf500
cli: webopen: when called with no arguments, open the Welcome page
2009-07-01 13:05:48 -07:00
Brian Warner
bd6ecc9f44
Split out NoSharesError, stop adding attributes to NotEnoughSharesError, change humanize_failure to include the original exception string, update tests, behave better if humanize_failure fails.
2009-06-24 19:17:07 -07:00
Zooko O'Whielacronx
974295f963
tests: raise the timeout for test_cli since Zandr's ARM machine totally burst through the old one
2009-06-09 14:05:09 -07:00
Brian Warner
2e35648901
test_cli.Backup: increase timeout massively, it takes 1200s on zandr's ARM linkstation
2009-06-08 22:28:01 -07:00
Zooko O'Whielacronx
8c18ac38a9
backup: remove the --no-backupdb command, the handling of "can't import sqlite", and the related tests, and change an error message to more correctly indicate failure to load the database from disk rather than failure to import sqlite module
...
Fixes #728 .
2009-06-04 10:31:31 -07:00
Brian Warner
2c2c3c2295
test_cli.py: assert that 'ls' on an unrecoverable file now gives a better error message
2009-03-07 05:08:15 -07:00
Brian Warner
9c7fafd5af
test_cli: use explicit (and stable) testdirs, instead of using self.mktemp
2009-03-07 03:04:28 -07:00
Brian Warner
c5ecb7b3ba
test_cli: validate non-HTML error response of 'tahoe get' on an unrecoverable file
2009-03-03 22:11:46 -07:00
Brian Warner
63b19e567c
web: fix the ERROR: line to work the same in python2.4 and 2.5
2009-02-25 01:46:21 -07:00
Brian Warner
7d4901197a
test_cli/test_web: fix spurious test failure on solaris (maybe python2.4?) due to variations in the way that exceptions are stringified
2009-02-25 00:01:28 -07:00
Brian Warner
a3c1fe35d9
CLI: modify 'tahoe manifest' and 'tahoe deep-check' to report ERROR: properly. For #590 .
2009-02-24 23:44:15 -07:00
Brian Warner
7f8708cb7c
scripts/common: fix alias handling on windows again, emit slightly nicer error message in response to an unknown alias
2009-02-24 22:21:36 -07:00
Brian Warner
376eab0c04
test_cli: exercise the recent tolerate-'c:\dir\file.txt' fix in scripts/common, recorded in a separate match to make it easier to merge the fix to prod
2009-02-24 17:56:20 -07:00
Alberto Berti
d9649052d4
Fixed tests again so they will pass on windows.
2009-02-22 18:35:02 -07:00
Alberto Berti
b945c275c2
Added tests for the cse when listdir is an iterator
2009-02-22 16:43:56 -07:00
Alberto Berti
cd0bd97954
Fixed tests so that they pass also on buildbots.
2009-02-22 16:43:11 -07:00
Alberto Berti
b2f8fe04c6
Use failUnlessEqual instead of failUnless(a == b)
2009-02-22 16:42:14 -07:00
Alberto Berti
5d629d0050
Added tests for the --exclude* options of backup command.
2009-02-22 10:51:06 -07:00
Alberto Berti
ff6a77cc6b
Added tests for the fixed alias related command's synopsis
2009-02-22 10:37:32 -07:00
Brian Warner
fde2289e7b
CLI #590 : convert 'tahoe deep-check' to streaming form, improve display, add tests
2009-02-17 17:15:11 -07:00
Brian Warner
267d91f797
test_cli.py: modify to use the new 'no-network' gridtest instead of SystemTestMixin, which speeds it up from 73s to 43s on my system
2009-02-16 17:20:05 -07:00
Brian Warner
770f976a85
test_cli: add test coverage for help strings
2009-02-16 15:08:33 -07:00
Brian Warner
df90dd8e73
test_cli: improve test coverage slightly
2009-02-15 21:04:51 -07:00
Brian Warner
6a5f28f47d
test_cli.Backup: insert some stalls to make sure two successive backups get distinct timestamps, avoiding intermittent failures
2009-02-10 20:37:09 -07:00
Brian Warner
f7a263eb0b
#619 : make 'tahoe backup' complain and refuse to run if sqlite is unavailable and --no-backupdb is not passed
2009-02-10 18:49:10 -07:00
Brian Warner
d8e00c37b5
test_cli.Backup: capture stderr when sqlite is unavailable
2009-02-07 15:14:40 -07:00
Brian Warner
1fd8f023ab
test_cli: increase timeout on test_backup, since our dapper buildslave is really slow
2009-02-06 02:17:53 -07:00
Brian Warner
814fec5495
test_cli.backup: oops, fix test to work even when sqlite is unavailable
2009-02-05 22:10:42 -07:00
Brian Warner
ca32db5b39
#598 : add cli+backupdb tests, improve user display, update docs, move docs out of proposed/
2009-02-05 22:07:01 -07:00
Brian Warner
cfce8b5eab
#598 : first cut of 'tahoe backup' command: no backupdb, but yes shared-unchanged-directories and Archives/TIMESTAMP and Latest/
2009-02-02 21:09:02 -07:00
Zooko O'Whielacronx
f9ee60a88e
cli: tests: skip symlink test if there is no os.symlink
2009-01-14 18:10:10 -07:00
Larry Hosken
3267984fa9
'tahoe cp -r', upon encountering a dangling symlink, would assert out.
...
This was somewhat sad; the assertion didn't say what path caused the
error, what went wrong. So... silently skip over things that are
neither dirs nor files.
2009-01-07 23:51:14 -07:00
Zooko O'Whielacronx
9f117dbe8f
cli: mark unicode filenames as unsupported -- see #534 for details
2008-12-24 13:28:02 -07:00
Zooko O'Whielacronx
c456ff8591
rename "get_verifier()" to "get_verify_cap()"
2008-12-08 12:44:11 -07:00
Brian Warner
a2ce315074
CLI: check for pre-existing aliases in 'tahoe create-alias' and 'tahoe add-alias'
2008-12-02 20:20:22 -07:00
Brian Warner
cdbb72d5ff
test_cli: pass rc out of do_cli() too
2008-12-02 20:08:28 -07:00
Brian Warner
cfba882b30
storage: replace sizelimit with reserved_space, make the stats 'disk_avail' number incorporate this reservation
2008-12-01 17:24:21 -07:00
francois
1a3a464534
test_cli.py: Ensure that we can read our uploaded files back
2008-11-14 07:44:58 -07:00
francois
32b5bc6330
test_cli.py: use str objects instead of unicode ones
...
This will hopefully fix failing tests with LC_ALL=C
2008-11-14 07:41:37 -07:00
francois
5c0c5bfc81
test for bug #534 , unicode filenames
...
This test assure that uploading a file whose name contains unicode character
doesn't prevent further uploads in the same directory.
2008-11-13 05:19:51 -07:00
Zooko O'Whielacronx
14444dbcc0
tests: fix comment
1970-01-05 04:10:55 -07:00
Zooko O'Whielacronx
3a0dc8e4ec
tests: add tahoe_cp to the list of scripts that we don't actually have tests for yet
1970-01-05 04:00:58 -07:00
Brian Warner
a2e195df3e
debug catalog-shares: tolerate even more errors on bad files/directories
2008-10-30 14:54:47 -07:00
Brian Warner
1419db6ac7
test_cli: try to fix windows again
2008-10-30 12:32:04 -07:00
Brian Warner
d97c34d622
debug/test_cli: fix error handling for catalog-shares, to make the test stop failing on windows
2008-10-30 12:06:51 -07:00
Brian Warner
a9101112a4
catalog-shares command: tolerate errors, log them to stderr, handle v2-immutable shares
2008-10-29 15:10:10 -07:00
Brian Warner
934dc6aa77
test_cli.py: remove unused imports
2008-10-06 17:42:04 -07:00
Brian Warner
dbc2337639
CLI: remove 'tahoe admin generate-keypair', since the pycryptopp ecdsa API is about to change incompatibly. We'll undo this once pycryptopp is updated
2008-10-06 17:23:20 -07:00
robk-tahoe
ed9873c2a9
CLI: rework webopen, and moreover its tests w.r.t. path handling
...
in the recent reconciliation of webopen patches, I wound up adjusting
webopen to 'pass through' the state of the trailing slash on the given
argument to the resultant url passed to the browser. this change
removes the requirement that arguments must be directories, and allows
webopen to be used with files. it also broke the tests that assumed
that webopen would always normalise the url to have a trailing slash.
in fixing the tests, I realised that, IMHO, there's something deeply
awry with the way tahoe handles paths; specifically in the combination
of '/' being the name of the root path within an alias, but a leading
slash on paths, e.g. 'alias:/path', is catagorically incorrect. i.e.
'tahoe:' == 'tahoe:/' == '/'
but 'tahoe:/foo' is an invalid path, and must be 'tahoe:foo'
I wound up making the internals of webopen simply spot a 'path' of
'/' and smash it to '', which 'fixes' webopen to match the behaviour
of tahoe's path handling elsewhere, but that special case sort of
points to the weirdness.
(fwiw, I personally found the fact that the leading / in a path was
disallowed to be weird - I'm just used to seeing paths qualified by
the leading / I guess - so in a debate about normalising path handling
I'd vote to include the /)
2008-09-24 09:45:23 -07:00
Brian Warner
0799e09910
test_cli: disable generate-keypair test on OS-X, pycryptopp still has a bug
2008-09-19 12:38:55 -07:00
Brian Warner
6607fdc586
CLI: add 'tahoe admin generate-keypair' command
2008-09-18 17:11:33 -07:00
Brian Warner
022fcf3db8
test_cli: oops, fix tests after recent stdout/stderr cleanup
2008-08-12 14:46:34 -07:00
Brian Warner
376df2eb5a
CLI: make 'tahoe webopen' command accept aliases like 'tahoe ls'
2008-08-11 18:20:23 -07:00
Brian Warner
45d12baba2
test_cli: more coverage for 'tahoe put' modifying a mutable file in-place, by filename, closes #441
2008-08-04 13:26:43 -07:00
Brian Warner
b9f4006b96
test_cli: remove windows-worrying newlines from test data
2008-08-01 19:47:34 -07:00
Brian Warner
35afe726c1
test_cli.py: factor out CLITestMixin
2008-08-01 19:29:38 -07:00
Brian Warner
f7d2fcc233
CLI: change one-arg forms of 'tahoe put' to make an unlinked file, fix replace-mutable #441
2008-08-01 19:27:29 -07:00
Brian Warner
2eec38279d
CLI: add create-alias command, to merge mkdir and add-alias into a single (secure-from-argv-snooping) step
2008-08-01 19:10:41 -07:00
Brian Warner
dc57ab4d36
test_cli: add system-based tests for PUT, including a mutable put that fails/todo ( #441 )
2008-08-01 15:10:09 -07:00
Brian Warner
8e92dfcb50
overhaul CLI: not quite complete but it works a lot better than it used to. The new scheme uses 'tahoe add-alias' and rsync/scp-style 'alias:foo/bar.txt' arguments
2008-05-19 19:28:50 -07:00
Brian Warner
72874390fe
BIG COMPATIBILITY BREAK: update hash tags, switch to SHA-256d everywhere
2008-02-14 19:58:01 -07:00
Zooko O'Whielacronx
7c6de95bc6
switch from base62 to base32 for storage indices, switch from z-base-32 to rfc 3548 base-32 for everything, separate out base32 encoding from idlib
2008-02-14 19:27:47 -07:00
Zooko O'Whielacronx
3f8df27063
use base62 encoding for storage indexes, on disk and in verifier caps, and in logging and diagnostic tools
...
base62 encoding fits more information into alphanumeric chars while avoiding the troublesome non-alphanumeric chars of base64 encoding. In particular, this allows us to work around the ext3 "32,000 entries in a directory" limit while retaining the convenient property that the intermediate directory names are leading prefixes of the storage index file names.
2008-02-12 20:48:37 -07:00
Brian Warner
02e7c56563
test_cli: oops, need to update this when the CHK hash changes
2008-02-06 19:58:53 -07:00
Zooko O'Whielacronx
1d1628e525
rename storage_index_chk_hash() to storage_index_hash() and add TODO about how our use of it now includes keys that are not CHKs
2008-02-01 12:27:37 -07:00
Brian Warner
37b7f136ce
'tahoe dump-cap': accept http:// -prefixed URLs too
2008-01-14 14:12:27 -07:00