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:

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.

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.