ralph-claude-code/tests
Frank Bria 3dc3479c27
feat(session): implement session expiration with configurable timeout (#84)
* Reapply "feat(session): implement session expiration with configurable timeout (#83)"

This reverts commit 1ba55a4b9c.

* fix(session): address code review feedback

- Fix integer overflow: return -1 from get_session_file_age_hours on stat
  failure instead of 0, preventing false expiration
- Handle stat failure in init_claude_session with WARN log
- Add comprehensive documentation for return values and expiration strategy
- Add 6 behavioral integration tests that verify actual functionality
- Add inline comments explaining 24-hour default rationale

Test count: 286 → 292 (100% pass rate)

* fix(test): use grep-based verification to fix CI failures

Tests that sourced ralph_loop.sh with --help flag failed in GitHub
Actions due to BATS environment differences. Changed behavioral tests
to grep-based code verification that checks implementation patterns
exist without executing the script.

* fix(test): guard main with BASH_SOURCE for safe sourcing

- Add BASH_SOURCE check to only execute main when script is run directly
- Update tests to source script without --help flag
- Convert grep-based verification tests back to functional tests
- Fixes CI failures caused by script execution during sourcing

---------

Co-authored-by: Test User <test@example.com>
2026-01-10 19:40:38 -07:00
..
helpers test(import): add 22 comprehensive tests for ralph_import.sh 2026-01-09 16:13:23 -07:00
integration feat(import): modernize ralph_import.sh with JSON output parsing 2026-01-10 11:12:13 -07:00
unit feat(session): implement session expiration with configurable timeout (#84) 2026-01-10 19:40:38 -07:00
test_error_detection.sh fix(circuit-breaker): address CodeRabbit review feedback 2025-12-31 13:34:21 -07:00
test_stuck_loop_detection.sh fix(circuit-breaker): fix multi-line error matching in detect_stuck_loop 2025-12-31 14:03:56 -07:00