feat: add idempotent manual testing workflow#242
Conversation
Add testing infrastructure for repeatable end-to-end workflow testing: - testing/TESTING.md: Comprehensive guide for manual testing - testing/test-prd.json: Test PRD with 5 tasks and dependency graph - testing/setup-test-workspace.sh: Creates fresh git repo for testing - testing/reset-test.sh: Resets all state for re-running tests The test PRD exercises: - Parallel task execution (TEST-001, 002, 003 have no deps) - Dependency resolution (TEST-004 depends on 001 and 002) - Final aggregation (TEST-005 depends on 003 and 004) https://claude.ai/code/session_019Q1N2XskiaS1omXVN3Xrt2
Move test workspace to ~/.cache/ralph-tui/test-workspace to avoid: - Nested git repository issues - Accidental commits of test state - Confusion for contributors Changes: - setup-test-workspace.sh: Creates workspace in ~/.cache by default - reset-test.sh: Reads saved workspace path or uses default - TESTING.md: Updated documentation for external workspace - .gitignore: Track .test-workspace-path instead of test-workspace/ Contributors clone the repo and run setup to create their own isolated test environment. https://claude.ai/code/session_019Q1N2XskiaS1omXVN3Xrt2
Update all testing documentation and script outputs to use the --cwd parameter instead of requiring users to cd first. This is cleaner and more explicit about where ralph-tui will operate. https://claude.ai/code/session_019Q1N2XskiaS1omXVN3Xrt2
Assume user is in ralph-tui directory using dev builds. Removes redundant options and cd commands for cleaner docs. https://claude.ai/code/session_019Q1N2XskiaS1omXVN3Xrt2
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
WalkthroughAdds a manual end-to-end testing suite for Ralph‑TUI: documentation, an isolated test workspace setup script, an idempotent reset script, a JSON PRD-style test plan, and a .gitignore entry for storing the test workspace path. Changes
Sequence Diagram(s)mermaid Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@testing/reset-test.sh`:
- Around line 46-50: The fallback sed invocation (sed -i 's/"passes":
true/"passes": false/g' "$SCRIPT_DIR/test-prd.json") is not portable on macOS;
update the script to perform an in-place, cross-platform replace (e.g., use perl
-pi -e 's/"passes": true/"passes": false/g' "$SCRIPT_DIR/test-prd.json" or
detect Darwin and call sed -i '' on macOS) and keep the echo line (echo -e
"${GREEN} PRD reset (via sed): all tasks set to passes: false${NC}") unchanged;
alternatively add a short comment or error recommending jq be installed and used
for the preferred path.
In `@testing/TESTING.md`:
- Around line 32-35: Update the example command in TESTING.md to use the correct
relative path to the script by changing the invocation from
"./setup-test-workspace.sh /custom/path/to/workspace" to
"./testing/setup-test-workspace.sh /custom/path/to/workspace" so it matches the
actual script location and other docs; locate the example string in the file and
replace the path accordingly.
🧹 Nitpick comments (1)
testing/setup-test-workspace.sh (1)
14-19: Unused colour variable.The
REDvariable is defined but never used in this script. Consider removing it for cleanliness, or keep it for future error message additions.♻️ Optional: Remove unused variable
# Colors -RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m'
sed -i behaves differently on macOS (requires empty string argument). perl -pi -e is portable across both macOS and Linux. https://claude.ai/code/session_019Q1N2XskiaS1omXVN3Xrt2
Use ./testing/setup-test-workspace.sh to match other docs. https://claude.ai/code/session_019Q1N2XskiaS1omXVN3Xrt2
…flow-CT50f feat: add idempotent manual testing workflow
Add testing infrastructure for repeatable end-to-end workflow testing:
The test PRD exercises:
https://claude.ai/code/session_019Q1N2XskiaS1omXVN3Xrt2
Summary by CodeRabbit
Documentation
Chores
Minor
✏️ Tip: You can customize this high-level summary in your review settings.