|
44 | 44 |
|
45 | 45 | class OptionsTest(utils.NoRepoTestCase):
|
46 | 46 |
|
| 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 | + |
47 | 61 | 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) |
51 | 66 |
|
52 | 67 | 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) |
62 | 69 |
|
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) |
66 | 75 |
|
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) |
68 | 78 |
|
69 | 79 | def test_cache_object_limit(self):
|
70 | 80 | new_limit = 2 * 1024
|
|
0 commit comments