Commit Graph

138 Commits

Author SHA1 Message Date
ba5f44354b
Merge pull request #636 from meejah/integration-test-coverage
coverage for integration tests
2019-08-08 18:40:29 +00:00
0227b0945e refactor; use _tahoe_runner_optional_coverage 2019-08-08 09:53:57 -06:00
97e130aa25 refactor; use _tahoe_runner_optional_coverage 2019-08-08 09:52:00 -06:00
025b89855f refactor so we only check coverage in one place 2019-08-07 14:03:16 -06:00
8e4b05214a add --coverage for integration tests 2019-08-06 16:47:43 -06:00
cd0ec043a8 Rely on the PATH now being passed down to find git 2019-08-02 16:50:21 -06:00
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
988c3c6c16 Made sudo optional 2019-04-06 09:14:41 -04:00
1c5b284a3b Attempt to support more distros 2019-04-04 15:50:24 -04:00
4f4ff3ff3c Good practice for scripts 2019-04-04 13:52:09 -04:00
dbfcf8ae00
replaced StringIO imports with six.moves 2019-03-28 12:31:37 +01:00
670182c32a Force a log event so the test completes. 2019-03-24 13:28:08 -04:00
f2ddb27ee0 trivial debug print 2019-03-22 14:16:50 -04:00
9de97dbdd5 Use guard and add some tests (integration failing) 2019-03-22 13:47:32 -04:00
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
420000bfdb Account for state from other tests 2019-03-18 19:19:57 -04:00
262485bd14 add a test for the conflict behavior 2019-03-18 16:35:42 -04:00
9bc00c4f76 add a couple more helpers 2019-03-18 16:35:35 -04:00
a44c5d0f11 respect the timeout 2019-03-18 16:35:31 -04:00
c42e5b10c6 Take the necessary fixtures 2019-03-07 12:38:38 -05:00
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
1121cdd527 The logs should be written 2019-03-04 09:43:46 -05:00
432aaa2904 Do some Eliot logging in the integration test suite 2019-02-27 09:12:00 -05:00
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
6d948b68cf The fix 2019-02-15 13:58:02 -05:00
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
9a77f1d2e9 This default is also not necessary. 2019-02-15 13:37:42 -05:00
7226fedd9c Avoid having this line crammed onto the end of a line of pytest output 2019-02-15 13:37:27 -05:00
845e1e7a4a There is no need for a default. There is always a value. 2019-02-15 13:24:23 -05:00
2c994b4417 Document the usage correctly 2019-02-15 13:24:17 -05:00
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
cec31e6e5a add a helper for vigorously cleaning up processes 2019-02-15 12:39:30 -05:00
19e03bbff0 pyflakes cleanups 2019-02-15 11:50:14 -05:00
f905d80760 switch to pytest_twisted 2019-02-05 11:03:35 -05:00
ab58c7a938 Link to the ticket for that 2019-01-24 15:57:35 -05:00
402b2c3bd3 If TorNet status fails, proceed anyway 2019-01-24 15:57:35 -05:00
bedf092ca3 Try to report the child process output 2019-01-24 15:57:35 -05:00
6e5ba22f59 do as I ask 2019-01-24 10:31:12 -05:00
a7bf6b2264 Switch to Tor repo for distro we're now using 2019-01-24 10:16:50 -05:00
83cd20d4da updated Tor release key 2018-08-31 14:11:35 -06:00
0eb359b59b below code expects >=1 error, but await_all implies 2 2018-05-07 19:38:19 -06:00
e719a3b4d6 more-robust tests 2018-04-30 14:55:52 -06:00
2cd74dbb3a exception name wrong in super() 2018-04-30 14:55:52 -06:00
0d7a703756 simplify some utility code 2018-04-30 14:55:52 -06:00
c5a20127a1 unify tests 2018-04-30 14:55:52 -06:00
21c6825172 fix exception stuff 2018-04-30 14:55:52 -06:00
a0546fff7b custom exception types 2018-04-30 14:55:51 -06:00
6352db9c01 comment + logging cleanup 2018-04-30 14:55:51 -06:00
c445ac4c14 use custom exception type 2018-04-30 14:55:51 -06:00
113f87a931 whitespace 2018-04-30 14:55:51 -06:00
7cb36bda7e unused code 2018-04-30 14:55:51 -06:00
41e6ec0fff integration test fixups 2018-04-30 14:55:51 -06:00
a146afcf84 refactor integration tests 2018-04-30 14:55:51 -06:00
16d59ab582 fix integration test 2018-04-30 14:55:51 -06:00
cc93a12a85 Test fixups 2018-04-30 14:55:51 -06:00
affb80e39e test fixups 2018-04-30 14:55:51 -06:00
e000047932 integration-test for #2909 2018-04-30 14:55:51 -06:00
9e5a6ac123 test_smoke -> test_magic_folder 2018-04-30 14:55:51 -06:00
4f1735586d integration test for #2882 2018-02-06 15:28:02 -07:00
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
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
5b93e193c3 An integration test for ticket 2880 2017-12-05 12:02:16 -07:00
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
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
86b48960e3 pyflakes cleanups 2017-07-26 11:29:47 -04:00
dece729857 refactor to remove unnecessary negation
also add missing import!
2017-07-26 11:29:15 -04:00
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
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
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
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
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
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
ffdf4bf878 longer timeouts for windows' benefit 2016-09-26 13:33:45 -07:00
52e4bf0503 slightly more reliable... 2016-09-26 13:33:45 -07:00
2497435c1a use full paths for everything 2016-09-26 13:33:45 -07:00
b2628b0826 Ignore IOErrors while we're still waiting 2016-09-26 13:33:45 -07:00
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
a93e8d7bd0 fix create-introducer, create-node after master changes 2016-09-26 13:33:45 -07:00
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