Don't trust the vmlinux symlink to be present
This commit is contained in:
parent
164c8d24d4
commit
ece8a511d9
@ -56,10 +56,9 @@ class Kernel(object):
|
||||
[self.root_dir, 'boot', kernel_name]
|
||||
)
|
||||
if os.path.exists(kernel_file):
|
||||
kernel_file_for_version_check = os.sep.join(
|
||||
[self.root_dir, 'boot', 'vmlinux.gz']
|
||||
)
|
||||
if not os.path.exists(kernel_file_for_version_check):
|
||||
kernel_file_for_version_check = \
|
||||
self._get_kernel_name_for_version_lookup()
|
||||
if not kernel_file_for_version_check:
|
||||
# The system does not provide a gzip compressed binary
|
||||
# of the kernel. Thus we try to fetch the version from
|
||||
# the arbitrary kernel image format. Please Note:
|
||||
@ -181,3 +180,14 @@ class Kernel(object):
|
||||
)
|
||||
)
|
||||
return kernel_names
|
||||
|
||||
def _get_kernel_name_for_version_lookup(self):
|
||||
vmlinux_kernel_files = list(
|
||||
filter(lambda kernel: 'vmlinux-' in kernel, self.kernel_names)
|
||||
)
|
||||
if vmlinux_kernel_files:
|
||||
kernel_file_for_version_check = os.sep.join(
|
||||
[self.root_dir, 'boot', vmlinux_kernel_files[0] + '.gz']
|
||||
)
|
||||
if os.path.exists(kernel_file_for_version_check):
|
||||
return kernel_file_for_version_check
|
||||
|
||||
@ -45,7 +45,7 @@ class TestKernel(object):
|
||||
mock_realpath.return_value = 'vmlinux-realpath'
|
||||
data = self.kernel.get_kernel()
|
||||
mock_run.assert_called_once_with(
|
||||
command=['kversion', 'root-dir/boot/vmlinux.gz'],
|
||||
command=['kversion', 'root-dir/boot/vmlinux-1.2.3-default.gz'],
|
||||
raise_on_error=False
|
||||
)
|
||||
assert data.filename == 'root-dir/boot/vmlinux'
|
||||
@ -89,7 +89,7 @@ class TestKernel(object):
|
||||
mock_run.return_value = result
|
||||
data = self.kernel.get_kernel()
|
||||
mock_run.assert_called_once_with(
|
||||
command=['kversion', 'root-dir/boot/vmlinux.gz'],
|
||||
command=['kversion', 'root-dir/boot/vmlinux-1.2.3-default.gz'],
|
||||
raise_on_error=False
|
||||
)
|
||||
assert data.filename == 'root-dir/boot/vmlinux'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user