diff --git a/tests/test_core_sync.py b/tests/test_core_sync.py index 1b09ba1..bca0d46 100644 --- a/tests/test_core_sync.py +++ b/tests/test_core_sync.py @@ -12,7 +12,8 @@ class CoreSyncTests(unittest.TestCase): def setUp(self): self.tmp = tempfile.TemporaryDirectory(prefix='method-sync-');self.addCleanup(self.tmp.cleanup) - self.base = Path(self.tmp.name);self.source = self.base/'source';self.source.mkdir() + # macOS temp roots sit below the /var symlink; the lock check refuses symlinked ancestors. + self.base = Path(self.tmp.name).resolve();self.source = self.base/'source';self.source.mkdir() self.target = self.base/'target';self.target.mkdir() subprocess.run(['git','init','-q','-b','main',str(self.source)],check=True) for key,value in [('user.name','Sync Test'),('user.email','sync@example.invalid')]: self.git('config',key,value) diff --git a/tests/test_method_identity.py b/tests/test_method_identity.py index 9be5446..80d4fc1 100644 --- a/tests/test_method_identity.py +++ b/tests/test_method_identity.py @@ -61,7 +61,8 @@ def test_writing_archive_uses_committed_manifest_identity(self): def test_both_opencode_loaders_coexist_and_uninstall_is_scoped(self): # A fixed loader filename must not overwrite or block the second method. with tempfile.TemporaryDirectory() as directory: - base=Path(directory);config=base/'config' + # Resolve first: the installer refuses symlinked parents such as macOS /var. + base=Path(directory).resolve();config=base/'config' for name in ['engineering-method','writing-method']: source=base/name for folder in ['integrations/opencode','shared/platform','skills','.codex-plugin']: