from __future__ import annotations import os import subprocess import tempfile import unittest from pathlib import Path REPO_ROOT = Path(__file__).resolve().parents[1] class InstallScriptTests(unittest.TestCase): def test_install_bootstraps_pouch_skill_for_all_agents(self) -> None: with tempfile.TemporaryDirectory() as temp: home = Path(temp) (home / ".pouch").symlink_to(REPO_ROOT, target_is_directory=True) env = os.environ.copy() env["HOME"] = str(home) result = subprocess.run( ["bash", str(REPO_ROOT / "install.sh")], cwd=REPO_ROOT, env=env, text=True, capture_output=True, check=False, ) self.assertEqual(result.returncode, 0, result.stderr) for relative in ( ".cursor/skills/pouch", ".claude/skills/pouch", ".codex/skills/pouch", ".agents/skills/pouch", ): link = home / relative self.assertTrue(link.is_symlink(), relative) self.assertEqual(link.resolve(), (REPO_ROOT / "skills" / "pouch").resolve()) self.assertIn("已全局安装 builtin pouch skill", result.stdout) if __name__ == "__main__": unittest.main()