From 2b04108f9352d994caa0aab6af20769c2d10d9dc Mon Sep 17 00:00:00 2001 From: Jason Walker <913443@dadeschools.net> Date: Tue, 7 Jul 2026 00:19:43 -0400 Subject: [PATCH] test: make sibling-worktree skip test hermetic (closes #283) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit test_skip_scan_walk_root_skips_sibling_worktrees_only derived its fixture paths from __file__, so the branches/ sibling-worktree skip assertion only held when the suite ran from a branches/ worktree whose orchestration checkout has a real branches/ directory — skip_python_scan_walk_root skips a branches/ walk root only when /branches exists on disk. From the main checkout or any plain clone the test failed with 'AssertionError: False is not true'. Build the
/branches/ layout in a TemporaryDirectory and assert against those paths instead. All four behavioural assertions are preserved and no production code changes. Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/test_role_session_router.py | 43 ++++++++++++++++++------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/tests/test_role_session_router.py b/tests/test_role_session_router.py index 25b21c1..6204b6d 100644 --- a/tests/test_role_session_router.py +++ b/tests/test_role_session_router.py @@ -206,28 +206,35 @@ class TestRoleSessionRouter(unittest.TestCase): class TestCheckMidMerge(unittest.TestCase): def test_skip_scan_walk_root_skips_sibling_worktrees_only(self): - worktree_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - main_root = os.path.dirname(os.path.dirname(worktree_root)) - self.assertFalse( - role_session_router.skip_python_scan_walk_root( - main_root, main_root + # Hermetic
/branches/ layout (#283): deriving these + # paths from __file__ made the test pass only when the suite ran from + # a branches/ worktree, because skip_python_scan_walk_root skips a + # branches/ walk root only when /branches exists. + with tempfile.TemporaryDirectory() as tmp: + main_root = os.path.join(tmp, "main") + worktree_root = os.path.join(main_root, "branches", "fix-issue-1") + os.makedirs(os.path.join(worktree_root, "tests")) + + self.assertFalse( + role_session_router.skip_python_scan_walk_root( + main_root, main_root + ) ) - ) - self.assertTrue( - role_session_router.skip_python_scan_walk_root( - main_root, os.path.join(main_root, "branches", "fix-issue-1") + self.assertTrue( + role_session_router.skip_python_scan_walk_root( + main_root, os.path.join(main_root, "branches", "fix-issue-1") + ) ) - ) - self.assertFalse( - role_session_router.skip_python_scan_walk_root( - worktree_root, worktree_root + self.assertFalse( + role_session_router.skip_python_scan_walk_root( + worktree_root, worktree_root + ) ) - ) - self.assertFalse( - role_session_router.skip_python_scan_walk_root( - worktree_root, os.path.join(worktree_root, "tests") + self.assertFalse( + role_session_router.skip_python_scan_walk_root( + worktree_root, os.path.join(worktree_root, "tests") + ) ) - ) def test_decorative_equals_banner_is_not_mid_merge(self): self.assertFalse(role_session_router.check_mid_merge())