Mocha is the mocking and stubbing framework that's been used by Puppet for many years now in its test suite (
https://mocha.jamesmead.org/). For a while now, it has also been the source of a number of annoyances. There have been multiple issues around the mocks/stubs living beyond the lifetime of a single test, as well as general usability quirks that we've had to work around. For a while now we've wanted to replace mocha with something that does not exhibit as many lifetime issues, and generally fits more cleanly into the rspec ecosystem.
With the rapidly approaching finalization of several
releases of puppet-agent, we're planning on landing the mocha removal
in all active branches of the puppet repository (5.5.x, 6.0.x, and
master) relatively shortly after we're certain that nothing else will
need to land for any of the releases. As things stand right now, it's
looking like we will land the changes early next week. We will adjust as
needed to make sure things land after current set of releases that are
underway, and to make sure we land the changes early in the week so that
people are around to handle any issues that might come up.
Once the
changes are in, any existing open PR will need to be updated to use
rspec-mocks if it's using any of the mocha style mocking/stubbing
(rspec-mocks docs can be found at
https://relishapp.com/rspec/rspec-mocks/v/3-8/docs ). If you have an
open Puppet PR using mocha's mocking & stubbing, and would like a
hand updating it to rspec-mocks, feel free to ping @puppetlabs/team-coremunity in your PR, and we'll be happy to help.