Skip to content

Commit 8327e1b

Browse files
committed
Add test for init_submodules() and update_submodules()
1 parent 15326b7 commit 8327e1b

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

test/data/submodulerepo.tar

-91 KB
Binary file not shown.

test/test_submodule.py

+26-2
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,17 @@
3030
# Import from the future
3131
from __future__ import absolute_import
3232

33+
import os
34+
3335
import pygit2
3436
import unittest
3537

3638
from . import utils
3739

3840
SUBM_NAME = 'submodule'
3941
SUBM_PATH = 'submodule'
40-
SUBM_URL = 'test.com/submodule.git'
41-
SUBM_HEAD_SHA = '784855caf26449a1914d2cf62d12b9374d76ae78'
42+
SUBM_URL = 'https://github.com/libgit2/pygit2'
43+
SUBM_HEAD_SHA = '819cbff552e46ac4b8d10925cc422a30aa04e78e'
4244

4345
class SubmoduleTest(utils.SubmoduleRepoTestCase):
4446

@@ -53,6 +55,8 @@ def test_listall_submodules(self):
5355

5456
def test_submodule_open(self):
5557
s = self.repo.lookup_submodule(SUBM_PATH)
58+
self.repo.init_submodules()
59+
self.repo.update_submodules()
5660
r = s.open()
5761
self.assertIsNotNone(r)
5862
self.assertEqual(str(r.head.target), SUBM_HEAD_SHA)
@@ -69,5 +73,25 @@ def test_url(self):
6973
s = self.repo.lookup_submodule(SUBM_PATH)
7074
self.assertEqual(SUBM_URL, s.url)
7175

76+
def test_init_and_update(self):
77+
subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py')
78+
self.assertFalse(os.path.exists(subrepo_file_path))
79+
self.repo.init_submodules()
80+
self.repo.update_submodules()
81+
self.assertTrue(os.path.exists(subrepo_file_path))
82+
83+
def test_specified_update(self):
84+
subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py')
85+
self.assertFalse(os.path.exists(subrepo_file_path))
86+
self.repo.init_submodules(submodules=['submodule'])
87+
self.repo.update_submodules(submodules=['submodule'])
88+
self.assertTrue(os.path.exists(subrepo_file_path))
89+
90+
def test_oneshot_update(self):
91+
subrepo_file_path = os.path.join(self.repo_path, 'submodule', 'setup.py')
92+
self.assertFalse(os.path.exists(subrepo_file_path))
93+
self.repo.update_submodules(init=True)
94+
self.assertTrue(os.path.exists(subrepo_file_path))
95+
7296
if __name__ == '__main__':
7397
unittest.main()

0 commit comments

Comments
 (0)