Skip to content

v0.9.2

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Nov 13:31
· 3 commits to main since this release
7bc8e22

For consumers

A suite that passes under Invoke-Pester now passes PSMutant's baseline too. The baseline used to
call Pester from inside PSMutant, and Pester runs a suite in the session state of whoever calls it.
So Mock Write-Host -ModuleName $null captured nothing, and a mock's parameter filter that read a
parameter its call did not bind, such as $ConfigFile, found Invoke-PSMutation's own. Both made a
green suite fail the baseline and refuse the run. The baseline now runs in a runspace of its own,
which costs about 0.4 seconds per run. A suite that passes the baseline but fails where the mutants
run is still refused, and the refusal now says what can differ between the two instead of blaming
the calling session.

A test file that requires a version of Pester is run, not scored as a kill. Mutants were run
against Pester imported by its .psm1, which reports version 0.0, so a file opening with
#Requires -Modules @{ ModuleName = 'Pester'; ModuleVersion = '5.0.0' } failed to load. Before 0.7.0
each such mutant was scored Killed with no test named; since then the run refused, blaming the
suite. PSMutant now imports Pester by its manifest. If an older report shows kills with no killer
named, run it again: some of those mutants may survive.

What's Changed

  • docs: comments state the invariant; history moves out by @TaekeK in #320
  • ci: bump github/codeql-action/upload-sarif from 4.39.1 to 4.39.3 by @dependabot[bot] in #321
  • fix: run the baseline in a runspace of its own, and hand Pester over by its manifest (#322) by @TaekeK in #324

Full Changelog: v0.9.1...v0.9.2