Skip to content
This repository was archived by the owner on Sep 23, 2024. It is now read-only.

Commit eef8567

Browse files
majorveruu
authored andcommitted
Increase test coverage for KernelBuilder
1 parent 05042f9 commit eef8567

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

tests/test_kernelbuilder.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,36 @@ def kbuilder_mktgz_silent(self, *args, **kwargs):
137137
"""Run self.kbuilder.mktgz with disabled output"""
138138
with mock.patch('sys.stdout'):
139139
return self.kbuilder.mktgz(*args, **kwargs)
140+
141+
def test_extra_make_args(self):
142+
"""Ensure KernelBuilder handles extra_make_args properly"""
143+
extra_make_args_example = '-j10'
144+
kbuilder = kernelbuilder.KernelBuilder(
145+
self.tmpdir,
146+
self.tmpconfig.name,
147+
extra_make_args=extra_make_args_example
148+
)
149+
self.assertEqual(kbuilder.extra_make_args, [extra_make_args_example])
150+
151+
def test_getrelease(self):
152+
"""Ensure get_release() handles a valid kernel version string"""
153+
mock_prepare = mock.patch("skt.kernelbuilder.KernelBuilder.prepare")
154+
155+
kernel_version = '4.17.0-rc6+\n'
156+
mock_popen = self.ctx_popen
157+
self.m_popen.communicate = Mock(return_value=(kernel_version, None))
158+
159+
with mock_popen, mock_prepare:
160+
result = self.kbuilder.getrelease()
161+
self.assertEqual(kernel_version.strip(), result)
162+
163+
def test_getrelease_regex_fail(self):
164+
"""Ensure get_release() fails if the regex doesn't match"""
165+
mock_prepare = mock.patch("skt.kernelbuilder.KernelBuilder.prepare")
166+
167+
mock_popen = self.ctx_popen
168+
self.m_popen.communicate = Mock(return_value=('this_is_silly', None))
169+
170+
with mock_popen, mock_prepare:
171+
with self.assertRaises(Exception):
172+
self.kbuilder.getrelease()

0 commit comments

Comments
 (0)