Announcing end to end test infrastructure for chef client development!


#1

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.

  1. 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. :slight_smile:

You can read more about this on GitHub:
https://github.com/opscode/chef/tree/master/kitchen-tests.

** 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!