def test_temporary_worktree(settings): repo = AddonGitRepository(1) output = _run_process('git worktree list', repo) assert output.startswith(repo.git_repository.path) with TemporaryWorktree(repo.git_repository) as worktree: assert worktree.temp_directory.startswith(settings.TMP_PATH) assert worktree.path == os.path.join( worktree.temp_directory, worktree.name) output = _run_process('git worktree list', repo) assert worktree.name in output # Test that it cleans up properly assert not os.path.exists(worktree.temp_directory) output = _run_process('git worktree list', repo) assert worktree.name not in output
def test_temporary_worktree(): repo = AddonGitRepository(1) env = {'GIT_DIR': repo.git_repository.path} output = subprocess.check_output('git worktree list', shell=True, env=env) assert output.startswith(repo.git_repository.path) with TemporaryWorktree(repo.git_repository) as worktree: assert worktree.temp_directory.startswith(settings.TMP_PATH) assert worktree.path == os.path.join(worktree.temp_directory, worktree.name) output = subprocess.check_output('git worktree list', shell=True, env=env) assert worktree.name in output # Test that it cleans up properly assert not os.path.exists(worktree.temp_directory) output = subprocess.check_output('git worktree list', shell=True, env=env) assert worktree.name not in output