tahoe-lafs/src/allmydata/test
Brian Warner b2dcbbb62d test/common.py: fix race condition waiting for the helper connection
The wait_for_connections() method, which is used at the start of
test_system to make sure that all the clients are connected to all the
servers, did not also wait for clients to be connected to their Helpers.
Every once in a while, the helper connection would take a bit longer,
and then
test_system.SystemTest.test_filesystem._test_web._got_welcome_helper
would fail, because we'd check for a helper connection before it was
ready.

The fix is to modify wait_for_connections's polling predicate to look
for helper connections (if configured) as well as the regular
introducer- and server- connections.

Tested by temporarily adding a large (30s) delay to the connectTo() call
in Uploader.startService, simulating a long helper
connection-establishment delay. This makes the test fail consistently.
Then I fixed wait_for_connections(), and the test passed (slowly). Then
I removed the delay.

Closes #1467
2012-06-14 12:18:35 -07:00
..
__init__.py Changes to Tahoe needed to work with new zetuptoolz (that does not use .exe wrappers on Windows), and to support Unicode arguments and stdout/stderr -- v5 2010-07-25 01:32:16 -07:00
bench_dirnode.py benchmarking: update bench_dirnode to be correct and use the shiniest new pyutil.benchutil features concerning what units you measure in 2010-07-18 21:49:48 -07:00
check_grid.py remove interpreter shbang lines from non-executables 2011-10-14 10:23:01 -07:00
check_load.py remove interpreter shbang lines from non-executables 2011-10-14 10:23:01 -07:00
check_memory.py test/check_memory.py: oops, fix one last ur.uri -> ur.get_uri() 2012-05-22 08:50:36 -07:00
check_speed.py remove interpreter shbang lines from non-executables 2011-10-14 10:23:01 -07:00
common_util.py test/common_util.py: correct fix to mkdir_nonascii. refs #1472 2011-08-09 22:19:06 -07:00
common_web.py test_web: improve ETag tests, add If-None-Match test 2012-05-13 00:45:11 -07:00
common.py test/common.py: fix race condition waiting for the helper connection 2012-06-14 12:18:35 -07:00
no_network.py immutable repairer: populate servers-responding properly 2012-05-16 16:55:09 -07:00
test_backupdb.py Simplifications resulting from requiring Python 2.5 and therefore being able to use sqlite3 from the standard library. This also drops sqlite3 from the set of versions and paths we report. 2012-05-16 02:47:25 +00:00
test_base62.py remove interpreter shbang lines from non-executables 2011-10-14 10:23:01 -07:00
test_checker.py CheckResults corrupt/incompatible shares now return IServers 2012-06-02 11:39:12 -07:00
test_cli.py switch UploadResults to use get_uri(), hide internal ._uri 2012-05-21 21:14:44 -07:00
test_client.py new introducer: signed extensible dictionary-based messages! refs #466 2012-03-13 18:24:32 -07:00
test_codec.py download: refactor handling of URI Extension Block and crypttext hash tree, simplify things 2008-12-05 08:17:54 -07:00
test_crawler.py Change relative imports to absolute 2010-02-26 01:14:33 -07:00
test_deepcheck.py CheckResults.get_servers_responding() now returns IServers 2012-06-02 11:39:12 -07:00
test_dirnode.py misc mutable-type fixes: 2011-10-13 09:32:29 -07:00
test_download.py switch UploadResults to use get_uri(), hide internal ._uri 2012-05-21 21:14:44 -07:00
test_drop_upload.py test_client.py, test_drop_upload.py: fix pyflakes warnings. 2011-08-09 20:45:05 -07:00
test_encode.py switch UploadResults to use get_uri(), hide internal ._uri 2012-05-21 21:14:44 -07:00
test_encodingutil.py Make platform-detection code tolerate linux-3.0, patch by zooko. 2011-09-15 13:26:20 -07:00
test_filenode.py immutable/literal.py: Implement interface changes in literal nodes. 2011-08-01 19:08:14 -07:00
test_ftp.py test_ftp.py: fix a couple of unused imports. refs #1668 2012-03-31 02:17:25 +00:00
test_hashtree.py hush pyflakes-0.4.0 warnings: remove trivial unused variables. For #900. 2010-01-14 14:15:29 -08:00
test_helper.py UploadResults: store IServers internally, but still return serverids 2012-05-21 21:18:25 -07:00
test_hung_server.py switch UploadResults to use get_uri(), hide internal ._uri 2012-05-21 21:14:44 -07:00
test_immutable.py switch UploadResults to use get_uri(), hide internal ._uri 2012-05-21 21:14:44 -07:00
test_import.py Rename test_package_initialization.py to (much shorter) test_import.py . 2011-06-11 12:02:34 -07:00
test_introducer.py introducer: add sequence-numbers to announcements, ignore replays 2012-06-10 19:10:22 -07:00
test_iputil.py tests: bump up the timeout on this iputil test from 2s to 4s 2010-06-09 07:30:17 -07:00
test_keygen.py Replace the hard-coded 522-bit RSA key size used for tests with a TEST_RSA_KEY_SIZE constant defined in test/common.py (part 2). refs #393 2011-08-10 13:23:10 -07:00
test_mutable.py CheckResults: use fat init, add type-checking assertions 2012-06-02 11:39:10 -07:00
test_netstring.py directories: keep track of your position as you decode netstring after netstring from an input buffer instead of copying the trailing part 2009-07-04 19:51:09 -07:00
test_no_network.py switch UploadResults to use get_uri(), hide internal ._uri 2012-05-21 21:14:44 -07:00
test_node.py node.py: add get_private_config() 2012-06-10 17:46:38 -07:00
test_observer.py hush pyflakes-0.4.0 warnings: slightly less-trivial fixes. Closes #900. 2010-01-14 14:17:19 -08:00
test_repairer.py CheckResults.get_servers_responding() now returns IServers 2012-06-02 11:39:12 -07:00
test_runner.py write node.url and portnum files atomically, to fix race in test_runner 2012-05-14 15:03:14 -07:00
test_sftp.py SFTP: add a comment about a subtle interaction between OverwriteableFileConsumer and GeneralSFTPFile, and test the case it is commenting on. 2011-09-03 15:23:04 -07:00
test_stats.py Change relative imports to absolute 2010-02-26 01:14:33 -07:00
test_storage.py Add nickname/nodeid to storage-status web page. Closes #1204. 2012-03-12 19:57:36 -07:00
test_system.py test_system.py: wait for the Helper connection properly before uploading 2012-06-11 23:19:30 -07:00
test_upload.py CheckResults: replace get_data() with as_dict(), use getters in web status 2012-06-02 11:39:10 -07:00
test_uri.py MDMF: remove extension fields from caps, tolerate arbitrary ones. Fixes #1526 2011-10-02 00:35:53 +01:00
test_util.py Since we now require Python 2.5, we can use os.SEEK_END. 2012-05-16 21:39:48 +00:00
test_version.py Simplifications resulting from requiring Python 2.5 and therefore being able to use sqlite3 from the standard library. This also drops sqlite3 from the set of versions and paths we report. 2012-05-16 02:47:25 +00:00
test_web.py Display serverids consistently as 8-char pubkey, or 6-char tubid. 2012-06-12 14:30:34 -07:00
trial_coverage.py code coverage: replace figleaf with coverage.py, should work on py2.6 now. 2010-02-03 08:54:21 -08:00
trialtest.py docs/frontends/CLI.rst, src/allmydata/test/trialtest.py: add trailing newlines. refs #1296 2011-01-19 00:19:55 -08:00