e2e-tests: Return root commit SHA for worktree repo
This commit is contained in:
@@ -174,7 +174,10 @@ class TempGitRepositoryWorktree:
|
||||
git --git-dir .git-main-working-tree config core.bare true
|
||||
"""
|
||||
)
|
||||
return self.tmpdir.name
|
||||
commit = git.Repo(
|
||||
f"{self.tmpdir.name}/.git-main-working-tree"
|
||||
).head.commit.hexsha
|
||||
return (self.tmpdir.name, commit)
|
||||
|
||||
def __exit__(self, exc_type, exc_val, exc_tb):
|
||||
del self.tmpdir
|
||||
|
||||
@@ -6,7 +6,7 @@ from helpers import *
|
||||
|
||||
|
||||
def test_worktree_clean():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
assert "test" in os.listdir(base_dir)
|
||||
@@ -17,7 +17,7 @@ def test_worktree_clean():
|
||||
|
||||
|
||||
def test_worktree_clean_refusal_no_tracking_branch():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -31,7 +31,7 @@ def test_worktree_clean_refusal_no_tracking_branch():
|
||||
|
||||
|
||||
def test_worktree_clean_refusal_uncommited_changes_new_file():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -47,7 +47,7 @@ def test_worktree_clean_refusal_uncommited_changes_new_file():
|
||||
|
||||
|
||||
def test_worktree_clean_refusal_uncommited_changes_changed_file():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -63,7 +63,7 @@ def test_worktree_clean_refusal_uncommited_changes_changed_file():
|
||||
|
||||
|
||||
def test_worktree_clean_refusal_uncommited_changes_cleand_file():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -81,7 +81,7 @@ def test_worktree_clean_refusal_uncommited_changes_cleand_file():
|
||||
|
||||
|
||||
def test_worktree_clean_refusal_commited_changes():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -99,7 +99,7 @@ def test_worktree_clean_refusal_commited_changes():
|
||||
|
||||
|
||||
def test_worktree_clean_refusal_tracking_branch_mismatch():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -117,7 +117,7 @@ def test_worktree_clean_refusal_tracking_branch_mismatch():
|
||||
|
||||
|
||||
def test_worktree_clean_fail_from_subdir():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ from helpers import *
|
||||
|
||||
|
||||
def test_worktree_never_clean_persistent_branches():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
"""
|
||||
@@ -33,7 +33,7 @@ def test_worktree_never_clean_persistent_branches():
|
||||
|
||||
|
||||
def test_worktree_clean_branch_merged_into_persistent():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
"""
|
||||
@@ -72,7 +72,7 @@ def test_worktree_clean_branch_merged_into_persistent():
|
||||
|
||||
|
||||
def test_worktree_no_clean_unmerged_branch():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
"""
|
||||
@@ -105,7 +105,7 @@ def test_worktree_no_clean_unmerged_branch():
|
||||
|
||||
|
||||
def test_worktree_delete_branch_merged_into_persistent():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
"""
|
||||
|
||||
@@ -23,7 +23,7 @@ def test_convert():
|
||||
|
||||
|
||||
def test_convert_already_worktree():
|
||||
with TempGitRepositoryWorktree() as git_dir:
|
||||
with TempGitRepositoryWorktree() as (git_dir, _commit):
|
||||
before = checksum_directory(git_dir)
|
||||
|
||||
cmd = grm(["wt", "convert"], cwd=git_dir)
|
||||
|
||||
@@ -4,7 +4,7 @@ from helpers import *
|
||||
|
||||
|
||||
def test_worktree_status():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -16,7 +16,7 @@ def test_worktree_status():
|
||||
|
||||
|
||||
def test_worktree_status_fail_from_subdir():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ import os.path
|
||||
def test_worktree_add_simple(
|
||||
remote_branch_already_exists, has_config, has_default, has_prefix
|
||||
):
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
if has_config:
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
@@ -75,7 +75,7 @@ def test_worktree_add_simple(
|
||||
|
||||
|
||||
def test_worktree_add_into_subdirectory():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "dir/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -93,7 +93,7 @@ def test_worktree_add_into_subdirectory():
|
||||
|
||||
|
||||
def test_worktree_add_into_invalid_subdirectory():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "/dir/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 1
|
||||
assert "dir" not in os.listdir(base_dir)
|
||||
@@ -111,7 +111,7 @@ def test_worktree_add_into_invalid_subdirectory():
|
||||
def test_worktree_add_with_tracking(
|
||||
remote_branch_already_exists, has_config, has_default, has_prefix
|
||||
):
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
if has_config:
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
@@ -171,7 +171,7 @@ def test_worktree_add_with_tracking(
|
||||
def test_worktree_add_with_explicit_no_tracking(
|
||||
has_config, has_default, has_prefix, track
|
||||
):
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
if has_config:
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
@@ -218,7 +218,7 @@ def test_worktree_add_with_explicit_no_tracking(
|
||||
def test_worktree_add_with_config(
|
||||
remote_branch_already_exists, has_default, has_prefix
|
||||
):
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||
f.write(
|
||||
f"""
|
||||
@@ -274,7 +274,7 @@ def test_worktree_add_with_config(
|
||||
|
||||
|
||||
def test_worktree_delete():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
assert "test" in os.listdir(base_dir)
|
||||
@@ -291,7 +291,7 @@ def test_worktree_delete():
|
||||
|
||||
|
||||
def test_worktree_delete_refusal_no_tracking_branch():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -307,7 +307,7 @@ def test_worktree_delete_refusal_no_tracking_branch():
|
||||
|
||||
|
||||
def test_worktree_delete_refusal_uncommited_changes_new_file():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -325,7 +325,7 @@ def test_worktree_delete_refusal_uncommited_changes_new_file():
|
||||
|
||||
|
||||
def test_worktree_delete_refusal_uncommited_changes_changed_file():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -343,7 +343,7 @@ def test_worktree_delete_refusal_uncommited_changes_changed_file():
|
||||
|
||||
|
||||
def test_worktree_delete_refusal_uncommited_changes_deleted_file():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -363,7 +363,7 @@ def test_worktree_delete_refusal_uncommited_changes_deleted_file():
|
||||
|
||||
|
||||
def test_worktree_delete_refusal_commited_changes():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -383,7 +383,7 @@ def test_worktree_delete_refusal_commited_changes():
|
||||
|
||||
|
||||
def test_worktree_delete_refusal_tracking_branch_mismatch():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -403,7 +403,7 @@ def test_worktree_delete_refusal_tracking_branch_mismatch():
|
||||
|
||||
|
||||
def test_worktree_delete_force_refusal():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
|
||||
@@ -413,7 +413,7 @@ def test_worktree_delete_force_refusal():
|
||||
|
||||
|
||||
def test_worktree_add_delete_add():
|
||||
with TempGitRepositoryWorktree() as base_dir:
|
||||
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||
assert cmd.returncode == 0
|
||||
assert "test" in os.listdir(base_dir)
|
||||
|
||||
Reference in New Issue
Block a user