Ohai Chefs!
I am pleased to announce the addition of end to end testing infrastructure, built
using Test Kitchen, for chef client in the opscode/chef GitHub repository! We hope
that this will assist you in your development, as well as increase the reliability
of the client. Here's what you need to know:
1. Testing your contributions locally.
We've set up test kitchen so that you can test your contributions locally using
kitchen-vagrant. From the chef/kitchen-test directory, do a bundle install to
grab everything you'll need.
In the .kitchen.yml file, located in the same directory,
you can configure test kitchen to build chef from any GitHub repository containing
a copy of the chef client source code by modifying the following settings:
* github: set this to your username/reponame (default: opscode/chef)
* branch: can be any valid Git tag -- it just needs to be on GitHub itself, it can't
be on your local box only (default: your latest commit SHA / master if blank).
Once configured, do `bundle exec kitchen test` to execute the tests.
2. Travis tests which run automatically against chef client development branches.
Travis will automatically run the same tests using vagrant-ec2 when you submit a
pull request to opscode/chef. Unfortunately, that's mostly a lie since we use
secure environment variables to transfer secret information to Travis and these
aren't available to pull requests coming from forks. However, the tests will
be run once your pull request is merged into master. :)
** HEY ALSO!! ** We are looking for help to increase the coverage of these
tests across other platforms. You are encouraged to submit a PR to expand the
coverage of these tests to cover resources, providers, and platforms that are
important to you.
Happy testing!