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())