Feature #9519
Make the test suite more deterministic through network simulation
100%
Description
As a Tails contributor
When Jenkins tells me that I broke something
Then I want to be able to trust it
And I won't ignore such notifications
This would eliminate all or parts of the issues we have with false test failures due to transient network errors.
Subtasks
Feature #9520: Investigate the Shadow network simulator for use in our test suite | Rejected | 0 |
|||
Feature #9521: Use the chutney Tor network simulator in our test suite | Resolved | 100 |
Related issues
Related to Tails - |
Resolved | 2015-05-27 | |
Related to Tails - |
Resolved | 2017-02-03 | |
Related to Tails - |
Resolved | 2017-10-04 |
History
#1 Updated by anonym 2015-06-02 14:17:24
- related to
Bug #9478: How to deal with transient network errors in the test suite? added
#2 Updated by anonym 2015-06-02 14:35:15
Mostly copy-pasted from Bug #9478:
Some problems with this general approach is:
When only simulating the Tor network:
- We’d have to reconfigure the Tor client to use this fake network. All such reconfigurations are of course bad, since it makes the system under testing deviate from the real situation. However, since we already are using a different Tor network, we’ve deviated quite a lot already. This would be somewhat alleviated with @
release
tests using the real Internet + Tor network, that we only run for releases or something like that.
When simulating the Tor network and complete internet, we in addition have:
- We will have to reconfigure many parts of Tails and run servers for at least:
- the Tails security/upgrade check
- incremental upgrades
- Tor Browser home page (and other pages, since we sometimes need more than this one)
- APT repos
- whisperback
- OpenPGP keyserver
- (perhaps?) check.torproject.org
- Gobby server
- (soon) mail servers
- We probably cannot do anything for I2P.
#3 Updated by anonym 2015-06-03 16:47:17
For a part of the performance side of this, I just ran the full test suit (in branch test/wip-improved-snapshots
, which should just be a bit better than the situation in stable
) and discovered that out of the full 211 minutes it took to run the test suite, 50 minutes (so ~25%) was spent on waiting for Tor to bootstrap (either initially, or after restoring from a snapshot). This was even with some hacks to restart Tor if the bootstrap progress seemed to stall (see Feature #9516#note-1). With a simulated network, where bootstrapping is ~instant, most of this would be eliminated.
#5 Updated by anonym 2015-06-05 13:24:05
- Parent task deleted (
)Feature #8539
intrigeri wrote:
> Do we really want this to block Feature #8539 (as a subtask, it currently does)? If you feel that it will indeed prevent us from usefully run the test suite in a CI setup, fine with me. Just keep in mind that Feature #8539 is a deliverable with a fixed deadline :)
That was definitely a mistake. Removed!
#6 Updated by intrigeri 2015-09-27 08:56:58
- Description updated
#7 Updated by BitingBird 2016-06-26 10:43:57
- Status changed from Confirmed to In Progress
#8 Updated by intrigeri 2017-12-03 21:06:08
- related to
Bug #12211: Adapt GnuPG automated tests after switching to an Onion keyserver added
#9 Updated by intrigeri 2017-12-03 21:06:20
- related to
Bug #14770: "Fetching OpenPGP keys" scenarios are fragile: communication failure with keyserver added