forked from cleveragents/cleveragents-core
31472b5413
Add Behave feature/step pairs that exercise uncovered branches across handlers, LSP, CLI, and service layers to reach the coverage gate. ISSUES CLOSED: #1232
32 lines
1.6 KiB
Gherkin
32 lines
1.6 KiB
Gherkin
Feature: CopyOnWriteSandbox coverage round 3
|
|
Covers remaining uncovered lines in copy_on_write.py:
|
|
- Lines 263-265: backup_directory failure during commit cleans up and re-raises
|
|
- Lines 297-302: safe_restore failure during commit error recovery logs warning
|
|
- Lines 430-432: cleanup removes pre_commit_backup when it exists
|
|
|
|
Scenario: Commit fails when backup_directory raises during pre-commit backup
|
|
Given a cowcov3 test directory is set up
|
|
And a cowcov3 sandbox is created and has changes
|
|
And cowcov3 backup_directory is patched to raise an OSError
|
|
When cowcov3 commit is attempted
|
|
Then cowcov3 a SandboxCommitError should be raised
|
|
And cowcov3 the temporary backup dir should have been cleaned up
|
|
|
|
Scenario: Commit error recovery logs warning when safe_restore fails
|
|
Given a cowcov3 test directory is set up
|
|
And a cowcov3 sandbox is created and has changes
|
|
And cowcov3 copy phase is patched to fail after backup succeeds
|
|
And cowcov3 safe_restore is patched to raise an OSError
|
|
When cowcov3 commit is attempted
|
|
Then cowcov3 a SandboxCommitError should be raised
|
|
And cowcov3 the safe_restore failure should have been logged as a warning
|
|
And cowcov3 the pre_commit_backup should be preserved for manual recovery
|
|
|
|
Scenario: Cleanup removes an existing pre_commit_backup directory
|
|
Given a cowcov3 test directory is set up
|
|
And a cowcov3 sandbox is created and has changes
|
|
And cowcov3 the sandbox has a pre_commit_backup directory
|
|
When cowcov3 cleanup is called
|
|
Then cowcov3 the pre_commit_backup directory should be removed
|
|
And cowcov3 the sandbox status should be CLEANED_UP
|