Skip to content

Commit 1a76e3e

Browse files
Jaspal SinghJaspal Singh
authored andcommitted
variable fixes and output handling
1 parent 2c4de74 commit 1a76e3e

File tree

3 files changed

+27
-26
lines changed

3 files changed

+27
-26
lines changed

nodescraper/plugins/inband/kernel/kernel_collector.py

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -76,31 +76,28 @@ def collect_data(
7676
"""
7777

7878
kernel = None
79-
kernel_info = ""
79+
kernel_info = None
8080

8181
if self.system_info.os_family == OSFamily.WINDOWS:
8282
res = self._run_sut_cmd(self.CMD_WINDOWS)
8383
if res.exit_code == 0:
84-
kernel = [line for line in res.stdout.splitlines() if "Version=" in line][0].split(
85-
"="
86-
)[1]
84+
kernel_info = [line for line in res.stdout.splitlines() if "Version=" in line][
85+
0
86+
].split("=")[1]
8787
else:
8888
res = self._run_sut_cmd(self.CMD)
8989
if res.exit_code == 0:
90-
if res.stdout:
91-
kernel = res.stdout
92-
parsed_info = self._parse_kernel_version(kernel)
93-
kernel_info = parsed_info if parsed_info is not None else ""
94-
if not kernel_info:
95-
self._log_event(
96-
category=EventCategory.OS,
97-
description="Could not extract kernel version from 'uname -a'",
98-
data={"command": res.command, "exit_code": res.exit_code},
99-
priority=EventPriority.ERROR,
100-
console_log=True,
101-
)
102-
else:
103-
kernel = None
90+
kernel_info = res.stdout
91+
kernel = self._parse_kernel_version(kernel_info)
92+
if not kernel:
93+
self._log_event(
94+
category=EventCategory.OS,
95+
description="Could not extract kernel version from 'uname -a'",
96+
data={"command": res.command, "exit_code": res.exit_code},
97+
priority=EventPriority.ERROR,
98+
console_log=True,
99+
)
100+
104101
if res.exit_code != 0:
105102
self._log_event(
106103
category=EventCategory.OS,
@@ -110,9 +107,9 @@ def collect_data(
110107
console_log=True,
111108
)
112109

113-
if kernel:
110+
if kernel_info:
114111

115-
kernel_data = KernelDataModel(kernel_version=kernel, kernel_info=kernel_info)
112+
kernel_data = KernelDataModel(kernel_info=kernel_info, kernel_version=kernel)
116113
self._log_event(
117114
category="KERNEL_READ",
118115
description="Kernel version read",
@@ -122,6 +119,10 @@ def collect_data(
122119
else:
123120
kernel_data = None
124121

125-
self.result.message = f"Kernel: {kernel}" if kernel else "Kernel not found"
126-
self.result.status = ExecutionStatus.OK if kernel else ExecutionStatus.ERROR
122+
self.result.message = (
123+
"Kernel not found"
124+
if not kernel_info
125+
else f"Kernel info: {kernel_info} | Kernel version: {kernel if kernel else 'Kernel version not found'}"
126+
)
127+
self.result.status = ExecutionStatus.OK if kernel_info else ExecutionStatus.ERROR
127128
return self.result, kernel_data

nodescraper/plugins/inband/kernel/kerneldata.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@
2828

2929

3030
class KernelDataModel(DataModel):
31-
kernel_version: str
3231
kernel_info: str
32+
kernel_version: str | None = None

test/unit/plugin/test_kernel_collector.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def test_run_windows(collector, conn_mock):
5353

5454
result, data = collector.collect_data()
5555

56-
assert data == KernelDataModel(kernel_version="10.0.19041.1237", kernel_info="")
56+
assert data == KernelDataModel(kernel_info="10.0.19041.1237", kernel_version=None)
5757
assert result.status == ExecutionStatus.OK
5858

5959

@@ -69,8 +69,8 @@ def test_run_linux(collector, conn_mock):
6969
result, data = collector.collect_data()
7070

7171
assert data == KernelDataModel(
72-
kernel_version="Linux MockSystem 5.13.0-30-generic #1 XYZ Day Month 10 15:19:13 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux",
73-
kernel_info="5.13.0-30-generic",
72+
kernel_info="Linux MockSystem 5.13.0-30-generic #1 XYZ Day Month 10 15:19:13 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux",
73+
kernel_version="5.13.0-30-generic",
7474
)
7575
assert result.status == ExecutionStatus.OK
7676

0 commit comments

Comments
 (0)