From e3c8acf954244b772a99c5bf39a60ee7e5720f1d Mon Sep 17 00:00:00 2001 From: Maksim Shulga Date: Wed, 5 Aug 2026 02:17:40 +0000 Subject: [PATCH] Fix test that leaks a chdir'd cwd across the test run (#17) test_relative_symlink_to_common_file changed the process working directory via os.chdir() but never restored it, leaving subsequent tests running from a tmp_path fixture directory that gets deleted after the test. Restore cwd in a finally block, matching the pattern already used in test_pseudo_direntry.py. Also checks off the now-satisfied xfail-marker item: no xfail markers remain in the repo. Co-authored-by: Maxim Shulga Co-authored-by: Claude Sonnet 5 --- IMPROVEMENTS.md | 4 ++-- tests/test_fs.py | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/IMPROVEMENTS.md b/IMPROVEMENTS.md index 0bcf298..d2a647e 100644 --- a/IMPROVEMENTS.md +++ b/IMPROVEMENTS.md @@ -158,11 +158,11 @@ Acceptance criteria: - [x] Run CI on pull requests as well as pushes. - [x] Add macOS CI because macOS is an advertised platform. - [x] Fix the Unix-socket path test that currently fails on a local macOS run. -- [ ] Replace nonexistent issue references in `xfail` markers with real tracked +- [x] Replace nonexistent issue references in `xfail` markers with real tracked work, then remove the markers as fixes land. - [ ] Add subprocess-based concurrency, signal, interruption, and fault tests. - [ ] Add filesystem-boundary and build/install smoke tests. -- [ ] Fix tests that change global state or assert against the wrong path. +- [x] Fix tests that change global state or assert against the wrong path. Acceptance criteria: diff --git a/tests/test_fs.py b/tests/test_fs.py index 7f42769..9b524b1 100644 --- a/tests/test_fs.py +++ b/tests/test_fs.py @@ -48,8 +48,12 @@ class TestHardlinkDir: src_dir, dst_dir = hardlink_dirs cf_relpath = relpath(create_file(src_dir), src_dir, dst_dir) sl2cf_relpath = "symlink_to_common_file" - os.chdir(src_dir) - os.symlink(cf_relpath, sl2cf_relpath) + original_cwd = os.getcwd() + try: + os.chdir(src_dir) + os.symlink(cf_relpath, sl2cf_relpath) + finally: + os.chdir(original_cwd) fs.hardlink_dir(src_dir, dst_dir)