Skip to content

Commit d622e87

Browse files
committed
test options, avoid side effects
This makes tests in PR#692 to pass
1 parent 819cbff commit d622e87

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

test/test_options.py

+26-16
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,37 @@
4444

4545
class OptionsTest(utils.NoRepoTestCase):
4646

47+
def __option(self, getter, setter, value):
48+
old_value = option(getter)
49+
option(setter, value)
50+
self.assertEqual(value, option(getter))
51+
# Reset to avoid side effects in later tests
52+
option(setter, old_value)
53+
54+
def __proxy(self, name, value):
55+
old_value = getattr(pygit2.settings, name)
56+
setattr(pygit2.settings, name, value)
57+
self.assertEqual(value, getattr(pygit2.settings, name))
58+
# Reset to avoid side effects in later tests
59+
setattr(pygit2.settings, name, old_value)
60+
4761
def test_mwindow_size(self):
48-
new_size = 200 * 1024
49-
option(GIT_OPT_SET_MWINDOW_SIZE, new_size)
50-
self.assertEqual(new_size, option(GIT_OPT_GET_MWINDOW_SIZE))
62+
self.__option(
63+
GIT_OPT_GET_MWINDOW_SIZE,
64+
GIT_OPT_SET_MWINDOW_SIZE,
65+
200 * 1024)
5166

5267
def test_mwindow_size_proxy(self):
53-
new_size = 300 * 1024
54-
pygit2.settings.mwindow_size = new_size
55-
56-
self.assertEqual(new_size, pygit2.settings.mwindow_size)
57-
58-
def test_mwindow_mapped_limit(self):
59-
new_limit = 200 * 1024
60-
option(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, new_limit)
61-
self.assertEqual(new_limit, option(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT))
68+
self.__proxy('mwindow_size', 300 * 1024)
6269

63-
def test_mwindow_mapped_limit(self):
64-
new_limit = 300 * 1024
65-
pygit2.settings.mwindow_mapped_limit = new_limit
70+
def test_mwindow_mapped_limit_200(self):
71+
self.__option(
72+
GIT_OPT_GET_MWINDOW_MAPPED_LIMIT,
73+
GIT_OPT_SET_MWINDOW_MAPPED_LIMIT,
74+
200 * 1024)
6675

67-
self.assertEqual(new_limit, pygit2.settings.mwindow_mapped_limit)
76+
def test_mwindow_mapped_limit_300(self):
77+
self.__proxy('mwindow_mapped_limit', 300 * 1024)
6878

6979
def test_cache_object_limit(self):
7080
new_limit = 2 * 1024

0 commit comments

Comments
 (0)