Commit Graph

6881 Commits (3c58a0ce60b7577d3b4506e0c0cd23421a032072)

Author SHA1 Message Date
jMyles 3c58a0ce60 Moving seednode loading logic inward. 2020-06-23 02:32:01 -07:00
jMyles 4ca6688a8d Moving hardcoded seednodes to middleware. 2020-06-23 02:30:02 -07:00
jMyles 61b87f93bf Getting --lonely through each Character where it's used. 2020-06-23 02:27:24 -07:00
jMyles 65607953dc All sorts of out-comments to get the lonely thing kickin'. 2020-06-23 02:20:18 -07:00
jMyles b491a613a1 Allow other Characters to be --lonely. 2020-06-22 21:19:20 -07:00
jMyles a9c1763e1b Exception tuple needs to be unpacked here; TypeError otherwise. 2020-06-22 21:09:04 -07:00
jMyles 263aa1fab5 The first node in the fixture might not always be among the matching nodes. 2020-06-22 20:31:34 -07:00
jMyles fd086458eb Matching node floor is now 7; this will have no impact in production, but makes the tests pass. 2020-06-22 20:31:34 -07:00
jMyles b3ac5a6e3e If the port is too high, try again. Attempting to deal with #1546. 2020-06-22 20:31:34 -07:00
jMyles 1b5917d728 Clarifying failure message; this makes it easier to understand why this test occasionally fails. 2020-06-22 20:31:34 -07:00
jMyles 8697a22047 No need to catch this exception anymore; let it raise. 2020-06-22 20:31:34 -07:00
jMyles d4ec70115e It's also now possible for checksum_address to be NO_BLOCKCHAIN_CONNECTION at this point. 2020-06-22 20:31:34 -07:00
jMyles 2065262a02 Setting checksum_address to staker address, and looking up TransactingPower in the usual (albeit private) way. 2020-06-22 20:31:34 -07:00
jMyles 9d8af87680 Adding acumen to TOC so that the apidoc builder finds it. 2020-06-22 20:31:34 -07:00
jMyles 97de268bd3 Merging the revised tests with the shim commit 31f001f2e. 2020-06-22 20:31:33 -07:00
jMyles 1170c27b63 The connectivity problem will now manfiest itself as NotEnoughNodes, as Bob won't have learned in time to try to get the map. 2020-06-22 18:30:21 -07:00
jMyles d3c6d121d4 No need to reset checksum_address in Worker - let's try to set it in as few places as possible. #1547. 2020-06-22 18:30:21 -07:00
jMyles 365464adc7 Toward a more coherent depiction of 1547, and how NO_BLOCKCHAIN_CONNECTION can be understood when init'ing a Character. 2020-06-22 18:30:21 -07:00
jMyles 62b7ccd9bb Fixing locations and formats. 2020-06-22 18:30:21 -07:00
jMyles 8e7d83134e Instead of the first Ursula, choose the first Ursula who is supposed to have the map. 2020-06-22 18:30:21 -07:00
jMyles 48362fe586 Snaking mutex through a few tests; helpful for debugging. 2020-06-22 18:30:21 -07:00
jMyles f84c8ab269 Map comparisons are better done just by public_id than the full bytes, since it's possible to compare maps in various states of secrecy. 2020-06-22 18:30:21 -07:00
jMyles acd7e41452 Fire off a learning task at the beginning of one of the blocking methods. This substantially increases the chance that the method won't need to block for multiple iterations (causes a 4.5s speedup on two tests on my laptop). 2020-06-22 18:30:21 -07:00
jMyles b0bd5165c3 Using 'no_less_than' kwarg. 2020-06-22 18:30:21 -07:00
jMyles be372ec0b6 Alice's threadpool stops when the reactor stops. 2020-06-22 18:30:21 -07:00
jMyles 88b53fff15 Relative import as the start of the question to keep this compatible as a package. 2020-06-22 18:30:20 -07:00
jMyles d4807654b1 Changing references to acumen materials. 2020-06-22 18:30:20 -07:00
jMyles 09e03d156e Stop Alice's publication threadpool at the end of fixtures; otherwise tests hang. 2020-06-22 18:30:20 -07:00
jMyles 9374947d61 Comment out this block for a moment; Character tests pass in this config. 2020-06-22 18:30:20 -07:00
jMyles 701070cb38 Refactor and reorg. 2020-06-22 18:30:20 -07:00
jMyles 41049d00a2 Don't try to find matching nodes until we've blocked long enough to even have that many. 2020-06-22 18:30:20 -07:00
jMyles b680cf2968 Introducing acumen, a package for logic relating to what Characters and nodes know (and can know) about each other. 2020-06-22 18:30:20 -07:00
jMyles 9045c3d7c1 Refining both test and threadpooling. Looking pretty good now. 2020-06-22 18:30:20 -07:00
jMyles a36c82cfed Honing in on the most important concurrent test assertions. This passes, but we can do even better. 2020-06-22 18:30:20 -07:00
jMyles 3b309baccd Cleaning up here results in faster test run exit. 2020-06-22 18:30:20 -07:00
jMyles 35b30d5af6 Putting the fake latency on either side of the endpoint gives slightly more realistic conditions. 2020-06-22 18:30:20 -07:00
jMyles d2686ce84e Using the threadpool and the custom mutex - substantially faster test run. 2020-06-22 18:30:20 -07:00
jMyles b22e6cc7b6 A threadpool for alice to use for policy publication network requests. 2020-06-22 18:30:20 -07:00
jMyles ea78f4f81f Another place with wasteful address calculation. 2020-06-22 18:30:20 -07:00
jMyles f21bc0cb72 This zany test actually passes - now to get that 30 second limit down. 2020-06-22 18:30:20 -07:00
jMyles 96c8a7d197 A way for Alice to move on after the TreasureMap is 10% published and let the rest happen in the background. 2020-06-22 18:30:20 -07:00
jMyles d301da3dae It's slow, but it's a start. This test passes in about 9 seconds right now; subsequent commits will tune it. 2020-06-22 18:30:20 -07:00
jMyles 4488b59683 Getting a little crazy - first swing at concurrent Alice-=>Ursula connection. 2020-06-22 18:30:20 -07:00
jMyles cc00294ee7 Adding a 'last chance' escape hatch for blocking node learning, so that, if the timeout is reached, we check one last time to see if we've learned about the necessary number of nodes. 2020-06-22 18:30:20 -07:00
jMyles fb523765b8 Test using the sluggish middleware; this is the one that will require the concurrency from the last commit. 2020-06-22 18:30:20 -07:00
jMyles 5cd3e61b35 What happens if we add a little slowness like network latency? (And here's where we'll have to add concurrency). 2020-06-22 18:30:20 -07:00
jMyles 414f48c922 Further down the optimization adventuref for NodeSprout. 2020-06-22 18:30:20 -07:00
jMyles 568541dde8 Decentralized Alice controller test needs, you guessed it, DecentralizedTreasureMap. 2020-06-22 18:30:20 -07:00
jMyles 2a8989aede Updated kwarg name. 2020-06-22 18:30:20 -07:00
jMyles f3b159d8e4 Separating publishing kwargs: one for blockchain, one for TreasureMap (because you might only want to do the former and not the latter in the decentralized scenario, or not do either one in a federated scenario. 2020-06-22 18:30:20 -07:00