Releases: asikros/make-bowerbird-test
Releases · asikros/make-bowerbird-test
Release list
0.3.0
[0.3.0] - 2026-01-12
Added
- Line continuation support in mock shell for recipes with backslash line breaks
- Cross-platform normalization of line continuations (handles differences between macOS and Ubuntu)
Changed
- Mock shell implementation now uses file-based approach instead of inline shell script
- Mock shell script files are created via Make pattern rule with atomic writes for parallel safety
- Consolidated mock shell script generation into single
printfstatement for clarity
Fixed
- Mock shell now correctly handles line continuations by normalizing backslash-space sequences
- Cross-platform compatibility between macOS and Ubuntu for mock shell execution
- Mock shell script files are created atomically to prevent race conditions in parallel test execution
- Proper quote escaping in generated bash scripts for the mock shell
0.2.0: Merge pull request #10 from asikros/feature/documentation-review
[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-testmacro for creating mock shell testsbowerbird::test::compare-file-content-from-varmacro for comparing file contents
against Make variable values in eval contextsbowerbird::test::find-test-filesmacro with multiple paths and patterns supportbowerbird::test::find-test-targetsmacro with pattern parameter supportbowerbird::test::find-cached-test-results-failedmacro for finding failed tests- Command-line flags for test execution control:
--bowerbird-fail-fastto stop on first failure--bowerbird-fail-firstto run previously failed tests first--bowerbird-suppress-warningsto 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::suitemacro - Configuration fingerprint to prevent suite redefinition with different settings
Changed
- BREAKING: Replaced
bowerbird::test::pattern-test-filesand
bowerbird::test::pattern-test-targetsmacros with configuration variables:bowerbird-test.config.file-patterns(default:test*.mk)bowerbird-test.config.target-patterns(default:test*)
- BREAKING: Renamed constants from
BOWERBIRD_COMMAandBOWERBIRD_NEWLINEto
bowerbird::test::COMMAandbowerbird::test::NEWLINEusing define blocks - Converted
bowerbird-test.config.fail-exit-codeto constant
bowerbird-test.constant.fail-exit-codewith value1 - Renamed config variables to option variables for command-line override support:
bowerbird-test.option.fail-fastbowerbird-test.option.fail-firstbowerbird-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.mkinto 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.mkfor better readability - Documentation moved to separate
make-bowerbird-docsrepository - Simplified docstring format (removed
<arg>angle brackets) - Alphabetized macros in source files for better organization
- Suite macro now uses
bowerbird::test::find-test-filesand
bowerbird::test::find-test-targetsmacros (reduced duplication) - Sorted all configuration, option, and constant definitions alphabetically
- Prefer file blanking (
: >) over removal (rm -f) for files being recreated - Use single
printfcommand instead of multipleechocommands 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-resultsusingbasename(notdir)for nested
directories - Removed silent skips when suite variables already defined (ensures predictable
behavior) - Removed unnecessary
mkdircommands 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
0.1.0
[0.1.0] - 2024-06-06
Added
- Test runner now enables undefined an variable warning and fails when an undefined
variable is encountered. - Created macros for comparing strings, sets/lists, files.
- Added tests for checking the printed output from the test runner.
- Added documentation to teh source macros.
Changed
- Separated the test-runner source files from the comparison macos.
Fixed
- Removed an unused reference to the obsolete NEWLINE macro.
- Removed unnecessary comments and newlines from the test files.
Full Changelog: https://github.com/ic-designer/make-bowerbird-test/commits/0.1.0