Skip to content

✨ Add test-suite, add test workflow - #25

Merged
DanielRuthardt merged 18 commits into
mainfrom
feature/test-suite
Nov 13, 2025
Merged

DanielRuthardt merged 18 commits into
mainfrom
feature/test-suite

Conversation

@DanielRuthardt

Copy link
Copy Markdown

📑 What

Add test-suite.
Add test workflow.
Add test workflow to package workflow to not publish packages with failed tests.

❓ Why

⚡ How to Review

✅ Testing

  • I have tested my work
  • I need you to test it too

Daniel Ruthardt added 5 commits November 13, 2025 15:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a comprehensive testing framework for Bash+ with container-based test isolation, assertion utilities, and CI/CD integration. The framework follows convention-based test discovery and provides visual feedback for test results.

  • Implements a complete test suite with 9 assertion functions and test utilities
  • Adds GitHub Actions workflow for automated testing with Docker container isolation
  • Integrates test validation into the package publishing workflow to prevent releasing packages with failing tests

Reviewed Changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
bashpt Test runner CLI that discovers and executes tests in Docker containers or locally
libs/core/test/assert_success Assertion to verify commands exit with status 0
libs/core/test/assert_failure Assertion to verify commands exit with non-zero status
libs/core/test/assert_equals Assertion to compare two values for equality
libs/core/test/assert_exit_code Assertion to verify specific exit codes
libs/core/test/assert_output Assertion to verify command stdout output
libs/core/test/assert_contains Assertion to check if a string contains a substring
libs/core/test/assert_not_contains Assertion to check if a string doesn't contain a substring
libs/core/test/assert_command_exists Assertion to verify command availability in PATH
libs/core/test/assert_eventually Assertion for async operations with timeout and retry logic
libs/core/test/prep_step Utility for test setup/teardown steps with distinct visual feedback
libs/user/tests/get_home/test Example test demonstrating the testing framework usage
docs/TESTING.md Comprehensive testing documentation covering framework usage and best practices
README.md Updates to highlight the new testing framework feature
.github/workflows/test.yaml CI workflow to automatically test all functions with test coverage
.github/workflows/package.yaml Modified to run tests before publishing packages and skip packages with test failures

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/test.yaml Outdated
Comment thread .github/workflows/test.yaml Outdated
Comment thread libs/core/test/prep_step Outdated
Comment thread libs/core/test/prep_step Outdated
Comment thread docs/TESTING.md Outdated
Comment thread bashpt
Comment thread .github/workflows/test.yaml
Comment thread libs/core/test/assert_failure Outdated
Comment thread libs/core/test/prep_step
Comment thread .github/workflows/package.yaml Outdated
Daniel Ruthardt and others added 6 commits November 13, 2025 20:33
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread libs/core/test/assert_eventually Outdated
Comment thread docs/TESTING.md
Comment thread .github/workflows/test.yaml Outdated
Comment thread .github/workflows/package.yaml Outdated
Daniel Ruthardt and others added 4 commits November 13, 2025 20:53
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 12 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/test.yaml Outdated
Comment thread libs/user/tests/get_home/test
Comment thread libs/user/tests/get_home/test
Comment thread libs/core/test/assert_eventually
Comment thread bashpt
Comment thread .github/workflows/test.yaml
Comment thread .github/workflows/test.yaml Outdated
Comment thread .github/workflows/package.yaml
Comment thread libs/user/tests/get_home/test
Comment thread libs/user/tests/get_home/test
Daniel Ruthardt and others added 2 commits November 13, 2025 21:11
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@DanielRuthardt
DanielRuthardt merged commit 2f8a3ac into main Nov 13, 2025
8 checks passed
@DanielRuthardt
DanielRuthardt deleted the feature/test-suite branch November 13, 2025 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants