]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
selftest: use quic_ko_wrapper if available
authorStefan Metzmacher <metze@samba.org>
Tue, 22 Apr 2025 10:26:19 +0000 (12:26 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 17 Jul 2025 08:59:37 +0000 (08:59 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
selftest/selftest.pl
selftest/wscript

index 5f0daf7de6831f2df67993113ab9b6c6dd8b0830..11065dd51d9373e5e4276fb5754696e2899cd83c 100755 (executable)
@@ -43,6 +43,7 @@ if ($@) {
 my $opt_help = 0;
 my $opt_target = "samba";
 my $opt_quick = 0;
+my $opt_quic_ko_wrapper = 0;
 my $opt_socket_wrapper = 0;
 my $opt_socket_wrapper_pcap = undef;
 my $opt_socket_wrapper_keep_pcap = undef;
@@ -58,6 +59,7 @@ my $opt_mitkrb5 = 0;
 my $opt_default_ldb_backend = "mdb";
 my $opt_resetup_env = undef;
 my $opt_load_list = undef;
+my $opt_libquic_ko_wrapper_so_path = "";
 my $opt_libnss_wrapper_so_path = "";
 my $opt_libresolv_wrapper_so_path = "";
 my $opt_libsocket_wrapper_so_path = "";
@@ -234,6 +236,7 @@ my $result = GetOptions (
                'help|h|?' => \$opt_help,
                'target=s' => \$opt_target,
                'prefix=s' => \$prefix,
+               'quic-ko-wrapper' => \$opt_quic_ko_wrapper,
                'socket-wrapper' => \$opt_socket_wrapper,
                'socket-wrapper-pcap' => \$opt_socket_wrapper_pcap,
                'socket-wrapper-keep-pcap' => \$opt_socket_wrapper_keep_pcap,
@@ -253,6 +256,7 @@ my $result = GetOptions (
                'testlist=s' => \@testlists,
                'random-order' => \$opt_random_order,
                'load-list=s' => \$opt_load_list,
+               'quic_ko_wrapper_so_path=s' => \$opt_libquic_ko_wrapper_so_path,
                'nss_wrapper_so_path=s' => \$opt_libnss_wrapper_so_path,
                'resolv_wrapper_so_path=s' => \$opt_libresolv_wrapper_so_path,
                'socket_wrapper_so_path=s' => \$opt_libsocket_wrapper_so_path,
@@ -373,6 +377,14 @@ if ($opt_libasan_so_path) {
        }
 }
 
+if ($opt_libquic_ko_wrapper_so_path) {
+       if ($ld_preload) {
+               $ld_preload = "$ld_preload:$opt_libquic_ko_wrapper_so_path";
+       } else {
+               $ld_preload = "$opt_libquic_ko_wrapper_so_path";
+       }
+}
+
 if ($opt_libnss_wrapper_so_path) {
        if ($ld_preload) {
                $ld_preload = "$ld_preload:$opt_libnss_wrapper_so_path";
@@ -432,6 +444,10 @@ $ENV{UID_WRAPPER} = 1;
 # We are already hitting the limit, so double it.
 $ENV{NSS_WRAPPER_MAX_HOSTENTS} = 200;
 
+if ($opt_quic_ko_wrapper) {
+       $ENV{QUIC_KO_WRAPPER} = 1;
+}
+
 my $socket_wrapper_dir;
 if ($opt_socket_wrapper) {
        $socket_wrapper_dir = SocketWrapper::setup_dir("$prefix/w", $opt_socket_wrapper_pcap);
index 95e70706e63c8047b08cca780c05f45029841665..4a7eee427122e558ed930fd8e57a28fe7baf7d23 100644 (file)
@@ -259,6 +259,8 @@ def cmd_testonly(opt):
     # selftest can optionally use kernel namespaces instead of socket-wrapper
     if os.environ.get('USE_NAMESPACES') is None:
         env.OPTIONS += " --socket_wrapper_so_path=" + CONFIG_GET(opt, 'LIBSOCKET_WRAPPER_SO_PATH')
+        if CONFIG_SET(opt, 'QUIC_KO_WRAPPER'):
+            env.OPTIONS += " --quic_ko_wrapper_so_path=" + CONFIG_GET(opt, 'LIBQUIC_KO_WRAPPER_SO_PATH')
 
     if not CONFIG_SET(opt, 'HAVE_RESOLV_CONF_SUPPORT'):
         env.OPTIONS += " --use-dns-faking"
@@ -357,6 +359,8 @@ def cmd_testonly(opt):
     if Options.options.LIST:
         cmd = '${CORE_COMMAND} --list'
     else:
+        if CONFIG_SET(opt, 'QUIC_KO_WRAPPER'):
+            env.OPTIONS += ' --quic-ko-wrapper'
         env.OPTIONS += ' --socket-wrapper'
         cmd = '(${CORE_COMMAND} && touch ${SELFTEST_PREFIX}/st_done) | ${FILTER_OPTIONS}'