import os
from helpers import (
EmptyDir,
NonGitDir,
TempGitRepository,
TempGitRepositoryWorktree,
checksum_directory,
funcname,
grm,
)
def test_convert():
with TempGitRepository() as git_dir:
cmd = grm(["wt", "convert"], cwd=git_dir)
assert cmd.returncode == 0
files = os.listdir(git_dir)
assert len(files) == 1
assert files[0] == ".git-main-working-tree"
cmd = grm(["wt", "add", "test"], cwd=git_dir)
assert cmd.returncode == 0
files = os.listdir(git_dir)
assert len(files) == 2
assert set(files) == {".git-main-working-tree", "test"}
def test_convert_already_worktree():
with TempGitRepositoryWorktree.get(funcname()) as (git_dir, _commit):
before = checksum_directory(git_dir)
cmd = grm(["wt", "convert"], cwd=git_dir)
assert cmd.returncode != 0
after = checksum_directory(git_dir)
assert before == after
def test_convert_non_git():
with NonGitDir() as dir:
before = checksum_directory(dir)
cmd = grm(["wt", "convert"], cwd=dir)
assert cmd.returncode != 0
after = checksum_directory(dir)
assert before == after
def test_convert_empty():
with EmptyDir() as dir:
before = checksum_directory(dir)
cmd = grm(["wt", "convert"], cwd=dir)
assert cmd.returncode != 0
after = checksum_directory(dir)
assert before == after