Commit Graph

342 Commits

Author SHA1 Message Date
Sajith Sasidharan
aab598c2f5 Update integration test for status page
As a fallout of transition from nevow to twisted web, list of hrefs in
the parsed status page will be [u'/status/down-0', u'/status/up-0',
u'/'] (with an added '/status/' prefix) so we need to update our
assumptions.

See 5c886b1b2 for the change that necessitated this.
2020-07-17 15:19:06 -04:00
meejah
1f2ad6e634 the tests are unit-tests 2020-07-09 16:05:29 -04:00
meejah
6e2285ed2c proof-of-concept verified-fake for testing 2020-07-09 16:05:29 -04:00
Sajith Sasidharan
7d93ae9213 Skip Tor tests on Windows 2020-06-22 20:18:00 -04:00
Jean-Paul Calderone
25edce6257
Don't create the magic-folder directories for each node 2020-04-13 12:13:45 -04:00
Jean-Paul Calderone
1fba2d6ea2
Remove the magic-folder integration tests 2020-02-13 10:28:25 -05:00
meejah
3b2fcc0d28 remove some irrelevant comments 2019-08-24 14:36:14 -06:00
meejah
b6f0832945 clarify comment 2019-08-24 14:26:27 -06:00
meejah
0f6d6659e9 fewer magic numbers (and a fix to upload encoding) 2019-08-24 14:26:09 -06:00
meejah
20f907f5d3 get rid of potential infinite loops 2019-08-24 12:53:26 -06:00
meejah
e88d0c4b48 docstring 2019-08-24 12:40:24 -06:00
meejah
bdd3531555 remove debug 2019-08-24 12:37:49 -06:00
meejah
489f4677c0 split test, remove debug 2019-08-24 12:37:28 -06:00
meejah
1d095686e2 split a test 2019-08-24 12:20:41 -06:00
meejah
221b2ca87f file-contents are unicode 2019-08-20 00:18:14 -06:00
meejah
31348fcce6 test more of deep-check page 2019-08-20 00:18:14 -06:00
meejah
5ca3a3a1ab consistent naming for client fixtures / helpers 2019-08-20 00:18:14 -06:00
meejah
5e15470f55 test for mkdir-with-children 2019-08-20 00:18:14 -06:00
meejah
626f4b1b1a use html5lib instead of microdom 2019-08-20 00:18:14 -06:00
meejah
9a4411d0a3 more web integration tests 2019-08-20 00:17:28 -06:00
meejah
adc6e39cde introducer fixture returns a TahoeProcess 2019-08-20 00:17:28 -06:00
meejah
e1da080637 test the detailed json event rendering too 2019-08-20 00:17:28 -06:00
meejah
c60c758616 refine test for web status 2019-08-20 00:17:28 -06:00
meejah
73402605ed missed merge conflict 2019-08-20 00:17:28 -06:00
meejah
68e408118b WIP: test the status pages (download is weird still; requests problem?) 2019-08-20 00:17:28 -06:00
meejah
5db3909478 actual str-ports string 2019-08-20 00:17:28 -06:00
meejah
2a39ae91a6 parse capability properly instead of using string-compares 2019-08-20 00:17:28 -06:00
meejah
30100c8165 unicode 2019-08-20 00:17:28 -06:00
meejah
947c4c2691 Instead of abusing the process transport, introduce a new object 2019-08-20 00:17:28 -06:00
meejah
415ab63813 centralize 'wait for ready' 2019-08-20 00:17:28 -06:00
meejah
191087ef0a cleanup 2019-08-20 00:17:28 -06:00
meejah
473a935aab confirm /operations function 2019-08-20 00:17:28 -06:00
meejah
9d4ba78302 more web tests; directory creation etc 2019-08-20 00:17:28 -06:00
meejah
9aca93f6ff clean up tests 2019-08-20 00:17:28 -06:00
meejah
4feba8d7f9 add a --helper command-line option, and a helper-using test 2019-08-20 00:17:28 -06:00
meejah
47e177be68 import 2019-08-20 00:17:28 -06:00
meejah
90bb4cf587 test index json 2019-08-20 00:17:28 -06:00
meejah
7244f3516d
Merge pull request #641 from meejah/integration-test-wait-for-ready
Better method of "waiting for readiness" in integration tests
2019-08-13 18:14:19 +00:00
meejah
f1be3e12df get rid of sleep() we don't need 2019-08-13 10:41:14 -06:00
meejah
643b26978f unused import 2019-08-13 10:37:02 -06:00
meejah
7225cfb18f continue waiting for storage-servers under more error-conditions 2019-08-13 10:33:56 -06:00
meejah
4dc7f9637e naming 2019-08-10 20:00:04 -06:00
meejah
926fa77ccb naming for tor-introducer fixture 2019-08-10 13:53:09 -06:00
meejah
84a320db34 more client awaiting 2019-08-08 21:39:53 -06:00
meejah
68036dd773 save a second if we're already ready 2019-08-08 21:03:40 -06:00
meejah
ff23ad1b89 spelling 2019-08-08 21:03:40 -06:00
meejah
425d16e39d get rid of time.sleep usage for 'readiness' 2019-08-08 21:03:39 -06:00
meejah
9b3d37e03e ValueError not RuntimeError 2019-08-08 21:02:51 -06:00
meejah
e7c387a7fc Instead of abusing the process transport, introduce a new object 2019-08-08 21:02:50 -06:00
meejah
731c58754f re-word docs/args 2019-08-08 21:02:44 -06:00
meejah
d939ed5042 move response-check to function 2019-08-08 21:02:44 -06:00
meejah
7738f9f4e3 add test_put and refactor a little 2019-08-08 21:02:44 -06:00
meejah
eb0a582d1c add a --helper command-line option to 'tahoe create-node' 2019-08-08 17:41:57 -06:00
meejah
1af4593e16 some simple web integration tests 2019-08-08 12:41:27 -06:00
meejah
ba5f44354b
Merge pull request #636 from meejah/integration-test-coverage
coverage for integration tests
2019-08-08 18:40:29 +00:00
meejah
0227b0945e refactor; use _tahoe_runner_optional_coverage 2019-08-08 09:53:57 -06:00
meejah
97e130aa25 refactor; use _tahoe_runner_optional_coverage 2019-08-08 09:52:00 -06:00
meejah
025b89855f refactor so we only check coverage in one place 2019-08-07 14:03:16 -06:00
meejah
8e4b05214a add --coverage for integration tests 2019-08-06 16:47:43 -06:00
Jean-Paul Calderone
cd0ec043a8 Rely on the PATH now being passed down to find git 2019-08-02 16:50:21 -06:00
Jean-Paul Calderone
7f1673596f Pass the whole parent environment down to the child
You never know what is in here that is totally essential to the operation of
some random thing. :(
2019-08-02 16:49:50 -06:00
Jean-Paul Calderone
988c3c6c16 Made sudo optional 2019-04-06 09:14:41 -04:00
Jean-Paul Calderone
1c5b284a3b Attempt to support more distros 2019-04-04 15:50:24 -04:00
Jean-Paul Calderone
4f4ff3ff3c Good practice for scripts 2019-04-04 13:52:09 -04:00
heartsucker
dbfcf8ae00
replaced StringIO imports with six.moves 2019-03-28 12:31:37 +01:00
Jean-Paul Calderone
670182c32a Force a log event so the test completes. 2019-03-24 13:28:08 -04:00
Jean-Paul Calderone
f2ddb27ee0 trivial debug print 2019-03-22 14:16:50 -04:00
Jean-Paul Calderone
9de97dbdd5 Use guard and add some tests (integration failing) 2019-03-22 13:47:32 -04:00
Jean-Paul Calderone
8814261e18 Note a possible better solution and my own laziness
Actually, I'm sick, give me a break.
2019-03-18 19:20:12 -04:00
Jean-Paul Calderone
420000bfdb Account for state from other tests 2019-03-18 19:19:57 -04:00
Jean-Paul Calderone
262485bd14 add a test for the conflict behavior 2019-03-18 16:35:42 -04:00
Jean-Paul Calderone
9bc00c4f76 add a couple more helpers 2019-03-18 16:35:35 -04:00
Jean-Paul Calderone
a44c5d0f11 respect the timeout 2019-03-18 16:35:31 -04:00
Jean-Paul Calderone
c42e5b10c6 Take the necessary fixtures 2019-03-07 12:38:38 -05:00
Jean-Paul Calderone
9e4fa3972e Assert against the correct path
magic_folder contains the magic folder paths, of course.
The Tahoe-LAFS node directories are below the temp_dir.
2019-03-04 10:35:34 -05:00
Jean-Paul Calderone
1121cdd527 The logs should be written 2019-03-04 09:43:46 -05:00
Jean-Paul Calderone
432aaa2904 Do some Eliot logging in the integration test suite 2019-02-27 09:12:00 -05:00
Jean-Paul Calderone
29503c5648 Get all the nodes to turn on Eliot logging. 2019-02-27 09:11:47 -05:00
Jean-Paul Calderone
6f7e1250e8
Merge pull request #549 from tahoe-lafs/2971.super-argument-order
Fix super() argument order

Fixes: ticket:2971
2019-02-18 09:53:05 -05:00
Jean-Paul Calderone
4611e38b01
Merge pull request #548 from tahoe-lafs/2970.keep-tempdir
Document --keep-tempdir correctly

Fixes: ticket:2970
2019-02-18 09:51:42 -05:00
Jean-Paul Calderone
6d948b68cf The fix 2019-02-15 13:58:02 -05:00
Jean-Paul Calderone
f5b7058efe Allow an error exit status from flogtool dump
If the flog is truncated, parsing it will fail and flogtool will exit with an
error.  There's no particular reason to allow this to fail a test.
2019-02-15 13:46:25 -05:00
Jean-Paul Calderone
9a77f1d2e9 This default is also not necessary. 2019-02-15 13:37:42 -05:00
Jean-Paul Calderone
7226fedd9c Avoid having this line crammed onto the end of a line of pytest output 2019-02-15 13:37:27 -05:00
Jean-Paul Calderone
845e1e7a4a There is no need for a default. There is always a value. 2019-02-15 13:24:23 -05:00
Jean-Paul Calderone
2c994b4417 Document the usage correctly 2019-02-15 13:24:17 -05:00
Jean-Paul Calderone
e511adbf63 Use the new cleanup helper for process cleanup
This removes some repetition of logic and switches to a more aggressive
cleanup approach.
2019-02-15 12:41:45 -05:00
Jean-Paul Calderone
cec31e6e5a add a helper for vigorously cleaning up processes 2019-02-15 12:39:30 -05:00
Jean-Paul Calderone
19e03bbff0 pyflakes cleanups 2019-02-15 11:50:14 -05:00
Jean-Paul Calderone
f905d80760 switch to pytest_twisted 2019-02-05 11:03:35 -05:00
Jean-Paul Calderone
ab58c7a938 Link to the ticket for that 2019-01-24 15:57:35 -05:00
Jean-Paul Calderone
402b2c3bd3 If TorNet status fails, proceed anyway 2019-01-24 15:57:35 -05:00
Jean-Paul Calderone
bedf092ca3 Try to report the child process output 2019-01-24 15:57:35 -05:00
Jean-Paul Calderone
6e5ba22f59 do as I ask 2019-01-24 10:31:12 -05:00
Jean-Paul Calderone
a7bf6b2264 Switch to Tor repo for distro we're now using 2019-01-24 10:16:50 -05:00
meejah
83cd20d4da updated Tor release key 2018-08-31 14:11:35 -06:00
meejah
0eb359b59b below code expects >=1 error, but await_all implies 2 2018-05-07 19:38:19 -06:00
meejah
e719a3b4d6 more-robust tests 2018-04-30 14:55:52 -06:00
meejah
2cd74dbb3a exception name wrong in super() 2018-04-30 14:55:52 -06:00
meejah
0d7a703756 simplify some utility code 2018-04-30 14:55:52 -06:00
meejah
c5a20127a1 unify tests 2018-04-30 14:55:52 -06:00
meejah
21c6825172 fix exception stuff 2018-04-30 14:55:52 -06:00
meejah
a0546fff7b custom exception types 2018-04-30 14:55:51 -06:00
meejah
6352db9c01 comment + logging cleanup 2018-04-30 14:55:51 -06:00
meejah
c445ac4c14 use custom exception type 2018-04-30 14:55:51 -06:00
meejah
113f87a931 whitespace 2018-04-30 14:55:51 -06:00
meejah
7cb36bda7e unused code 2018-04-30 14:55:51 -06:00
meejah
41e6ec0fff integration test fixups 2018-04-30 14:55:51 -06:00
meejah
a146afcf84 refactor integration tests 2018-04-30 14:55:51 -06:00
meejah
16d59ab582 fix integration test 2018-04-30 14:55:51 -06:00
meejah
cc93a12a85 Test fixups 2018-04-30 14:55:51 -06:00
meejah
affb80e39e test fixups 2018-04-30 14:55:51 -06:00
meejah
e000047932 integration-test for #2909 2018-04-30 14:55:51 -06:00
meejah
9e5a6ac123 test_smoke -> test_magic_folder 2018-04-30 14:55:51 -06:00
meejah
4f1735586d integration test for #2882 2018-02-06 15:28:02 -07:00
meejah
f7cfd62908 tell travis + tox about pytest.twisted in a different way 2018-01-23 12:52:46 -07:00
Brian Warner
da4e7dcfbe hush a bunch of not-really-problems caught by the lgtm.com static analyzer
This is all minor stuff: unreachable debug code (that should be commented-out
instead of in an 'if False:' block), unnecessary 'pass' and 'global'
statements, redundantly-initialized variables. No behavior changes. Nothing
here was actually broken, it just looked suspicious to the static analysis at
https://lgtm.com/projects/g/tahoe-lafs/tahoe-lafs/alerts/?mode=list .
2017-12-31 00:19:41 +01:00
meejah
87ad3cb8e9 fix 2880
- remember upload URI so we don't re-download
- account for empty files in "should_download"
- fix 'conflicted' asserts in tests
2017-12-05 12:02:16 -07:00
meejah
5b93e193c3 An integration test for ticket 2880 2017-12-05 12:02:16 -07:00
meejah
798bf57e28 Add 'tahoe invite' and 'tahoe create-node --join' commands
This opens a wormhole and sends appropriate JSON down
it to a tahoe-gui using a wormhole server running on
tahoe-lafs.org

The other end uses the 'tahoe create-node' command (with
new --join option) to read the configuration JSON from
a 'tahoe invite' command
2017-08-08 18:27:06 -06:00
Jean-Paul Calderone
b481fc46f6 go back to happy=7
now that there are only 5 storage servers instead of 8 as expected
2017-07-26 11:30:02 -04:00
Jean-Paul Calderone
86b48960e3 pyflakes cleanups 2017-07-26 11:29:47 -04:00
Jean-Paul Calderone
dece729857 refactor to remove unnecessary negation
also add missing import!
2017-07-26 11:29:15 -04:00
Jean-Paul Calderone
a8917d553c rewrite the config file more safely
use cli options for whatever we can
use the config apis for the other thing

this avoids clobbering configuration we don't know about -
such as the storage=False setting (which made all nodes storage servers).
2017-07-26 10:49:43 -04:00
Brian Warner
e7deb2c80f integration/install-tor.sh: use trusty instead of precise 2017-07-12 09:36:50 -07:00
meejah
05f48c3601 Various cleanups, fixes and improvements
Squashed all commits that were meejah's between
30d68fb499f300a393fa0ced5980229f4bb6efda
and
33c268ed3a8c63a809f4403e307ecc13d848b1ab
On the branch meejah:1382.markberger-rewrite-rebase.6 as
per review
2017-06-05 16:31:41 -06:00
David Stainton
19c5bbb43b Fix test test_lost_servers
Remove old hypothesis tests

Fix allmydata.test.cli.test_cli.Errors.test_get

this was broken due to differing share placements
whereas we need to allow this.

Fix test_5_overdue_immutable

This change makes the test not depend on the value
of PYTHONHASHSEED.

Revert "Fix test_5_overdue_immutable"

This reverts commit 5f3696d9a53e7df8781a2c463c7112282397cd69.

fix test to actually hang the first 5 *servers*

sort keys for stable output

use file-context-managers

remove probably-unneeded assert (that fails sometimes)

another non-deterministic test?
2017-06-05 16:26:46 -06:00
meejah
56f6dbd363 distribute only to read/write peers
correctly calculate happiness

guard with except

fix tests, and happiness calculation

remove debug

fix placements to None

happiness calc shouldn't have to filter None

WIP fixing some tests etc
2017-06-05 16:26:46 -06:00
David Stainton
a611673934 Make a correction to a hypothesis test comment
Comment out all debug print statements

Add hypothesis tests for the old servers of happiness implementation

Attempt to speed up meejah's servers of happiness

WIP

Fix test_calc_happy

WIP
2017-06-05 16:26:46 -06:00
meejah
b6d9945b95 default answer for every share
refactor hypothesis to be 'pytest style' and add another one

get rid of 'shares->set(1 thing)' in generate_mappings return

Add a unittest hypothesis came up with

fix tests since we return peers, not sets-of-1-peer

add more debug

add a unit-test that's like test_problem_layout_ticket_1128

fix bug

add a note

fix utest

unit-test for bigger numbers

re-insert markberger code for testing

results of pairing with david
2017-06-05 16:26:46 -06:00
David Stainton
e68b331bb1 Add servers of happiness hypothesis testing
Fix happiness test var names

Remove unused imports

Get rid of trailing whitespace
2017-06-05 16:26:46 -06:00
David Stainton
c83dde8629 Use first element returned by which 2017-01-09 19:54:51 +00:00
David Stainton
805be64769 Use which from twisted
fixes #2856
2017-01-09 17:58:41 +00:00
meejah
e32b664b2b Adjust default poll_interval
Also adds a --poll-interval option to both 'magic-folder join'
and 'magic-folder create' so that the integration tests can pass
something "very short".
2016-12-14 20:29:41 -07:00
meejah
b96122a8ff Adding to the py.test integration tests, this:
- (on travis) installs Tor
 - installs Chutney
 - uses it to build a local Tor test-network
 - set up an introducer on this test-network
 - sets up two storage servers on this test-network
 - proves that one can add a file, and the other can download it

I also mark the two tests that occasionally fail as
expected failures for now
2016-10-18 18:06:41 -07:00
meejah
ffdf4bf878 longer timeouts for windows' benefit 2016-09-26 13:33:45 -07:00
meejah
52e4bf0503 slightly more reliable... 2016-09-26 13:33:45 -07:00
meejah
2497435c1a use full paths for everything 2016-09-26 13:33:45 -07:00
meejah
b2628b0826 Ignore IOErrors while we're still waiting 2016-09-26 13:33:45 -07:00
meejah
a0fc80d544 Use "python -m allmydata.scripts.runner" instead of tahoe.exe
On windows, it seems that the generated tahoe.exe (which comes
via entry_points=) doesn't deal with signals nicely. I'm not
sure if this is a pip bug (or just "one of those Windows things")
but running with python -m allows us to kill our subprocesses.
2016-09-26 13:33:45 -07:00
meejah
a93e8d7bd0 fix create-introducer, create-node after master changes 2016-09-26 13:33:45 -07:00
meejah
72f17afa76 Move check_magicfolder_smoke.py to proper integration tests
This introduces a py.test-based integration suite (currently just
containing magic-folder end-to-end tests). Also adds a tox environment
("integration") to run them.

The test setup is:

 - a "flogtool gather" instance
 - an Introducer
 - five Storage nodes
 - Alice and Bob client nodes
 - Alice and Bob have paired magic-folders
2016-08-30 20:47:47 -06:00