Skip to content

Conversation

@pablogsal
Copy link
Member

@pablogsal pablogsal commented Dec 6, 2025

No description provided.

The shelve database was storing full Task objects which contain function
references. This caused pickling errors when tasks were defined as local
functions in tests. Storing just the description strings avoids the
serialization issue while preserving all resume functionality.

Also fixes the cd() context manager to use try/finally, ensuring the
working directory is restored even when exceptions occur.
The completed_tasks field now stores task description strings rather than
Task objects, so the Protocol type hints need to match. This keeps mypy
happy after the ReleaseDriver serialization change.
Tests cover SSH helpers, ReleaseState, ReleaseDriver, retry logic, and
server upload functions. Uses GIVEN/WHEN/THEN comments to structure test
phases. The tests focus on verifying behavior through mocked SSH/SFTP
operations since the actual servers aren't available in CI.
@pablogsal pablogsal changed the title Add tests and do a small cleanup Add tests and fix ReleaseDriver serialization Dec 6, 2025
@pablogsal pablogsal closed this Dec 6, 2025
@pablogsal
Copy link
Member Author

Damn, i need to update this branch with the new test suite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant