puppetlabs/puppet — pull request #2416 by peterhuene (2014-03-06 22:20:56+00:00)
Title: (maint) Add rake task for parallelizing specs.

Adding a 'parallel:spec' task that will group specs and then run those
groups in a parallel set of processes.

By default, parallel:spec will bunch the specs into groups of
approximately 1000 and concurrently run each group up to the number of
processors reported by facter.

The task takes two parameters: process_count and group_size.

Running with a process_count of 1 (parallel:spec[1]) will behave like
the existing 'spec' task, except it will still group the tests and
recycle the spec running process between groups. This has the added
benefit of limiting the spec running process' working set, at the cost
of being a little slower.