Skip to content

Commit d689ef5

Browse files
Additional test for checkout process
1 parent 7c82146 commit d689ef5

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
99
- Description: JAXON
1010
- Description: Kinova Gen3
1111
- Description: NEXTAGE
12+
- Unit tests for repository cloning
1213

1314
### Changed
1415

tests/test_cache.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,32 @@ def test_clone_to_directory(self):
6363
self.assertTrue(clone_1.common_dir, clone_2.common_dir)
6464
self.assertTrue(clone_1.working_dir, clone_2.working_dir)
6565

66+
def test_clone_to_directory_newer_commit(self):
67+
"""
68+
Check that the repository is pulled when a newer commit is configured.
69+
"""
70+
description_name = "simple_humanoid_description"
71+
repo_params = REPOSITORIES[description_name]
72+
73+
def get_commit(repo):
74+
# return str(list(repo.iter_commits(max_count=1))[0])
75+
return repo.git.rev_parse("HEAD")
76+
77+
with tempfile.TemporaryDirectory() as tmp_dir:
78+
repo_dir = os.path.join(tmp_dir, "test")
79+
repo = clone_to_directory(
80+
repo_params.url, repo_dir, commit=repo_params.commit
81+
)
82+
self.assertFalse(repo.bare)
83+
self.assertEqual(get_commit(repo), repo_params.commit)
84+
repo.git.reset("HEAD~1", "--hard")
85+
self.assertNotEqual(get_commit(repo), repo_params.commit)
86+
repo_bis = clone_to_directory(
87+
repo_params.url, repo_dir, commit=repo_params.commit
88+
)
89+
self.assertEqual(get_commit(repo), repo_params.commit)
90+
self.assertEqual(get_commit(repo_bis), repo_params.commit)
91+
6692
def test_clone_to_cache_found(self):
6793
"""
6894
Test clone_to_cache on a valid repository.

0 commit comments

Comments
 (0)