From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konstantin Khorenko Date: Fri, 21 Aug 2026 18:37:18 +0200 Subject: [Devel] [PATCH vz10 32/32] kunit: add the script dir to sys.path for PYTHONSAFEPATH compatibility In-Reply-To: <20260821163718.187766-1-khorenko@virtuozzo.com> References: <20260821163718.187766-1-khorenko@virtuozzo.com> Message-ID: <20260821163718.187766-33-khorenko@virtuozzo.com> List-Id: The RHEL10 import changed the Python shebang of the in-tree tools from '#!/usr/bin/python3 -s' to '#!/usr/bin/python3 -sP'. The -P flag turns on safe path mode (PYTHONSAFEPATH, Python 3.11+), which stops Python from prepending the script's own directory to sys.path - so kunit.py cannot import the modules sitting right next to it, and the KUnit tool does not start at all: $ ./tools/testing/kunit/kunit.py run Traceback (most recent call last): File "tools/testing/kunit/kunit.py", line 23, in import kunit_json ModuleNotFoundError: No module named 'kunit_json' Add the script's directory to sys.path before the local imports in the two executable scripts that have them, kunit.py and kunit_tool_test.py, following commit e6c430f5a2cc ("selftests/damon: add script dir to sys.path for PYTHONSAFEPATH compatibility") which fixed the same breakage for the DAMON selftests. Fixes: 9f055df11343 ("rh10: import RHEL10 kernel-6.12.0-211.16.1.el10") Feature: fix KUnit tests https://virtuozzo.atlassian.net/browse/VSTOR-134732 Signed-off-by: Konstantin Khorenko --- tools/testing/kunit/kunit.py | 1 + tools/testing/kunit/kunit_tool_test.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/tools/testing/kunit/kunit.py b/tools/testing/kunit/kunit.py index 13ccb9993776..b4bc6c742718 100755 --- a/tools/testing/kunit/kunit.py +++ b/tools/testing/kunit/kunit.py @@ -20,6 +20,7 @@ from dataclasses import dataclass from enum import Enum, auto from typing import Iterable, List, Optional, Sequence, Tuple +sys.path.append(os.path.dirname(os.path.abspath(__file__))) import kunit_json import kunit_kernel import kunit_parser diff --git a/tools/testing/kunit/kunit_tool_test.py b/tools/testing/kunit/kunit_tool_test.py index 3121e133e949..265a8999aada 100755 --- a/tools/testing/kunit/kunit_tool_test.py +++ b/tools/testing/kunit/kunit_tool_test.py @@ -16,8 +16,10 @@ import json import os import signal import subprocess +import sys from typing import Iterable +sys.path.append(os.path.dirname(os.path.abspath(__file__))) import kunit_config import kunit_parser import kunit_kernel -- 2.47.1