Releases
0.2.0
0.2.0: Merge pull request #10 from asikros/feature/documentation-review
Compare
Sorry, something went wrong.
No results found
[0.2.0] - 2026-01-11
Added
Mock shell testing framework (bowerbird-mock.mk) for testing Make recipes without
executing commands
bowerbird::test::add-mock-test macro for creating mock shell tests
bowerbird::test::compare-file-content-from-var macro for comparing file contents
against Make variable values in eval contexts
bowerbird::test::find-test-files macro with multiple paths and patterns support
bowerbird::test::find-test-targets macro with pattern parameter support
bowerbird::test::find-cached-test-results-failed macro for finding failed tests
Command-line flags for test execution control:
--bowerbird-fail-fast to stop on first failure
--bowerbird-fail-first to run previously failed tests first
--bowerbird-suppress-warnings to suppress discovery warnings
Comprehensive test coverage (230 tests total, up from 226)
Pattern-rule optimization for test suite generation (99.3% smaller generated files)
Support for multiple test file paths in bowerbird::test::suite macro
Configuration fingerprint to prevent suite redefinition with different settings
Changed
BREAKING : Replaced bowerbird::test::pattern-test-files and
bowerbird::test::pattern-test-targets macros with configuration variables:
bowerbird-test.config.file-patterns (default: test*.mk)
bowerbird-test.config.target-patterns (default: test*)
BREAKING : Renamed constants from BOWERBIRD_COMMA and BOWERBIRD_NEWLINE to
bowerbird::test::COMMA and bowerbird::test::NEWLINE using define blocks
Converted bowerbird-test.config.fail-exit-code to constant
bowerbird-test.constant.fail-exit-code with value 1
Renamed config variables to option variables for command-line override support:
bowerbird-test.option.fail-fast
bowerbird-test.option.fail-first
bowerbird-test.option.suppress-warnings
Test suite generation now uses single pattern rule instead of explicit targets per
test (33x faster generation, from ~15s to ~0.47s)
Split monolithic test-mock.mk into focused files:
test-mock-basic.mk (core functionality)
test-mock-output.mk (output capture and formatting)
test-mock-variables.mk (variable expansion and special characters)
Reorganized flag definitions in bowerbird-suite.mk for better readability
Documentation moved to separate make-bowerbird-docs repository
Simplified docstring format (removed <arg> angle brackets)
Alphabetized macros in source files for better organization
Suite macro now uses bowerbird::test::find-test-files and
bowerbird::test::find-test-targets macros (reduced duplication)
Sorted all configuration, option, and constant definitions alphabetically
Prefer file blanking (: >) over removal (rm -f) for files being recreated
Use single printf command instead of multiple echo commands for generation
Deprecated
Old pattern configuration macros removed (use config variables instead)
Fixed
Dollar sign escaping in mock test expected output ($$HOME → $HOME)
Escaping issues in pattern rule recipes for $(pgrep) commands
Path extraction in find-cached-test-results using basename(notdir) for nested
directories
Removed silent skips when suite variables already defined (ensures predictable
behavior)
Removed unnecessary mkdir commands from tests that don't create files
Fixed Make 3.81 compatibility issues with pattern rules and complex recipes
Error suppression in find commands with 2>/dev/null
Prevented duplicate test target generation when target-specific variables used
You can’t perform that action at this time.