test: make sibling-worktree skip test hermetic (closes #283) #288

Merged
sysadmin merged 2 commits from fix/issue-283-hermetic-walk-root-test into master 2026-07-07 02:08:39 -05:00
+25 -18
View File
@@ -206,28 +206,35 @@ class TestRoleSessionRouter(unittest.TestCase):
class TestCheckMidMerge(unittest.TestCase): class TestCheckMidMerge(unittest.TestCase):
def test_skip_scan_walk_root_skips_sibling_worktrees_only(self): def test_skip_scan_walk_root_skips_sibling_worktrees_only(self):
worktree_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Hermetic <main>/branches/<worktree> layout (#283): deriving these
main_root = os.path.dirname(os.path.dirname(worktree_root)) # paths from __file__ made the test pass only when the suite ran from
self.assertFalse( # a branches/ worktree, because skip_python_scan_walk_root skips a
role_session_router.skip_python_scan_walk_root( # branches/ walk root only when <project_root>/branches exists.
main_root, main_root 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(
self.assertTrue( role_session_router.skip_python_scan_walk_root(
role_session_router.skip_python_scan_walk_root( main_root, os.path.join(main_root, "branches", "fix-issue-1")
main_root, os.path.join(main_root, "branches", "fix-issue-1") )
) )
) self.assertFalse(
self.assertFalse( role_session_router.skip_python_scan_walk_root(
role_session_router.skip_python_scan_walk_root( worktree_root, worktree_root
worktree_root, worktree_root )
) )
) self.assertFalse(
self.assertFalse( role_session_router.skip_python_scan_walk_root(
role_session_router.skip_python_scan_walk_root( worktree_root, os.path.join(worktree_root, "tests")
worktree_root, os.path.join(worktree_root, "tests") )
) )
)
def test_decorative_equals_banner_is_not_mid_merge(self): def test_decorative_equals_banner_is_not_mid_merge(self):
self.assertFalse(role_session_router.check_mid_merge()) self.assertFalse(role_session_router.check_mid_merge())