You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a minimal shared fixture module to be used by the integration-test sub-tasks of #17 (#98, #99, #100, #101, #102, #103).
Agreed design (2026-07-09)
Location and name:tests/fixtures/PSBuildTestFixture/. The name is deliberately distinct from the existing tests/TestModule/ — PowerShell session state is keyed by module name, so two modules both named TestModule would invite cross-contamination between test files.
Contents (inert data only — no build files, no requirements.psd1, no nested test suite):
PSBuildTestFixture.psd1 — valid manifest, version 0.1.0
PSBuildTestFixture.psm1 — dot-sources Public/ and Private/
tests/fixtures/FixtureHelpers.psm1 — Copy-PSBuildTestFixture helper that copies the fixture into $TestDrive; consuming tests always work on a copy, never the checked-in fixture
Scope boundaries:
The existing tests/TestModule/ is untouched — it keeps serving tests/build.tests.ps1 for end-to-end child-process builds. Consolidating the two fixtures, if ever desired, is a separate issue
Crash/failure test files (needed by Tests: Test-PSBuildPester #102) are not checked in — they get generated into $TestDrive at runtime so the repository's own Pester run can never discover them
Fixture content stays minimal; sub-tasks add material (for example Classes//Enum/ directories for compile-order tests) in the pull request that actually tests it
Ships with a smoke test (tests/Fixtures.tests.ps1): manifest validates, module imports from a $TestDrive copy, expected exports.
Target Pester 6.0.0 with classic Should syntax — see notes on #17. Parent issue: #17
Activity
test: Add PSBuildTestFixture shared fixture module
fix: Make the script analysis severity threshold fail the build (#143)