Commit Graph

36 Commits

Author SHA1 Message Date
Jeff Hodges 7f083ba4da correct unit test skip conditional 2015-07-16 09:43:11 -07:00
Jeff Hodges 24217f1cba run tests in CI with the race detector on
The race detector has found at least one race in our current code. See
issue #465. Turn it on for the unit and integration tests running in
TravisCI.

Also, allow the local user to add new test flags with the `GOTESTFLAGS`
environment variable.

To ease speed of debugging issues, the ability to skip the unit or
integration tests is also provided.
2015-07-16 09:43:11 -07:00
Jakub Warmuz 47e636d6ee
Merge remote-tracking branch 'github/letsencrypt/master' into le-pkgs_sep_prep
Conflicts:
	test.sh
2015-07-14 22:16:04 +00:00
Jeff Hodges c110468366 harden test.sh and amqp-integration-test.py
amqp-integration-test.py gains a way to print out what processes
failed to start.

test.sh gains:

  * the ability to continue the build correctly if
LETSENCRYPT_PATH was provided but does not exist on disk.
  * an explanatory exit message if the LETSENCRYPT_PATH does
exist, but there is not finished build in it.
  * a working detection for a python 2.7 binary on OS X
2015-07-13 17:02:25 -07:00
Jakub Warmuz 247d18a390
Fix hyphens in letsencrypt install command.
Corresponds to https://github.com/letsencrypt/letsencrypt/pull/600.
2015-07-11 05:39:18 +00:00
James 'J.C.' Jones cdc59892df Merge pull request #452 from jmhodges/add_url
add TravisCI url to fancy github statuses
2015-07-10 18:18:27 -07:00
Jakub Warmuz 95503a058d
Update installation command for letsencrypt client.
Corresponds to https://github.com/letsencrypt/letsencrypt/pull/598
2015-07-10 22:25:29 +00:00
Jeff Hodges dee57814cf add TravisCI url to fancy github statuses
This will create the little "Details" links on status update that links
to the build failure.
2015-07-10 14:13:10 -07:00
Jeff Hodges efbc518cbc do not update PR if coming from non-maintainer
The github-secret.json file can't be decrypted if the PR is coming from
someone who is not a maintainer on boulder. So, just use the boring old
status updates from TravisCI and let the tests continue to run.
2015-07-09 19:01:11 -07:00
J.C. Jones d181d988f4 Updates per review comments 2015-07-08 10:51:42 -07:00
J.C. Jones 2a649b4ab1 Rework per @rolandshoemaker & regenerated secret 2015-07-02 08:56:55 -07:00
J.C. Jones dcde7936ec Switch to golang-implementation of `github-pr-status`. 2015-07-01 16:55:23 -07:00
J.C. Jones 3f80b9a7f6 Use the new npm 0.4.0 owner form 2015-07-01 16:27:21 -07:00
J.C. Jones 7f207ff5c9 Only comment if exit status is non-0 2015-06-30 16:24:38 -07:00
J.C. Jones 4d3731ba73 Issue #419 - Provide more details from Travis on PRs.
This uses a node.js module to post `status` updates to Github, and uses a Travis
secret to authenticate.

- Post comments from static analysis tools
- Change to posting from LetsEncryptBot
- For integration testing, only fail if the compile fails, or
  the NodeJS-client fails. Log if the Python client fails.
2015-06-30 15:32:50 -07:00
Jakub Warmuz f8b3750c02
Run letsencrypt/tests/boulder-integration.sh from integration tests. 2015-06-26 06:32:10 +00:00
Jacob Hoffman-Andrews d65a4611aa Exit if git clone or pip install fail. 2015-06-19 15:22:42 -07:00
Jacob Hoffman-Andrews ee4626aa0d Integration test runs without root. 2015-06-19 14:12:23 -07:00
William Budington 76d76d33cd Adding integration tests.
Travis:
  * Downloads the Let's Encrypt client
  * Installs system requirements for client
  * Sets up virtualenv

Dockerfile:
  * Buildout for development
  * Includes numerous pacakges needed for integration testing
    (including all of the above in Travis)

test.sh:
  * If no path is defined for the LE client
    * Download the Let's Encrypt client
    * Set up virtualenv

test/amqp-integration-test.py:
  * Run client test with sensible defaults
  * One test: auth for foo.com
2015-06-19 12:18:23 -07:00
Jacob Hoffman-Andrews 625eab5ad3 Move boulder to using local signer.
This allows us to use the same PKCS#11 key for both cert signing and OCSP
signing, and simplifies config and startup.

This also starts building with -tags pkcs11 in all scripts, which is required
now that the CA can choose between pkcs11 and non-pkcs11.

In order to successfully issue using a pkcs11 key, you'll need to run a version
of Go built off the master branch. The released versions are missing this
commit:
fe40cdd756,
which is necessary for PKCS#11 signing.
2015-06-05 08:13:39 -07:00
Roland Shoemaker af3abc97f6 add amqp-integration-test.py and use it in test.sh, also tell travis to give us RabbitMQ 2015-06-02 12:02:05 -07:00
J.C. Jones 1fd691564d Fix broken test, only run integration tests if unit tests pass. 2015-05-28 08:35:13 -07:00
Jacob Hoffman-Andrews fc71c2540d Replace integration test with python version.
This allows better shutdown behavior.
2015-05-26 14:11:54 -07:00
Jacob Hoffman-Andrews dc02fedc51 Don't auto-run integration test. 2015-05-22 10:30:26 -07:00
Jacob Hoffman-Andrews c1f3791b27 Fix some issues brought up by integration test 2015-05-21 17:25:56 -07:00
Jacob Hoffman-Andrews 153234204d Add an integration test using test.js
Include updates to test.js to make its output more useful as a diagnostic.

It remains a future TODO to do integration testing with the real letsencrypt
client.

Also, work around a go vet bug.
2015-05-21 16:51:40 -07:00
J.C. Jones 39a61774e7 Enforce `go fmt` is clean in the test run.
Adds a routine to test.sh to ensure committers have run `go fmt` before submission.
2015-05-18 18:42:04 -07:00
J.C. Jones ed32332204 First pass at build speedups. Feel free to use `make -j9` on your desktops! 2015-05-14 11:37:23 -07:00
Jacob Hoffman-Andrews 3eed9e3f7c Move to Square's go-jose library. 2015-05-13 17:36:38 -07:00
J.C. Jones 15808a9a6f Speed up test runs by pre-compiling sqlite3. Kudos to @jmhodges for the tip! 2015-05-01 15:02:10 -07:00
Jacob Hoffman-Andrews 9121719a49 Ignore goveralls submission failures. 2015-04-27 15:54:23 -07:00
J.C. Jones 9404753bb9 Don't print errors if realpath isn't defined. r=@jsha 2015-04-08 13:24:25 -07:00
Jacob Hoffman-Andrews d0d3994b86 Fix test.sh for running on boulder. 2015-03-26 16:35:42 -07:00
Jacob Hoffman-Andrews 9a628b7b16 Allow running test.sh from a symlinked dir. 2015-03-25 18:56:10 -07:00
J.C. Jones ccaac03eb3 Dockerfile update & don't bail out of tests early
- Also added "policy" to the test list. It got forgotten.
2015-03-25 17:11:16 -07:00
Jacob Hoffman-Andrews ddc0d7dcf5 Vendorize all dependencies with `nut`.
Nut, https://github.com/jingweno/nut, is a tool to manage Go dependencies and
versioning by vendorizing them, i.e. including them in your own repo.

This makes version management easier, as well as authenticating the contents of
this repository.

Also inthis change: Factor out the testing commands from .travis.yml to make it
easier to run them by hand. Add Vim swap files to .gitignore.
2015-03-25 15:11:40 -07:00