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
|
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):
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
||||||
del self.tmpdir
|
del self.tmpdir
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from helpers import *
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_clean():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
assert "test" in os.listdir(base_dir)
|
assert "test" in os.listdir(base_dir)
|
||||||
@@ -17,7 +17,7 @@ def test_worktree_clean():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_clean_refusal_no_tracking_branch():
|
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)
|
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
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():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
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():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
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():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ def test_worktree_clean_refusal_uncommited_changes_cleand_file():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_clean_refusal_commited_changes():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ def test_worktree_clean_refusal_commited_changes():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_clean_refusal_tracking_branch_mismatch():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ def test_worktree_clean_refusal_tracking_branch_mismatch():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_clean_fail_from_subdir():
|
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)
|
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from helpers import *
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_never_clean_persistent_branches():
|
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:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
"""
|
"""
|
||||||
@@ -33,7 +33,7 @@ def test_worktree_never_clean_persistent_branches():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_clean_branch_merged_into_persistent():
|
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:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
"""
|
"""
|
||||||
@@ -72,7 +72,7 @@ def test_worktree_clean_branch_merged_into_persistent():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_no_clean_unmerged_branch():
|
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:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
"""
|
"""
|
||||||
@@ -105,7 +105,7 @@ def test_worktree_no_clean_unmerged_branch():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_delete_branch_merged_into_persistent():
|
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:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ def test_convert():
|
|||||||
|
|
||||||
|
|
||||||
def test_convert_already_worktree():
|
def test_convert_already_worktree():
|
||||||
with TempGitRepositoryWorktree() as git_dir:
|
with TempGitRepositoryWorktree() as (git_dir, _commit):
|
||||||
before = checksum_directory(git_dir)
|
before = checksum_directory(git_dir)
|
||||||
|
|
||||||
cmd = grm(["wt", "convert"], cwd=git_dir)
|
cmd = grm(["wt", "convert"], cwd=git_dir)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from helpers import *
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_status():
|
def test_worktree_status():
|
||||||
with TempGitRepositoryWorktree() as base_dir:
|
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||||
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ def test_worktree_status():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_status_fail_from_subdir():
|
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)
|
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import os.path
|
|||||||
def test_worktree_add_simple(
|
def test_worktree_add_simple(
|
||||||
remote_branch_already_exists, has_config, has_default, has_prefix
|
remote_branch_already_exists, has_config, has_default, has_prefix
|
||||||
):
|
):
|
||||||
with TempGitRepositoryWorktree() as base_dir:
|
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||||
if has_config:
|
if has_config:
|
||||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
@@ -75,7 +75,7 @@ def test_worktree_add_simple(
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_add_into_subdirectory():
|
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)
|
cmd = grm(["wt", "add", "dir/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ def test_worktree_add_into_subdirectory():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_add_into_invalid_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)
|
cmd = grm(["wt", "add", "/dir/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 1
|
assert cmd.returncode == 1
|
||||||
assert "dir" not in os.listdir(base_dir)
|
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(
|
def test_worktree_add_with_tracking(
|
||||||
remote_branch_already_exists, has_config, has_default, has_prefix
|
remote_branch_already_exists, has_config, has_default, has_prefix
|
||||||
):
|
):
|
||||||
with TempGitRepositoryWorktree() as base_dir:
|
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||||
if has_config:
|
if has_config:
|
||||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
@@ -171,7 +171,7 @@ def test_worktree_add_with_tracking(
|
|||||||
def test_worktree_add_with_explicit_no_tracking(
|
def test_worktree_add_with_explicit_no_tracking(
|
||||||
has_config, has_default, has_prefix, track
|
has_config, has_default, has_prefix, track
|
||||||
):
|
):
|
||||||
with TempGitRepositoryWorktree() as base_dir:
|
with TempGitRepositoryWorktree() as (base_dir, _commit):
|
||||||
if has_config:
|
if has_config:
|
||||||
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
@@ -218,7 +218,7 @@ def test_worktree_add_with_explicit_no_tracking(
|
|||||||
def test_worktree_add_with_config(
|
def test_worktree_add_with_config(
|
||||||
remote_branch_already_exists, has_default, has_prefix
|
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:
|
with open(os.path.join(base_dir, "grm.toml"), "w") as f:
|
||||||
f.write(
|
f.write(
|
||||||
f"""
|
f"""
|
||||||
@@ -274,7 +274,7 @@ def test_worktree_add_with_config(
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_delete():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
assert "test" in os.listdir(base_dir)
|
assert "test" in os.listdir(base_dir)
|
||||||
@@ -291,7 +291,7 @@ def test_worktree_delete():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_delete_refusal_no_tracking_branch():
|
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)
|
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
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():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
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():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
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():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -363,7 +363,7 @@ def test_worktree_delete_refusal_uncommited_changes_deleted_file():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_delete_refusal_commited_changes():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -383,7 +383,7 @@ def test_worktree_delete_refusal_commited_changes():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_delete_refusal_tracking_branch_mismatch():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -403,7 +403,7 @@ def test_worktree_delete_refusal_tracking_branch_mismatch():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_delete_force_refusal():
|
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)
|
cmd = grm(["wt", "add", "test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
|
|
||||||
@@ -413,7 +413,7 @@ def test_worktree_delete_force_refusal():
|
|||||||
|
|
||||||
|
|
||||||
def test_worktree_add_delete_add():
|
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)
|
cmd = grm(["wt", "add", "test", "--track", "origin/test"], cwd=base_dir)
|
||||||
assert cmd.returncode == 0
|
assert cmd.returncode == 0
|
||||||
assert "test" in os.listdir(base_dir)
|
assert "test" in os.listdir(base_dir)
|
||||||
|
|||||||
Reference in New Issue
Block a user