Topics

Litmus

Davin Hanlon
 

Hi everyone,


The modules team at Puppet have been working on a new project called Litmus. It is a framework for acceptance testing Puppet modules. We are in the process of testing this out with our supported modules and MOTD is the first module that’s been converted - see the PR here.


Litmus provides:

  • An interactive workflow, allowing you to provision nodes, install the agent, install the module and run acceptance tests.

  • An extensible framework, allowing additional provisioners or test frameworks to be added.

As part of adopting Litmus we are performing more acceptance testing in Travis and Appveyor, reducing our dependence on internal pipelines. This will means that contributors will get more extensive feedback when they submit pull requests on modules that use Litmus for acceptance testing.

We encourage you to have a look at the Litmus wiki here. It has a guide for working with MOTD, and also guides on how to convert existing modules to use Limus for acceptance tests. We will be migrating Puppet supported modules to use Litmus over the coming weeks and months. This is the first iteration of Litmus, we plan to continue to add functionality over the coming months to solve more complex use cases and with the goal of being the default acceptance tool for Puppet modules.


If you have any questions or queries please raise issues on the GitHub repo and we’ll do our best to respond promptly.


Thanks.