Commit graph

11 commits

Author SHA1 Message Date
Brad Warren
7c11158810 Retry failures to start boulder (#5176)
Occasionally a network error prevents Docker from starting boulder causing
Travis tests to fail like it did at
https://travis-ci.org/certbot/certbot/jobs/282923098. This works around the
problem by using travis_retry to try to start boulder again if it fails.

This also moves the logic of waiting for boulder to start into
tests/boulder-fetch.sh so people running integration tests locally can benefit.
2017-10-12 17:00:13 -07:00
Yen Chi Hsuan
51ae69698d Allow boulder-fetch.sh run with ip from iproute2 (#4620) 2017-05-05 08:49:54 -07:00
Yen Chi Hsuan
6fb78dab67 Fix Docker IP detection with different ifconfig output formats (#4376) 2017-03-29 13:34:09 -07:00
Jacob Hoffman-Andrews
94aa562cf2 Use latest Boulder for Travis tests. (#4180) 2017-02-14 21:19:18 -08:00
Brad Warren
dd1de2bc9e Fix travis 2016-08-10 11:49:55 -07:00
Jacob Hoffman-Andrews
0fb3704dce Use a real branch name. 2016-05-25 15:43:54 -07:00
Jacob Hoffman-Andrews
94588b1a91 Check out a specific version of Boulder.
A recent Boulder change broke integration tests, this fixes it.
2016-05-25 15:23:56 -07:00
Jacob Hoffman-Andrews
c01e2c259a Check out Boulder master instead of branch. 2016-05-24 15:38:03 -07:00
Jacob Hoffman-Andrews
2cfcfd6988 Run Boulder via docker-compose in tests.
This removes a lot of setup code we used to need in order to get Boulder to run,
and should reduce brittleness of tests based on Boulder changes.

This also unblocks Boulder from upgrading to MariaDB 10.1 in integration tests,
since changing to 10.1 syntax for user creation would break the current certbot
integration tests (which run 10.0).
2016-05-23 18:40:25 -07:00
Jacob Hoffman-Andrews
4072ff3e1a Run RabbitMQ setup during test setup.
This was recently introduced on the Boulder side.

Note: long-term we want to have the client tests run the same setup steps as
Boulder does, with the same script. This is a quick fix to unbreak the build.
2015-11-30 19:58:38 -08:00
Jeff Hodges
d3806a926c use boulder's integration-test.py
This prevents the integration tests from getting run before the boulder
processes have finished booting in most cases. There's still some small
races with debug ports going up before RPC ports, but this flushes the
big ones (specifically, the WFE ports), and the boulder devs going to
fix the rest in integration-test.py over time.

This also makes boulder-start.sh a blocking operation. Now the TravisCI
integration tests no longer requires boulder-start.sh, we can let the
other priority of being easier for users to control (that is, basically,
make it easy to Ctrl-C) take over. That plus the idea that
self-daemonizing code is tricky to get right, especially over multiple
platforms led me to not trying to get start.py to make itself
asynchronous.

Most of this change is code movement in order to allow developers to run
boulder-start.sh once and boulder-integration.sh many times while also
not duplicating that code in order to run the tests in TravisCI.

I'm not a huge fan of both the letsencrypt's shell scripts and boulder's
integration-test.py having hard-coded file dependencies in the other's
repo.

This, however, seemed like the smallest path to code that would
spuriously break less. All the designs I was able to come up that were
maybe smaller changes either had the "starts tests before the servers
are up" problem or with a "each repo uses another repo's test code file"
problem. Those problem on top of the "it's a bigger change" problem led
me here.
2015-11-13 12:39:29 -08:00