From patchwork Wed Aug 19 23:57:16 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 95851 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 24951C5B572 for ; Wed, 19 Aug 2026 23:57:25 +0000 (UTC) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.2974.1787183842301942950 for ; Wed, 19 Aug 2026 16:57:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=G1u+nvXK; spf=pass (domain: gmail.com, ip: 209.85.214.170, mailfrom: raj.khem@gmail.com) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-2cf50c6f235so16162685ad.0 for ; Wed, 19 Aug 2026 16:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787183842; x=1787788642; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=2TgeTST0Vg9eYPiaQ81xnv4NpAQglgOEhAObjWhkY9Y=; b=G1u+nvXKop0NgYDiKepW5uUGWdcorDWAARa3qdsQ6GWjzTFkT+grZDt0C7UnrXndyq YnQT8GVyEPEme5d2NlZYBuOTJQzLnm96ATEBvzDBKoBL3ga6sXvLUNx4B/qbS0pgVIJt Wt8Ud4EyggyK4p9aHbH/AE/OhueBZohU1GD28dIUXQ43Kn1x5z7n55l7DmXoOVYSo7zl lfaHtnLfnAOvutIKONcbm65F3+FC2/LloX12Oq11Hqo4QgEDsFkbT17zalnGn3ABFNwN /8zFhAgPwPLgbtjwvviWPBXGXDkCKtPXWo63boi8NnUM4o1SQfoAvI+QQHNgyxPWJdw4 ar3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787183842; x=1787788642; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=2TgeTST0Vg9eYPiaQ81xnv4NpAQglgOEhAObjWhkY9Y=; b=P9e/MPI9wf9uMoxpBz0Ce43tK2JMpXynMc+FSgusgfDeMI3tx2UElMC8QGuMoZu4EO VehzPpWKKy+OtFntNeItGvax25VrzBzZ/5Qlnu+PVVLjT1Co5Kh15EwYYlSs2qYqVl6X dNRhxWxdCLFEyzlYwhQQ94GuI5OkG98cifx0oMOXdm/3io/oaAtqvJNYBjD5cwLl0p7M RxdZ+QdD/KrnSazHPOYIVUz96W7jhdxke/lg2FadEB/Yg1i5joheE5cEJalIqp4z5ZbZ 6xfkiS+l8cHCZFpaLvlJqIZpbynfB9aEWegO9KcxRdrxuENquFa8DBRqo9NtroxdSLbN t6RA== X-Gm-Message-State: AFuF++nuVbPNljXqX1dixgDDtZINhBqY+tB6UITlUHnVAUoM8QxVNNMQ QiQblkKclEsrg72mDr6OB7V+5tzp1Z+0qq08PIzCZzY9Q5ziY5L/QE/KB85fKcZM X-Gm-Gg: AR+sD10CrQ/kDn2ryyNBg4cVQh9d/0sBnRziytiQpNnnlEcFRbJ7KWM3speQvrSdQa/ YjJ/BxvkWJqQB1MIdW/YtmPDW/9Lh6FiGxoRck13iJwe20KopkFuXvBp7pMW5xguUtafiGvA4iv c24b+jeTl9zt7rLxaSuJMZtn9KU0gFBOJE9stlZ0fBMEsAjR4e9yGk5Uc8uNhP2K3n7vPnBx3NJ i+ye16zrovMY+6HFrfIaqj2nCtFWxKW3jFYLWTv7HWnN0gto75ciSqsQChqNvso4JnCY+YgorrD PBC05TcrJ2/FESc58oCCz085BqkrYnMUeu2oe6uEaQ8ChZgW7BfCz67BM9ISTH1LKkzXs98otjV LltkOKdy29Nhtn7nOZEdSU0znJ5F7nPxsCcRhBgf/QHm71FQdBI/atv6QA9T4zaVni4z24vUP02 HxOZV99IVQ+ANcLhJbCSboptLRdCXkxfUmktX5c4ktHX6SvUcuE2Po29nhdywpPodHyx3X1J3l1 TTqMs5slw4qTQsCqbP8/luxzb0gI3ECftMhg49LZmRoc79U/HghLJeLZ+Cf8wr6i1jWhbAYyTP8 JvNJPMCnBBdzc47H3E3KzOEBGkuIO5UMiu4K4ekRiD4cHjD6IE00ExxOUDsP2KgfEm0F225eOEp odnmdwalHC/ZZPSwQgqWhi40Um1liw4pgODKW5XzVtecBig== X-Received: by 2002:a17:902:d2c8:b0:2b7:975c:dacc with SMTP id d9443c01a7336-2d5fd5eb7fbmr149031905ad.1.1787183841455; Wed, 19 Aug 2026 16:57:21 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327bf175399sm18411174eec.26.2026.08.19.16.57.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2026 16:57:20 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-networking][PATCH 1/3] openl2tp: do not clobber the ptest-runner RRECOMMENDS Date: Wed, 19 Aug 2026 16:57:16 -0700 Message-ID: <20260819235718.3372843-1-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Aug 2026 23:57:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129368 From: Khem Raj ptest.bbclass pulls ptest-runner into the -ptest package with RRECOMMENDS:${PN}-ptest += "ptest-runner" but the recipe then used a hard assignment for its own recommendation, which overwrote that and left openl2tp-ptest recommending only kernel-module-l2tp-ppp. ptest-runner was therefore never installed in the ptest image, and meta-networking-image-ptest-openl2tp skipped the whole run with "Test requires ptest-runner to be installed" instead of executing any test. Append instead of assigning, so both recommendations survive. The openl2tp ptest now runs and passes. Signed-off-by: Khem Raj --- meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb index 789ffc86ce..0d3953d35c 100644 --- a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb +++ b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb @@ -97,4 +97,4 @@ do_install_ptest () { RDEPENDS:${PN} = "ppp ppp-l2tp bash" RDEPENDS:${PN}-ptest += "rpcbind procps-ps tcl" -RRECOMMENDS:${PN}-ptest = "kernel-module-l2tp-ppp" +RRECOMMENDS:${PN}-ptest += "kernel-module-l2tp-ppp" From patchwork Wed Aug 19 23:57:17 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 95852 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2637AC5DF86 for ; Wed, 19 Aug 2026 23:57:25 +0000 (UTC) Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.2975.1787183843488944123 for ; Wed, 19 Aug 2026 16:57:23 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=nrUktvxi; spf=pass (domain: gmail.com, ip: 209.85.215.182, mailfrom: raj.khem@gmail.com) Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-c9d1fff21edso1067184a12.1 for ; Wed, 19 Aug 2026 16:57:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787183843; x=1787788643; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=8YFAgN+LHttu/iLs+2UDAhWh1vdrmdYnx7MIxiBWKtY=; b=nrUktvxi+/lfPKDjL2g3oQfNIxbEAJEp3dlHG4oRotjwij8CS0Yd2MEuVJll0VMyi7 WIxXs9PSHGi2SQatclUsSLPmwvVicQ6opxO4/PqzO/Vv67wOBPGqGUxt4U29s3Do6tim uf4EKfVfHR8mfR3MrYe/K/Yt8i3Cl/5j697u19xSrUKLba5N5MfF1PVP/ILhJOAmIz0I dWYsGvyJcfObjkY1ogUNJfR4Abdk009JVQvZ7x6bOTs1TruYIYJeyf3+IwKp+NF9LFwa QYroMgQki8sBw8YqLtXGXw2RiDus2s5dywk0q09KEMex24JCQEMNTaxzi6Gng+BOPW6G tlaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787183843; x=1787788643; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=8YFAgN+LHttu/iLs+2UDAhWh1vdrmdYnx7MIxiBWKtY=; b=CwvT2UAWoZiTaFFKdaxFDpPmUTzO8c3bp/BnVecQqIkcqzyB+vRuzDKStt9M2kCeO1 9+c1kNcFjp26NZle78qBW8kAELlca1WuHCb+uH+4OHOfaQsAcwIc9cJsx7khcCXOr10I ixL5PuI4eY+BevssidivgKUQA/Rv2CXCL3KZaKt1qKFqAuDeC3tN9tUGKuS8NDshWFma Dw0SRnvJvBbyy9ggnPmTAP4oZ9zMTVpp4aafkBb8nheWqcgvd7/I/IU5WR0i3JZ+3cnB 5WaCZCxUmWgncYFWPWTJiD2hxQDsyX3Cd+zSCW3/AVioGDz/fM/hd0x7cRFk7RAnd8m1 UJ6A== X-Gm-Message-State: AOJu0YzRwGkNwCOw8N6wH2+wQ9VqUsdwRXP9vJUFxDFitTvGXLSFzhhz QrprAlrHRRuorQGtWOM4EyQWRUyezRVO6I7CJSUn2SxQ6XFop1J23M0bIdEYmeA0 X-Gm-Gg: AR+sD12BmP7ynC1T+4hXebLYhlRV4nxNbFiIyHitW6Hf33Wpywkw24Kc9ovVldxPBvY uJmv/+1JhgEIE6LZBFxuc8vWcFT8UuwyvSZUhLriHKP31eOAH0bKWZLdCw8oj3sZ5Mreq+2PIRo lnsucf5PzUl5m0OSzxyx44+9DKcwfRYk5Z7zgjkEPlgBCldyZKzEZf6OnzwLLMRxIaycOaKOuhQ EtPezsKWDfwoQ90jVJQ+/Nfv9dhxCl1Xwu3kMfiZ+RoJ6VdGfu4nyFIFEzIzGbgcNDCyu6UGxaQ +7kYW6HgphMu4mROZmw6NAiK230sUJEImu/h2OQUc73pZVdsGlv9k5w6RIM0cvRH0/0eQYdYbmw JU5n3Ot+GRsz1h5DCL74fpaWO9xUWeDhRHDl71oLklV266lJevx+bLd4MY8445kPtELGOra4whw TmicLkZ/ql0xxqGjoPQdmocUl1ULHLL1EQOK7RObxGuk4HToYcAIulOjnJ7Vfib3zOABEk6Mrwx uTXWDtdhC6J6SeOcGQpDCISkDI3fL5nCel+46e44EXaVh2IRbMCUOtVoOsE1QXXLU5BvVj+nkeu USp79sKOce3Dxs4nm7ZdlnepE1Vti95hrfTBZVBR0GTIorjwKZ7n4rMKDMMSV9MVM3HbVyhkSV2 w6DSUQ6yCe3HNAvRJtjTTNqoaO2Tb7XRAwWz8jYO1V4BdsQ== X-Received: by 2002:a05:6a20:2443:b0:3a0:bc61:62e6 with SMTP id adf61e73a8af0-3cd010d6404mr14694523637.8.1787183842764; Wed, 19 Aug 2026 16:57:22 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327bf175399sm18411174eec.26.2026.08.19.16.57.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2026 16:57:22 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-networking][PATCH 2/3] python3-scapy: fix UnboundLocalError in interact() Date: Wed, 19 Aug 2026 16:57:17 -0700 Message-ID: <20260819235718.3372843-2-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260819235718.3372843-1-khem.raj@oss.qualcomm.com> References: <20260819235718.3372843-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Aug 2026 23:57:25 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129369 From: Khem Raj The "Emulate interact()" UTScapy regression test failed: IPython requested but not found ! Using the default Python shell: History is disabled. Traceback (most recent call last): File "/usr/lib/python3.14/site-packages/scapy/main.py", line 857, in interact banner += "\n" UnboundLocalError: cannot access local variable banner where it is not associated with a value scapy.main.interact() only binds "banner" in the branches handling the ipython, ptipython, ptpython and bpython shells. The test asks for ipython, which is not in the image, so scapy falls back to the plain Python shell and leaves "banner" unbound while still running the unconditional "banner += \n" for the caller-supplied mybanner. The test is correct and the bug is in scapy, which still has it in master, so carry a patch initializing banner from banner_text before the shell-specific chain. meta-networking-image-ptest-python3-scapy now reports PASSED=319 FAILED=0, up from PASSED=318 FAILED=1. Signed-off-by: Khem Raj --- ...-banner-for-the-default-Python-shell.patch | 44 +++++++++++++++++++ .../python/python3-scapy_2.7.0.bb | 1 + 2 files changed, 45 insertions(+) create mode 100644 meta-networking/recipes-devtools/python/python3-scapy/0002-main-initialize-banner-for-the-default-Python-shell.patch diff --git a/meta-networking/recipes-devtools/python/python3-scapy/0002-main-initialize-banner-for-the-default-Python-shell.patch b/meta-networking/recipes-devtools/python/python3-scapy/0002-main-initialize-banner-for-the-default-Python-shell.patch new file mode 100644 index 0000000000..7de0800c31 --- /dev/null +++ b/meta-networking/recipes-devtools/python/python3-scapy/0002-main-initialize-banner-for-the-default-Python-shell.patch @@ -0,0 +1,44 @@ +From 3d1f9f8043e239d6313d9b9c02a9d6ead6c32302 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 20 Aug 2026 00:14:29 +0200 +Subject: [PATCH] main: initialize banner for the default Python shell + +interact() only assigns the local variable "banner" in the branches that +handle the ipython, ptipython, ptpython and bpython shells. The plain +Python shell leaves it unbound, so the unconditional + + banner += "\n" + +in the "if mybanner is not None:" block raises + + UnboundLocalError: cannot access local variable 'banner' where it is + not associated with a value + +This is easy to hit: requesting an interpreter that is not installed +(e.g. conf.interactive_shell = "ipython" without IPython) falls back to +conf.interactive_shell = "python", and any caller passing mybanner then +crashes instead of getting a shell. The mybanneronly path happens to be +safe only because it assigns banner = "" first. + +Initialize banner from banner_text before the shell-specific chain so it +is always bound. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + scapy/main.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/scapy/main.py b/scapy/main.py +index 990f27f..924e6dc 100644 +--- a/scapy/main.py ++++ b/scapy/main.py +@@ -828,6 +828,7 @@ def interact(mydict=None, + # repl.use_ui_colorscheme("scapy") + + # Extend banner text ++ banner = banner_text + if conf.interactive_shell in ["ipython", "ptipython"]: + import IPython + if conf.interactive_shell == "ptipython": diff --git a/meta-networking/recipes-devtools/python/python3-scapy_2.7.0.bb b/meta-networking/recipes-devtools/python/python3-scapy_2.7.0.bb index c21d2eb0e3..35a4c6fc36 100644 --- a/meta-networking/recipes-devtools/python/python3-scapy_2.7.0.bb +++ b/meta-networking/recipes-devtools/python/python3-scapy_2.7.0.bb @@ -19,6 +19,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRCREV = "1de09fe85fe5c9d60ea5c6de130374e170b5bc28" SRC_URI = "git://github.com/secdev/scapy.git;branch=master;protocol=https;tag=v${PV} \ file://0001-python3-scapy-skip-ICMP-regression-tests-in-ptest.patch \ + file://0002-main-initialize-banner-for-the-default-Python-shell.patch \ file://run-ptest" UPSTREAM_CHECK_COMMITS = "1" From patchwork Wed Aug 19 23:57:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 95853 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B250C5B572 for ; Wed, 19 Aug 2026 23:57:35 +0000 (UTC) Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.2977.1787183845077742891 for ; Wed, 19 Aug 2026 16:57:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=QZ3Da76J; spf=pass (domain: gmail.com, ip: 209.85.215.174, mailfrom: raj.khem@gmail.com) Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-cbee3777e1cso784462a12.3 for ; Wed, 19 Aug 2026 16:57:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787183844; x=1787788644; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hqHISEwHjhGb6WmuglD21/W2rRNk8W7E/aeq8rirnL8=; b=QZ3Da76JJizeKdDF5J7UoB/QsT6gLj3MDBz5lVPIcRe8c1n9H8s+c2V83n9tanrxRs v4rNoMPbJJpfV0jhWQqxbhQ3kvZSu1RVe5sZsm+Zov+F3f7BRW9/VYEDRBOsIzJjZ9Hn NpJGZUM3BkmWnYrXh9OUDy+EqdF7MaBYopTYGlI9bsHJ9Y3NVGQRan+70Toakl1LI1Xr ceOkFUTwC9rF1yvVS1DhR826p9JiDK8m9stDjcgEzIlOat/2JBu+kmZ+GRnyu5Cy5E6I 5TNhVsc+PVr0Zfm2XEU9XgMaK/j/YadgCTiRRdzmlTNPjFPbN2JxYphkG6lv2HtYv5TH JFrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787183844; x=1787788644; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=hqHISEwHjhGb6WmuglD21/W2rRNk8W7E/aeq8rirnL8=; b=pHB4cgVPgbbHfiCTBw97ZpWRtsCKGwte4UNKzchzvgqGnyrpW/CRTN99MLyCWPMwUg gcd9vJ06cz3INmc2EhHdXUQC+D7KsqiJoVrB2mMH8+jr3SWOuKkehq2I7SmA7cW/cFW8 7GjMOh03cg4rZ/7IX56HDXINdezczHS0w5MKlCJip1pf6oRPgCv1K3Uw0YwbwQd3GyJ1 rwyTnLV/a7hia+fH2pfnVKIUQgCH8f8VlTpOuQ6YVpVG89GK9Yt3QPGqyTjMPGpsV8of M1oXXbTLU2qFoJ3lHjBz7aMX/VSwvt+7tZqtxzEjxR/045yjt40XkIn9UYdFib5XvS+W CEaA== X-Gm-Message-State: AOJu0Yxk9DHPruUTfd80HoNgy8x59sCQ8B/U7hAFPFEJWTTGR+AD9foD NmEBcpEz7yjlZ/5D2/vc7S0saNxsvozH7erzSLY15nIlhgyTFxuzjjRU1E83UbJk X-Gm-Gg: AR+sD12l3bRU4MNqKXZBBAJO/0NKmqe3QeMggN+sHFqoRP2CBRRzxW5uxFKSXxAMxZp 24n39+weW3mjYJQjy0SqCnQ7hdlrdbCqB65liulXNAllvJiXl/NY9pfxoMRsKTXxKh+wIklKx0b 5h6DsAazWY4TU5dhXZQdZZcKFhg3gop4PnKQnLlrm8u+Q58DoItD76JfhHxP/BUY1zjlGjF4VsB qfiQ5QuGRUAcDJRivTckC5m07RQ5r6Rm6+OkkcAJeBFVvDvdfIfslHn3PkDU/BtBYy+M9oQUlnb SnxpIpMQKAiDWc6xN+PrWZNqNJjmpX+P8BYr+E6JxvPRbeFPlBt839A6zU76S/CgovIcTFDzCi7 JManRM+4V0I43koYsIhPvnc4Zz0hzBx24gZUIx7JAOa6K1Fq+9XI6WUTITewasSTBO1Licyyn0H SpX1e+0E3cIRQmyHuOEGuAFpFQ8Sl8xN+d268VPFph0nso3MOKV9fgnt/YcsVh+AEIK6JzY0Pu9 aT+fC14uBSGrzKNDE9fnqst59h1jzo4WDkIgzYkwYkBC5we9ODGW/MtaQFQmZAcVJbV+/ducPQ6 XIUG1GSFK/FJ1OVXkKCA2JZG4z65/IcvEDwrFRgr+MUnzo+rcyFWxFqnFlwREkx2YNU01KRugI9 ecKzXDFProG5cr3Eig1/sULfiM4ikDH9gKZr1A8aIdDsd5A== X-Received: by 2002:a05:6a20:c78e:b0:3bf:7bf7:7913 with SMTP id adf61e73a8af0-3cd0122509bmr19196708637.14.1787183844286; Wed, 19 Aug 2026 16:57:24 -0700 (PDT) Received: from apollo.localdomain ([208.95.233.74]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327bf175399sm18411174eec.26.2026.08.19.16.57.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2026 16:57:23 -0700 (PDT) From: Khem Raj X-Google-Original-From: Khem Raj To: openembedded-devel@lists.openembedded.org Cc: Khem Raj Subject: [meta-networking][PATCH 3/3] python3-scapy: keep UTscapy failure diagnostics in the ptest output Date: Wed, 19 Aug 2026 16:57:18 -0700 Message-ID: <20260819235718.3372843-3-khem.raj@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260819235718.3372843-1-khem.raj@oss.qualcomm.com> References: <20260819235718.3372843-1-khem.raj@oss.qualcomm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Aug 2026 23:57:35 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/129370 From: Khem Raj UTscapy writes its detailed report, including the traceback of every failing test, to a file under ${PTEST_PATH}. Under testimage that path only exists inside the ephemeral image, which is discarded as soon as the run finishes, so a failure left nothing behind but a bare FAIL: 000.01s Emulate interact() line and diagnosing it required rebuilding the image by hand. Pass -F so the report expands only the failed tests, and cat it to stdout when there is one, where ptest-runner records it. A clean run is unaffected. Signed-off-by: Khem Raj --- .../python/python3-scapy/run-ptest | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/meta-networking/recipes-devtools/python/python3-scapy/run-ptest b/meta-networking/recipes-devtools/python/python3-scapy/run-ptest index 79e435a5ac..058bcea8a0 100644 --- a/meta-networking/recipes-devtools/python/python3-scapy/run-ptest +++ b/meta-networking/recipes-devtools/python/python3-scapy/run-ptest @@ -6,6 +6,17 @@ if ! nslookup example.com; then trap "mv /etc/resolv.conf.bak /etc/resolv.conf" INT EXIT fi -python3 UTscapy.py -t regression.uts -f text -l -C -K skipped_ptest \ - -o @PTEST_PATH@/scapy_ptest_$(date +%Y%m%d-%H%M%S).log \ +UTSCAPY_LOG=@PTEST_PATH@/scapy_ptest_$(date +%Y%m%d-%H%M%S).log + +# -F expands only the failed tests in the report, keeping it small while still +# recording the traceback of anything that failed. +python3 UTscapy.py -t regression.uts -f text -l -C -F -K skipped_ptest \ + -o $UTSCAPY_LOG \ 2>&1 | sed -e 's/^passed None/PASS:/' -e 's/^failed None/FAIL:/' + +# The report only exists inside the ephemeral test image, so echo the details of +# any failure to stdout, where ptest-runner records them. +if grep -qE '^###.*=\[(failed|interrupted)\]' $UTSCAPY_LOG 2>/dev/null; then + echo "--- UTscapy failure details ---" + cat $UTSCAPY_LOG +fi