Fix git submodule test sha comparison

pull/639/head
David Hoese 2019-04-08 08:26:44 -05:00
rodzic 4bd1d23469
commit ec6973c5fd
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4A48A4BB6FFD37E7
2 zmienionych plików z 10 dodań i 6 usunięć

Wyświetl plik

@ -136,23 +136,27 @@ def repo_with_submodule():
# create "parent" repository # create "parent" repository
subprocess.check_call(['git', 'init'], cwd=git_a_dir) subprocess.check_call(['git', 'init'], cwd=git_a_dir)
_add_content_to_git(git_a_dir) _add_content_to_git(git_a_dir)
# create submodule repository # create repository with 2 commits that will be the submodule
subprocess.check_call(['git', 'init'], cwd=git_b_dir) subprocess.check_call(['git', 'init'], cwd=git_b_dir)
_add_content_to_git(git_b_dir) _add_content_to_git(git_b_dir)
submod_sha1_b = _get_sha1(git_b_dir)
_add_content_to_git(git_b_dir)
# create a new branch in the parent to add the submodule # create a new branch in the parent to add the submodule
subprocess.check_call(['git', 'checkout', '-b', 'branch-with-submod'], subprocess.check_call(['git', 'checkout', '-b', 'branch-with-submod'],
cwd=git_a_dir) cwd=git_a_dir)
subprocess.check_call(['git', 'submodule', 'add', git_b_dir, 'submod'], subprocess.check_call(['git', 'submodule', 'add', git_b_dir, 'submod'],
cwd=git_a_dir) cwd=git_a_dir)
# checkout the first commit for the submod, not the latest
subprocess.check_call(['git', 'checkout', submod_sha1_b],
cwd=os.path.join(git_a_dir, 'submod'))
subprocess.check_call(['git', 'add', git_a_dir, ".gitmodules"], subprocess.check_call(['git', 'add', git_a_dir, ".gitmodules"],
cwd=git_a_dir) cwd=git_a_dir)
subprocess.check_call(['git', 'commit', '-m', 'Add B repos submod'], subprocess.check_call(['git', 'commit', '-m', 'Add B repos submod'],
cwd=git_a_dir) cwd=git_a_dir)
sha1_a = _get_sha1(git_a_dir) sha1_a = _get_sha1(git_a_dir)
sha1_b = _get_sha1(git_b_dir) yield git_a_dir, sha1_a, submod_sha1_b
yield git_a_dir, sha1_a, sha1_b
class Repo2DockerTest(pytest.Function): class Repo2DockerTest(pytest.Function):

Wyświetl plik

@ -21,7 +21,7 @@ def test_clone(repo_with_content):
def test_submodule_clone(repo_with_submodule): def test_submodule_clone(repo_with_submodule):
"""Test git clone containing a git submodule.""" """Test git clone containing a git submodule."""
upstream, sha1_upstream, sha1_submod = repo_with_submodule upstream, expected_sha1_upstream, expected_sha1_submod = repo_with_submodule
with TemporaryDirectory() as clone_dir: with TemporaryDirectory() as clone_dir:
submod_dir = os.path.join(clone_dir, 'submod') # set by fixture submod_dir = os.path.join(clone_dir, 'submod') # set by fixture
@ -37,8 +37,8 @@ def test_submodule_clone(repo_with_submodule):
sha1 = subprocess.Popen(cmd, stdout=subprocess.PIPE, cwd=submod_dir) sha1 = subprocess.Popen(cmd, stdout=subprocess.PIPE, cwd=submod_dir)
submod_sha1 = sha1.stdout.read().decode().strip() submod_sha1 = sha1.stdout.read().decode().strip()
assert git_content.content_id == sha1_upstream[:7] assert git_content.content_id == expected_sha1_upstream[:7]
assert submod_sha1[:7] == submod_sha1[:7] assert submod_sha1[:7] == expected_sha1_submod[:7]
def test_bad_ref(repo_with_content): def test_bad_ref(repo_with_content):