All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
From: Konstantin Khorenko <khorenko@virtuozzo.com>
Subject: [Devel] [PATCH RHEL10 COMMIT] kunit: add the script dir to sys.path for PYTHONSAFEPATH compatibility
Date: Fri, 21 Aug 2026 18:42:31 +0200	[thread overview]
Message-ID: <202608211642.67LGgVNY668692@f0.sw.ru> (raw)
In-Reply-To: <20260821163718.187766-33-khorenko@virtuozzo.com>

The commit is pushed to "branch-rh10-6.12.0-211.39.1.16.x.vz10-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh10-6.12.0-211.39.1.16.6.vz10
------>
commit 7a2f379b54dc30a92d1f758221cddbb78f7c1f74
Author: Konstantin Khorenko <khorenko@virtuozzo.com>
Date:   Fri Aug 21 18:37:18 2026 +0200

    kunit: add the script dir to sys.path for PYTHONSAFEPATH compatibility
    
    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 <module>
          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 <khorenko@virtuozzo.com>
---
 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 13ccb99937764..b4bc6c7427182 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 3121e133e9492..265a8999aada7 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

      reply	other threads:[~2026-08-21 16:42 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-21 16:36 [Devel] [PATCH vz10 00/32] Fix the VZ kernel build so that KUnit can run Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 01/32] sched/loadavg: fix build with CONFIG_CGROUP_SCHED=n Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 02/32] sched/core: guard cpu_cgrp_subsys.depends_on with CONFIG_CGROUP_CPUACCT Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 03/32] sched: move MAX_CPU_RATE out of CONFIG_CFS_CPULIMIT Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 04/32] sched/cpuacct: guard ve_root_tg() with CONFIG_CFS_CPULIMIT Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 05/32] ve: source Kconfig.openvz from arch/um/Kconfig Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 06/32] ve: select CGROUP_PERF only if PERF_EVENTS Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 07/32] ve: add missing Kconfig selects for CONFIG_VE Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 08/32] mm/oom: build the berserker mode only with CONFIG_MEMCG Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 09/32] proc: build the per-Container oom_score limit lookup " Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 10/32] mm, proc: build the /proc/meminfo virtualization only with CONFIG_VE Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 11/32] mm/vmstat: build the /proc/vmstat " Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 12/32] mm/shmem: build the tmpfs size " Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:36 ` [Devel] [PATCH vz10 13/32] mm/memcg: keep mem_cgroup_per_node::nid available with CONFIG_MEMCG_V1=n Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 14/32] mm/memcontrol: build memory.numa_migrate only with CONFIG_NUMA Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 15/32] ms/percpu: introduce PERCPU_PTR() macro Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 16/32] ms/percpu: cast percpu pointer in PERCPU_PTR() via unsigned long Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 17/32] mm/memcontrol: add missing inline to the mem_cgroup_fill_meminfo() stub Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 18/32] block: guard the cbt_list initialization with CONFIG_BLK_DEV_CBT Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 19/32] ve: include asm/vdso.h on x86 only Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 20/32] ve: compile the per-Container VDSO copies only on x86 Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 21/32] ve: compile the CPUID override propagation " Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 22/32] ve: mark ve0.css with CSS_NO_REF Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:50   ` [Devel] [PATCH vz10 22/32] " Konstantin Khorenko
2026-08-24  8:50     ` Pavel Tikhomirov
2026-08-21 16:37 ` [Devel] [PATCH vz10 23/32] mm/memory: build the page fault latency accounting for x86 only Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 24/32] sched/core: include cgroup-internal.h only where it is used Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 25/32] kernfs: build the KERNFS_GET_NS ioctl only with CONFIG_NET Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 26/32] fs/fs_context: build the mount option formatting only with CONFIG_VE Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 27/32] net/unix: fix unix_stream_recvmsg() build with CONFIG_BPF_SYSCALL=n Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 28/32] redhat: rh_flags: make the !CONFIG_RHEL_DIFFERENCES stubs inline Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 29/32] ms/pcmcia: cistpl: Constify 'struct bin_attribute' Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 30/32] redhat: rh_waived: add a stub for CONFIG_RHEL_DIFFERENCES=n Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 31/32] ext4: select LIBCRC32C Konstantin Khorenko
2026-08-21 16:42   ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-21 16:37 ` [Devel] [PATCH vz10 32/32] kunit: add the script dir to sys.path for PYTHONSAFEPATH compatibility Konstantin Khorenko
2026-08-21 16:42   ` Konstantin Khorenko [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202608211642.67LGgVNY668692@f0.sw.ru \
    --to=khorenko@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.