Skip to content

Commit 2a32c00

Browse files
author
paull
committed
Added BareMetal platform support for LTP/Kselftest
1 parent 9de078a commit 2a32c00

File tree

3 files changed

+238
-200
lines changed

3 files changed

+238
-200
lines changed

microsoft/testsuites/kselftest/kselftest.py

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
from lisa.executable import Tool
1111
from lisa.messages import TestStatus, send_sub_test_result_message
1212
from lisa.node import Node
13-
from lisa.operating_system import CBLMariner, Ubuntu
13+
from lisa.operating_system import (
14+
BSD, FreeBSD, OpenBSD, BMC, MacOS, CoreOs, Alpine,
15+
Debian, Ubuntu, RPMDistro, Fedora, Redhat, CentOs,
16+
Oracle, AlmaLinux, CBLMariner, Suse, SLES, NixOS, OtherLinux,
17+
)
1418
from lisa.testsuite import TestResult
1519
from lisa.tools import Cp, Git, Ls, Make, RemoteCopy, Tar
1620
from lisa.tools.chmod import Chmod
@@ -99,27 +103,31 @@ def __init__(
99103
# tar file path specified in yml
100104
self._tar_file_path = kselftest_file_path
101105
if self._tar_file_path:
106+
self._remote_tar_path = (
107+
self.node.get_pure_path("/tmp/kselftest") / os.path.basename(self._tar_file_path)
108+
)
109+
self._kself_installed_dir = (
110+
self.node.get_pure_path("/tmp/kselftest") / "kselftest-packages"
111+
)
112+
else:
102113
self._remote_tar_path = self.get_tool_path(
103114
use_global=True
104115
) / os.path.basename(self._tar_file_path)
105-
106-
# command to run kselftests
107-
self._kself_installed_dir = (
108-
self.get_tool_path(use_global=True) / "kselftest-packages"
109-
)
116+
self._kself_installed_dir = (
117+
self.get_tool_path(use_global=True) / "kselftest-packages"
118+
)
110119

111120
self._command = self._kself_installed_dir / "run_kselftest.sh"
112121

113122
# install common dependencies
114123
def _install(self) -> bool:
115-
if not (
116-
(
117-
isinstance(self.node.os, Ubuntu)
118-
and self.node.os.information.version >= "18.4.0"
119-
)
120-
or isinstance(self.node.os, CBLMariner)
124+
if (isinstance(self.node.os,
125+
(BSD, FreeBSD, OpenBSD, BMC, MacOS, CoreOs, Alpine,
126+
Debian, RPMDistro, Fedora, Redhat, CentOs, Oracle,
127+
AlmaLinux, Suse, SLES, NixOS, OtherLinux))
128+
or (isinstance(self.node.os, Ubuntu) and self.node.os.information.version < "18.4.0")
121129
):
122-
raise UnsupportedDistroException(
130+
raise UnsupportedDistroException(
123131
self.node.os, "kselftests in LISA does not support this os"
124132
)
125133

@@ -202,14 +210,12 @@ def run_all(
202210
test_result: TestResult,
203211
log_path: str,
204212
timeout: int = 5000,
205-
run_test_as_root: bool = False,
206213
) -> List[KselftestResult]:
207214
# Executing kselftest as root may cause
208215
# VM to hang
209216

210-
# get username
211-
username = self.node.tools[Whoami].get_username()
212-
result_directory = f"/home/{username}"
217+
# get result directory
218+
result_directory = f"/tmp/"
213219
if os.path.exists(result_directory) is False:
214220
mkdir = self.node.tools[Mkdir]
215221
mkdir.create_directory(result_directory)
@@ -218,7 +224,7 @@ def run_all(
218224
result_file = f"{result_directory}/{result_file_name}"
219225
self.run(
220226
f" 2>&1 | tee {result_file}",
221-
sudo=run_test_as_root,
227+
sudo=True,
222228
force_run=True,
223229
shell=True,
224230
timeout=timeout,

0 commit comments

Comments
 (0)