Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 18 additions & 13 deletions kernel_kselftest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,23 @@ else
fi

run_kselftest() {
SUDO_TARGETS=$1
SKIP_TARGETS=$2
mkdir -p $KSELFTEST_LOG_DIR
make -C tools/testing/selftests clean
make -C tools/testing/selftests SKIP_TARGETS="$SKIP_TARGETS"
mkdir -p "$KSELFTEST_LOG_DIR"
pushd tools/bpf/bpftool
make -j$(nproc)
popd

make -j$(nproc) samples/bpf/

BPFTOOL=$(pwd)/tools/bpf/bpftool/bpftool
KSELFTEST_PATH=/var/kselftests

pushd tools/testing/selftests

make -j$(nproc) SKIP_TARGETS="$SKIP_TARGETS" INSTALL_PATH="$KSELFTEST_PATH" install
popd

for run in $(seq 1 $runs) ; do
make -C tools/testing/selftests SKIP_TARGETS="$SUDO_TARGETS $SKIP_TARGETS" run_tests | tee $KSELFTEST_LOG_DIR/selftest-$(uname -r)-$run.log
sudo make -C tools/testing/selftests TARGETS="$SUDO_TARGETS" run_tests | tee -a $KSELFTEST_LOG_DIR/selftest-$(uname -r)-$run.log
"$KSELFTEST_PATH/run_kselftest.sh" | tee "$KSELFTEST_LOG_DIR/selftest-$(uname -r)-$run.log"
done
}

Expand All @@ -37,29 +46,25 @@ case $(uname -r) in
echo
echo "Running 3.10.0 kselftests"
echo
SUDO_TARGETS="x86"
SKIP_TARGETS=""
;;
*4.18.0*)
echo
echo "Running 4.18.0 kselftests"
echo
SUDO_TARGETS="capabilities cpu-hotplug cpufreq efivars efivarfs fpu ipc intel_pstate kexec lib livepatch memfd memory-hotplug mptcp mqueue net netfilter sync sysctl timens timers vm x86 zram"
SKIP_TARGETS=""
;;
*5.14.0*)
echo
echo "Running 5.14.0 kselftests"
echo
SUDO_TARGETS="binderfs capabilities cgroup cpu-hotplug cpufreq efivars efivarfs firmware fpu gpio ipc intel_pstate ir kexec lib livepatch memfd memory-hotplug mptcp mqueue net netfilter sync sysctl timens timers vm x86 zram"
SKIP_TARGETS="lkdtm proc"
SKIP_TARGETS="lkdtm proc pidfd"
;;
*6.12.*|\
*6.18.*)
echo
echo "Running 6.12/6.18 kselftests"
echo
SUDO_TARGETS="binderfs capabilities cgroup clone3 cpu-hotplug cpufreq damon drivers/net efivars efivarfs exec firmware fpu gpio ipc intel_pstate ir kexec lib livepatch memfd memory-hotplug mptcp mqueue net netfilter sync sysctl timens timers vm x86 zram"
SKIP_TARGETS="lkdtm net/forwarding"
;;
*)
Expand All @@ -69,4 +74,4 @@ case $(uname -r) in
;;
esac

run_kselftest "$SUDO_TARGETS" "$SKIP_TARGETS"
run_kselftest
10 changes: 8 additions & 2 deletions kt/ktlib/virt.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,14 @@ def install(
cls.run(command_type=VmCommandType.VIRT_INSTALL, command=command)

@classmethod
def start(cls, vm_name: str) -> str:
cls.run(command_type=VmCommandType.VIRSH, command=["start", vm_name])
def start(cls, vm_name: str):
try:
cls.run(command_type=VmCommandType.VIRSH, command=["start", vm_name])
except RuntimeError as e:
if "Domain is already active" in str(e):
pass
else:
raise e

@classmethod
def console(cls, vm_name: str):
Expand Down
2 changes: 1 addition & 1 deletion kt/ktlib/vm.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ def kselftests(self, config):
logging.debug("Running kselftests")
script = str(config.base_path / Path("kernel-src-tree-tools") / Path("kernel_kselftest.sh"))
output_file = self.kernel_workspace.folder.absolute() / Path(f"kselftest-{self.current_head_sha_short()}.log")
ssh_cmd = f"cd {self.kernel_workspace.src_worktree.folder.absolute()} && {script}"
ssh_cmd = f"cd {self.kernel_workspace.src_worktree.folder.absolute()} && sudo {script}"

SshCommand.run_with_output(output_file=output_file, domain=self.domain, command=[ssh_cmd])

Expand Down