Commit Graph

4130 Commits

Author SHA1 Message Date
meejah
5e011e65d3 more iterate()s for windows 2016-08-18 16:39:45 -07:00
meejah
c7dda9d4fc windows needs more iterate()s 2016-08-18 11:41:10 -07:00
meejah
054efe055c Fix file-operations/inotify testing
This re-factors the magic-folder tests to abstract
the whole "do a file operation" so we can properly
send fake (or wait for real) inotify events to the
uploader/downloader. This speeds up the tests quite
a bit and makes test_alice_bob reasonable again (at
about 1.5s instead of over 30s).
2016-08-18 10:41:40 -06:00
Brian Warner
b637636ef9 remove _appname.py file
We no longer need the complexity of choosing the application name at
runtime. This removes the setup.py code which populates the _appname.py
file, and the code in __init__.py which reads it. It does not yet remove
the tests which compare the output of e.g. `tahoe --version` against
`allmydata.__appname__`, which I think could be removed, but that's more
invasive than I want to do right now.

closes ticket:2754
2016-08-11 23:24:11 -07:00
meejah
c3035dc409 remove unnecessary error-handling 2016-08-10 19:44:26 -06:00
meejah
75a218d80f Show last time for successful scans too 2016-08-10 19:44:14 -06:00
meejah
8a33fc612a Add magic-folder indicator to main welcome page
This doesn't reveal very much information, but does tell
you if magic-folder is currently working and if not it will
indicate when the last attempt to do a remote scan was.
2016-08-09 18:07:00 -06:00
meejah
a6920d9799 Improve error-reporting from JSON APIs, and use it better in CLI
Improve error-handling for directories if you ask for JSON from
the /uri endpoint, but an error occurs (you get a proper HTTP
status code and a valid JSON object).

For 'tahoe magic-folder status' e now retrieve *all* the remote data
required in the CLI before doing anything else so that errors can be
shown immediately. Use the improved JSON endpoints to print better
errors.
2016-08-09 14:36:09 -06:00
Brian Warner
af1e2a1e2f node.py: advise twistd.log readers about flogtool 2016-08-09 15:27:33 -04:00
meejah
69b86ebe9a Improve startup error-reporting
This keeps re-trying the initial magic-folder scan and alerts
the user (via logs only :/) until it succeeds at least once.

After this happens and the node has started up, it will continue
to re-try if enough storage servers go away later such that the
remote collection can't be retrieved.
2016-08-09 14:16:11 -04:00
Brian Warner
8ca653c30d no_network: turn off control_tub and log_tub
These aren't needed for most tests, and saves about 7% of the total test
runtime (on my laptop, it drops from 844s to 786s).
2016-08-05 19:33:49 -04:00
Brian Warner
a35073cb3d test.common: allow test_repairer to be run independently
Previously, this file importing "allmydata.immutable" but assuming that
"allmydata.immutable.upload" was available, which only worked if some
other file had imported upload.py . This didn't affect running the
entire test suite (something imported upload.py before anything else
needed it), but caused errors when running specific tests like
test_repairer.py .
2016-08-05 18:26:18 -04:00
Brian Warner
cd083b9a04 move SystemTestMixin from common.py to test_system.py
It's only being used in test_system.py anyways, so having it live in a
"common" file didn't provide much value.
2016-08-04 01:09:12 -04:00
Brian Warner
4f0e71db4a split test_web.py into smaller files
there's more to be done, but this is a start
2016-08-03 20:46:12 -04:00
Brian Warner
421520ade4 test_magic_folder: use oneshare=True too
I can't currently test this (my OS-X laptop can't run those tests), but
based on how much time test_magic_folder takes on the buildbots, I
expect oneshare=True to help considerably.
2016-08-03 19:11:01 -04:00
Brian Warner
6dd58ceb2a tests: use oneshare=True on more test cases
This saves more time (as measured on my laptop):

* test_sftp: 17.7s -> 13s
* test_dirnode: 26.5s -> 20s
* test_ftp, test_configutil, test_web show negligible speedups

As before, some tests care about the number of shares, generally ones
which delete or corrupt shares and then expect to see the errors get
noticed or fixed. Those tests continue to use k=3/N=10.
2016-08-03 19:11:01 -04:00
Brian Warner
22d032ef2e test.cli: use oneshare=True, reduce runtime by 50%
Most of the CLI tests don't care about the actual shares. Configuring
the test client to use k=N=1 reduces the runtime from 180s to 90s on my
laptop.

A few tests *do* care, like test_check (which delete some shares, then
assert that 'tahoe check' shows the damage). These still use k=3/N=10.
2016-08-03 19:11:01 -04:00
Brian Warner
50df45e3a0 add GridTestMixin.set_up_grid(oneshare=True)
This configures client[0] to use k=N=1, which is a lot faster for tests
that don't care about the actual shares (e.g. most of the CLI tests).
2016-08-03 19:11:01 -04:00
Brian Warner
e431faf58c test_cli_*: move files into test/cli/* 2016-08-03 19:10:53 -04:00
Brian Warner
f11769560c test.mutable.Update: stop exercising max_shares
Many of the test cases would exercise two copies of each file: one with
k=3/N=10, and a second with k=127/N=255 (255 being the maximum supported
by zfec).

Large number of shares increases the overhead of the testing apparatus,
which is pushing those shares to lots of local servers.

I don't think the "max_shares" case is necessary, and it takes forever.
Because of it, "mutable.Update" was consuming 15% of the total test
runtime, and a third of that was just a single
function (test_replace_locations_max_shares, now deleted). On a
Raspberry Pi 3 (our "slow computer" benchmark), including branch
coverage, this one class took 42 minutes to complete, and requires
disabling a bunch of timeouts to finish at all.

The total number of shares in a file ("N") affects one thing: the
width (and thus height) of the share hash tree. This should be exercised
in test_hashtree.

The number of required shares ("k") affects one thing: the segment size
must be a multiple of k. I don't think we need to exercise this, but if
so, it could be exercised by a few small values for k, rather than 127.

Removing the max_shares cases saves 82% of the mutable.update
runtime (on top of the previous three-segment fix), reducing it from 64s
to 11.3s on my laptop.
2016-08-03 15:32:01 -04:00
Brian Warner
1bdae637e1 test.mutable.update: reduce data size in half
We only need three segments to exercise everything. This saves about 15%
of the test.mutable runtime (from 76s to 64s on my laptop).
2016-08-03 15:08:10 -04:00
Brian Warner
dbd78f19d2 test.mutable.update: minor refactoring 2016-08-03 15:07:51 -04:00
Brian Warner
4f56c4b053 split test_mutable.py into smaller files 2016-08-03 14:54:32 -04:00
Brian Warner
6f8c96e262 oops, fix NoNetworkStorageBroker to match 2016-07-21 18:13:28 -07:00
Brian Warner
1b64ab5e85 simplify when_connected_enough()
This seems happier as a method on StorageBroker, rather than a
completely separate helper class.
2016-07-21 17:23:22 -07:00
meejah
88cd4cb6c2 skip all tests w/o inotify support 2016-07-21 12:35:59 -07:00
meejah
87acfe968e pyflakes warnings 2016-07-21 12:35:59 -07:00
meejah
4e0a30ab91 get rid of more win32 special-casing 2016-07-21 12:35:59 -07:00
meejah
1ac6c9bdf6 remove special-case win32 2016-07-21 12:35:59 -07:00
meejah
161c876f2f make tests reflect reality 2016-07-21 12:35:59 -07:00
meejah
46f1f952e9 tighten delay on windows tests 2016-07-21 12:35:59 -07:00
meejah
e182562dbe remove tub.location from smoke_test config for storage nodes 2016-07-21 12:35:59 -07:00
meejah
041aabd8c4 Error-handling and --debug option to print stack-trace for all magic-folder commands 2016-07-21 12:35:59 -07:00
meejah
4509c7dafd Fix magic-folder 'status' command 2016-07-21 12:35:59 -07:00
meejah
db40417886 make check_magicfolder_smoke easier to run, cross-platform 2016-07-21 12:35:59 -07:00
meejah
1b72683741 get rid of more spew 2016-07-21 12:35:59 -07:00
meejah
e9343c8715 fix typo 2016-07-21 12:35:59 -07:00
meejah
efef4ae632 only use long delay on windows 2016-07-21 12:35:59 -07:00
meejah
fc5f820202 whitespace 2016-07-21 12:35:59 -07:00
meejah
516af88252 put longer timeout for test_alice_bob back in 2016-07-21 12:35:59 -07:00
meejah
a533aef960 remove delayedcall debugging 2016-07-21 12:35:59 -07:00
meejah
304da362f7 remove prints 2016-07-21 12:35:59 -07:00
meejah
ec11551404 slightly better way to find tahoe binary 2016-07-21 12:35:59 -07:00
meejah
18f799bdc8 remove incorrect override 2016-07-21 12:35:59 -07:00
meejah
34aed4bbad fixup remove debug 2016-07-21 12:35:59 -07:00
meejah
e060c584d7 fixup for pending-call calls 2016-07-21 12:35:59 -07:00
meejah
3de2f9c756 get rid of a bunch of debug 2016-07-21 12:35:59 -07:00
meejah
db6717951f properly cancel pending-call things in windows inotify 2016-07-21 12:35:59 -07:00
meejah
fce5b789dc fixup rebase conflict mis-resolutions 2016-07-21 12:35:59 -07:00
Daira Hopwood
ba9abe6a2b Repair fileutil tests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
12773ea034 Increase timeout for test_alice_bob to 5 minutes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
504e0d02f3 refactor to use context managers 2016-07-21 12:35:59 -07:00
meejah
ec37d52942 more 2016-07-21 12:35:59 -07:00
meejah
d41477bd5f fix/change some assertions 2016-07-21 12:35:59 -07:00
meejah
575c00113a fix typo for .conflict files 2016-07-21 12:35:59 -07:00
Daira Hopwood
c978db4c90 more fixes 2016-07-21 12:35:59 -07:00
meejah
c087a87b4a fixes to test_alice_bob 2016-07-21 12:35:59 -07:00
Daira Hopwood
5c01d4781f Temporarily increase delay to make sure we receive notifications.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
874b4cf343 Debug prints in Windows inotify emulation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
e845f7ff65 Filter out FILE_ACTION_MODIFIED for directories.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
23f4b9dbfd Repair tests after changing the semantics of objects_succeeded.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
8a83cff14d Make _process return a boolean to indicate whether processing succeeded,
and only increment objects_succeeded if that is the case.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
0abe5baaf2 WIP: temporarily work around the AccessDenied errors after a test failure.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
afc7ab43a1 Fix a subtle typo.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
b949082f8e Change type of mtime and ctime stored in magicfolderdb to integer nanoseconds.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
meejah
7c85de813f (some) fixes for smoke_magicfolder 2016-07-21 12:35:59 -07:00
Daira Hopwood
237f4719ee Remove the flush_volume call in RealTest as well as in RealTestAliceBob.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
b05b701532 Try to avoid spurious failures when shutting down the INotify loop on Windows.
This only partially solves the problem.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
23a1f311af Fix pyflakes errors, add a comment about a suspicious test.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
a78e9c750a WIP: add close method for MagicFolderDB and make MagicFolderDbTests use it.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
meejah
a50d0e5c8b WIP and debugging things
Conflicts:
	src/allmydata/test/test_magic_folder.py
2016-07-21 12:35:59 -07:00
meejah
58f9641179 Correct magic-folder use of StorageFarmBroker
When landing the "connected enough" changes on master,
we changed the API; this fixes up usage of it in magic-folder.
2016-07-21 12:35:59 -07:00
Daira Hopwood
e67d23b8fa Fix negative counts for object_queued. fixes ticket:2731
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
meejah
625c5a42cd daira points out bug 2016-07-21 12:35:59 -07:00
meejah
5f073c6987 more startup waiting 2016-07-21 12:35:59 -07:00
meejah
faed2574d6 possible less race-y startup 2016-07-21 12:35:59 -07:00
meejah
378ce27cbd Make retry_download test work, and some bonus comments 2016-07-21 12:35:59 -07:00
Daira Hopwood
9e5b01b3ae Swallow the error from Downloader._when_queue_is_empty.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
811d597cd8 Add WIP test_download_retry.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
meejah
e6104cd1a2 Replace _lazy_tail with iterative loop, cleanup tests (#2412)
* uses @inlineCallbacks to turn the _lazy_tail recursion into
   a "real" looking loop;
 * remove the need for "immediate" vs delayed iteration of said loop;
 * make it easier for the unit-tests to control the behavior of the
   uploader/downloader;
 * consolidates (some) setup/teardown code into the setUp and tearDown
   hooks provided by unittest so unit-tests aren't doing that themselves
 * re-factors some of the unit-tests to use an @inlineCallbacks style
   so they're easier to follow and debug

This doesn't tackle the "how to know when our inotify events have arrived"
problem the unit-tests still have, nor does it eliminate the myriad bits
of state that get added to tests via all the MixIns.
2016-07-21 12:35:59 -07:00
Daira Hopwood
e03e243c67 Expand test for Magic Folder statistics. 2016-07-21 12:35:59 -07:00
Daira Hopwood
37d22efaea Improve test for Magic Folder statistics and move it from test_system.py to test_magic_folder.py. 2016-07-21 12:35:59 -07:00
Daira Hopwood
dd0597f869 Work in progress to fix incorrect statistics output for Magic Folder. refs ticket:2709 2016-07-21 12:35:59 -07:00
Daira Hopwood
e3dfc8f3f4 Fix test_magic_folder.py to use absolute unicode paths when calling write_downloaded_file. 2016-07-21 12:35:59 -07:00
David Stainton
d2ae4255c8 Add daira's implementation of make_dirs_with_absolute_mode 2016-07-21 12:35:59 -07:00
David Stainton
2963e9e50c Use os.path.dirname instead of split and rename var to initial_path_u 2016-07-21 12:35:59 -07:00
David Stainton
cd390b90e4 remove superfluous trailing comma from make_dirs_with_absolute_mode def 2016-07-21 12:35:59 -07:00
David Stainton
ba35d7262b Add unit test and make corrections to make_dirs_with_absolute_mode 2016-07-21 12:35:59 -07:00
David Stainton
ee44732d03 Break out our chmod while loop into fielutils.py 2016-07-21 12:35:59 -07:00
David Stainton
51ccec7a33 Use chmod instead of changing umask
Conflicts:
	src/allmydata/frontends/magic_folder.py
2016-07-21 12:35:59 -07:00
David Stainton
3d909682a4 Add comment about FUDGE_SECONDS and refer to our design doc 2016-07-21 12:35:59 -07:00
Daira Hopwood
807cfbf0dc Fix pyflakes warnings.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
meejah
9cfcb1b3aa remove humanize, use internal method, teach internal method to understand timedelta 2016-07-21 12:35:59 -07:00
meejah
573a5481d1 add Bob leaving to smoke-tests 2016-07-21 12:35:59 -07:00
meejah
c217d1f8f3 fix return-valid of leave 2016-07-21 12:35:59 -07:00
meejah
bf3bf70814 add docstrings 2016-07-21 12:35:59 -07:00
meejah
8ba2912ff4 make history longer 2016-07-21 12:35:59 -07:00
meejah
7e84b0cf57 flesh out IQueuedItem 2016-07-21 12:35:59 -07:00
meejah
05ec62c4b1 humanize doesn't report a proper version 2016-07-21 12:35:59 -07:00
meejah
5ed24913d2 add humanize dependency 2016-07-21 12:35:59 -07:00
meejah
658470ba6e Add some magicfolder database tests 2016-07-21 12:35:59 -07:00
meejah
2573cf18ef Add simple auth-token to get JSON data 2016-07-21 12:35:59 -07:00
meejah
86abe56d91 Flesh out "tahoe magic-folder status" command
Adds:

 - a JSON endpoint
 - CLI to display information
 - QueuedItem + IQueuedItem for uploader/downloader
 - IProgress interface + PercentProgress implementation
 - progress= args to many upload/download APIs
2016-07-21 12:35:59 -07:00
David Stainton
3df0a82a38 Add cli stub for magic-folder status command 2016-07-21 12:35:59 -07:00
David Stainton
af10ab43ee Daira's fix during session with David and Meejah. 2016-07-21 12:35:59 -07:00
David Stainton
71e3164e92 Further work in progress refinements to unit tests
wip from pairing with Daira and Meejah
2016-07-21 12:35:59 -07:00
David Stainton
9483d24f67 Fix cleanup after test_periodic_full_scan. 2016-07-21 12:35:59 -07:00
David Stainton
38dd49ee5a Add logging for Downloader.stop. 2016-07-21 12:35:59 -07:00
David Stainton
2dabd8a10b Work in progress on fixing test_periodic_full_scan. 2016-07-21 12:35:59 -07:00
David Stainton
b4153659d3 Minor cleanup and logging fix. 2016-07-21 12:35:59 -07:00
David Stainton
5380ff8f5a Clean up queue loging and add a clock advance in unit test
not yet working
2016-07-21 12:35:59 -07:00
David Stainton
e1822c0518 WIP 2016-07-21 12:35:59 -07:00
David Stainton
96b846f762 Add ignore pending argument to _periodic_full_scan 2016-07-21 12:35:59 -07:00
David Stainton
cf462d8b1f Attempt to test periodic uploader full scan 2016-07-21 12:35:59 -07:00
David Stainton
a5163c32cc Only perform full scan if pending set is empty 2016-07-21 12:35:59 -07:00
David Stainton
e9e74c43e1 Naive periodic full scan 2016-07-21 12:35:59 -07:00
David Stainton
9b4b43cf19 Fix uploader's _process to extend queue after scan and count stats properly 2016-07-21 12:35:59 -07:00
David Stainton
d2971fbabe Daira's excellent fixes to the uploader from our pairing session 2016-07-21 12:35:59 -07:00
David Stainton
70f66677be Teach uploader's _scan to use the deque 2016-07-21 12:35:59 -07:00
David Stainton
6b32841b10 Remove UNIQUE constraint from magicfolder db schema 2016-07-21 12:35:59 -07:00
Daira Hopwood
9c9a4e7aa2 Add get_pathinfo.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
278762200d Teach magic-folder join to use configutil.
Author: David Stainton <david@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
cc721505e7 Add magic-folder test_scan_once_on_startup 2016-07-21 12:35:59 -07:00
Daira Hopwood
cb6291e93c Various test cleanups.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
3074b687be Teach join twice test to test for proper stdout and stderr values 2016-07-21 12:35:59 -07:00
David Stainton
74ad656e39 More thorough checks to the join leave join test 2016-07-21 12:35:59 -07:00
David Stainton
966c556562 Fix test_join_leave_join 2016-07-21 12:35:59 -07:00
David Stainton
1c3c9df492 Add more magic-folder join leave tests 2016-07-21 12:35:59 -07:00
David Stainton
24aa74bf53 Add unit test for join twice failure 2016-07-21 12:35:59 -07:00
Daira Hopwood
2043bed3f1 Delay only the download scan not the turning of our event queue.
Author: David Stainton <david@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
9d7785f57b Fix magic folder constructor signature in test 2016-07-21 12:35:59 -07:00
David Stainton
68539e3fe0 Fix tests usage of umask 2016-07-21 12:35:59 -07:00
David Stainton
0273034b0c Fix umask again 2016-07-21 12:35:59 -07:00
David Stainton
ae59b17e86 Fix umask usage bit fiddling and use try finally blocks 2016-07-21 12:35:59 -07:00
David Stainton
f2a7978b29 Add download.umask config option with default of 077 2016-07-21 12:35:59 -07:00
David Stainton
623ed3516e Add umask to Downloader 2016-07-21 12:35:59 -07:00
David Stainton
7b9c89c6f4 remove magic_folder from config in test 2016-07-21 12:35:59 -07:00
David Stainton
189b1b2dc2 Remove magic_folder subsection from default tahoe.cfg 2016-07-21 12:35:59 -07:00
David Stainton
79f3c5d81a Remove magic-folder exclude stat 2016-07-21 12:35:59 -07:00
Daira Hopwood
cd1c166790 Improve the error reporting for 'tahoe magic-folder join/leave'. refs #2568
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
b4b5590b00 teach leave to: remove magic_folder section of config 2016-07-21 12:35:59 -07:00
David Stainton
d6e68129ab Add simple magic-folder leave command 2016-07-21 12:35:59 -07:00
David Stainton
8ff7642fba Teach join to also check for existing magicfolder db file 2016-07-21 12:35:59 -07:00
David Stainton
aea2cf2890 Prevent magic-folder join if already joined. 2016-07-21 12:35:59 -07:00
Daira Hopwood
6b4d3b8c6d Refactor is_new_file.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
02dacbc067 Minor simplification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
e990483750 Simply conflict detection by removing nested if statements 2016-07-21 12:35:59 -07:00
David Stainton
6ed4480eb9 Scan our own dmd upon start only 2016-07-21 12:35:59 -07:00
meejah
0aaabe0ebe remove print 2016-07-21 12:35:59 -07:00
meejah
ed4e4d053e Add a unit-test and correct the code for "already deleted"
If a Downloader decides that it needs to delete a file, but that
file is already gone locally, the exeption is caugt and a log message
produced.
2016-07-21 12:35:59 -07:00
David Stainton
49b5661347 Fix test: previously we accounted for the propagation of the conflict
because alice scaned her own dmd... whereas now she does not.
2016-07-21 12:35:59 -07:00
David Stainton
eab24d022b Fix test helper _check_version_in_local_db 2016-07-21 12:35:59 -07:00
Daira Hopwood
9d59ef493f WIP: Refactoring to get db fields in one query.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
bca4c87e47 WIP 2016-07-21 12:35:59 -07:00
Daira Hopwood
42f535edf9 Fix pending upload conflict detection.
Author: David Stainton <david@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
6eeab03b70 Create test for last upload uri conflict 2016-07-21 12:35:59 -07:00
Daira Hopwood
e8b6b31373 Detect remote conflict by checking for pending upload.
Author: David Stainton <david@leastauthority.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
c7f38a496d Add debugging print statement for timestamp comparison 2016-07-21 12:35:59 -07:00
David Stainton
edc671f577 Add last uploaded timestamp comparison for remote conflict detection 2016-07-21 12:35:59 -07:00
Daira Hopwood
6402159106 Fix an unused import.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
c7f298bce5 Fix some miscapture bugs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
868c38d228 Workaround.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
b21a3dc070 Simplify _notify and improve logging.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
17384ac512 Simplify _scan_remote_* and remove Downloader._download_scan_batch attribute.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
d686575393 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
4f41be0e70 Downloader doesn't need the pending set.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
017d63b47b Delete redundant is_ready attribute from MagicFolder.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
3fab5caa02 test_encodingutil: fixes for Unix.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
5f98d73216 Add precondition to Uploader._process.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
583066b364 Fix test_errors.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
9646a3ce3e Fix test_move_tree.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
0c12162bc8 Debugging WIP.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
b53efdbf8b Fix a corner case for to_filepath on Windows to make it consistent with Unix.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
b9eb8932b6 test_encodingutil: add tests for FilePath-related functions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
b6b638efd1 Depend on FilePath.asTextMode().
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
84af199d51 WIP: exclude own dirnode from scan. This is not quite right; we shouldn't exclude it on startup. refs #2553
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
ea14b1bebe Don't add subdirectory watches if the platform's notifier doesn't require them. refs #2559
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
6bb0963197 Improve reporting of assertion failures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
a5b9cf36b8 Fix unused import.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
f77c593177 Add test for 'tahoe create-node/client/introducer' output. closes ticket:2556
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
d1eb64c01b bin\tahoe can't be run directly on Windows.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
3647ffc3a7 Correct type for Windows BOOL.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
9dafa2e759 Disable precondition that autoAdd == recursive.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
a6842946ca Fix a type error.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
0e19636146 Flush handling WIP.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
5e9792f8d7 Use fileutil.write for magic folder tests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
f3803c058d Improve all of the Windows-specific error reporting.
Also make the Windows function declarations more readable and consistent.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
c20cf843eb Fix fileutil tests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
dacf6ef633 More path fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
f12ac3d94e Fix a test broken by the last commit.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
a622109a87 Don't include [magic_folder]enabled and local.directory fields by default.
Add a comment reminding to do the field modification properly.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
6fb7f86855 Don't use a long path for the [magic_folder]local.directory field.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
2a79252a72 Fix some path Unixisms.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
45adc30ed6 Fix test_alice_bob.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
e591c3aa81 Refactor _check_up/downloader_count.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
1abc2c39c8 Don't download the deletion marker file unnecessarily.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
c6191257ea Distinguish deletion of directories.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
Daira Hopwood
d6bb49b1a6 Rename deleted files to .backup rather than unlinking them.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-07-21 12:35:59 -07:00
David Stainton
a043a31860 Add file conflict unit test 2016-07-21 12:35:59 -07:00
David Stainton
99d1339d38 Add basic bob upload test and fix conflict detect 2016-07-21 12:35:59 -07:00