Skip to content

Conversation

@yannrichet
Copy link
Member

Resolves PermissionError on Windows during temporary directory cleanup by restoring the original working directory before the TemporaryDirectory context manager exits.

On Windows, you cannot delete a directory that is the current working directory. The tests were calling os.chdir(tmpdir) and then attempting to clean up the directory when the context exited, causing:

  • PermissionError: [WinError 32] The process cannot access the file because it is being used by another process
  • PermissionError: [WinError 5] Access is denied

Solution: Wrap test logic in try/finally blocks that save and restore the original working directory, allowing Windows to successfully delete temporary directories during cleanup.

Fixes #40 (Windows CI failure in test_dict_flattening.py)

Resolves PermissionError on Windows during temporary directory cleanup
by restoring the original working directory before the TemporaryDirectory
context manager exits.

On Windows, you cannot delete a directory that is the current working
directory. The tests were calling os.chdir(tmpdir) and then attempting
to clean up the directory when the context exited, causing:
- PermissionError: [WinError 32] The process cannot access the file
  because it is being used by another process
- PermissionError: [WinError 5] Access is denied

Solution: Wrap test logic in try/finally blocks that save and restore
the original working directory, allowing Windows to successfully delete
temporary directories during cleanup.

Fixes #40 (Windows CI failure in test_dict_flattening.py)
yannrichet-asnr pushed a commit that referenced this pull request Nov 22, 2025
Apply test_dict_flattening.py from PR #46 which includes:
- Windows file deletion fix (try/finally blocks)
- Pandas availability check (try/except import)
- pytestmark to skip tests when pandas unavailable

This ensures compatibility with environments where pandas may not be installed
while maintaining the Windows file cleanup fix.
Resolved conflicts in tests/test_dict_flattening.py by:
- Removing PANDAS_AVAILABLE checks (pandas is now required)
- Keeping Windows file deletion fixes with os.getcwd()/os.chdir() pattern

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@yannrichet yannrichet merged commit 82b575a into implement-algorithms Nov 23, 2025
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.

3 participants