From patchwork Tue Oct 20 12:26:42 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pratik Farkase X-Patchwork-Id: 101386 Received: from OSPPR02CU001.outbound.protection.outlook.com (OSPPR02CU001.outbound.protection.outlook.com [40.107.159.30]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.6162.1792499211640567692 for ; Tue, 20 Oct 2026 05:26:52 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@est.tech header.s=selector1 header.b=jecbScrB; spf=pass (domain: est.tech, ip: 40.107.159.30, mailfrom: pratik.farkase@est.tech) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k5G1BH7U+LnJL1Nswxij13ExBHvaJvmwzrTFqvW0HnxdSi7Qc9CfbTf4eYXZHgF/lKIx8OkoihpLyiBbDASAoB5LDLVdsI4TAdiYMMM+92CStznfMql+rJarCnN2ls3gn8qCmzbB5003DN69CSYRyod4cEYmaxtDIfzdBE95Xp8Af6yrynHum9R6qAApMputnHOgIGnCWGNOLcmNZ9KjIfxatgdcrRh+I0mBWM8KhKPMC4GxGxro0nCaIJVJ1Ncr82IvtraMyBGhaa7i6KjSPZoD3FeYsVfHm/MepsKHGCRnpANS1We5U8q7Qvh+zd8q7uFXNVJa7rAwQIBAg8f/Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xgs+cDbHt5rSmPoJntMctrP9wJR8kNjpejZps5XRM/Q=; b=GvwO1tHN3Z8Z/eHAYoaMG+mSDIHNw0+6gxxBI4BK+3e7+pBY+sHROtNj0V4TmEbubpVBRd7efLfpUAdKfZJmU1NdTjmbOtLf/KAc6+5pSSEiAppWwPxinYy1tPViArUyjK/HCZQX2StG4ywzFgj8O29xFiZXZwdVvQga9WmpJj5m0ze+QZuFz6Z2luBSAtX+nKcDno8Z5aUJsqy8wg3nl3yMGIHcHKXr8ITIFKmYgG/FQu6nVLsU5jNL0HjmxGQR2KIjiKjrZd6Q+EWbZd+8AiHWopnNJlOWBVhPBLLZ7BkuI7QQeNc0xaA4Jn6KlqR9WZEHiUdmfCWEa7YT9ZRD3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=est.tech; dmarc=pass action=none header.from=est.tech; dkim=pass header.d=est.tech; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=est.tech; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xgs+cDbHt5rSmPoJntMctrP9wJR8kNjpejZps5XRM/Q=; b=jecbScrBdHcV/wJcfK4gt+EHEg/hfkQj6R6gScnywpmes+7eqbHa3Iv4PaYz4OC/hhOJClf7R4WGNbUCmP1k/zwGVBh3BI/RVX3qNZ0E2+lBsoxPPcqiWzqnGdpe024VKZjIL2SwdC3EgYmbuCGAPYyBphYQtfQs6bncx1a4eHNoLYddtA2xQGgnGr2sYHGPfDVjUh43yPi1Lqt3X53BTD2jC5DRMDUmEh/Jzpq4UVBXqC6xL4ujbL59TiXI20UFp8LgCMkWMcCbMGvJpnf/qy2mJ8at+uaH7+0+Uo4SAc1iEBRZt3xeSh1Y8P1nmb3Iv7Hz7QJvH0y9CAEl+xQ8kg== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=est.tech; Received: from PA3P189MB3239.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:4d4::5) by AMBP189MB3297.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:6a5::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.19; Tue, 20 Oct 2026 12:26:46 +0000 Received: from PA3P189MB3239.EURP189.PROD.OUTLOOK.COM ([fe80::117b:a2e5:ceb1:7a91]) by PA3P189MB3239.EURP189.PROD.OUTLOOK.COM ([fe80::117b:a2e5:ceb1:7a91%6]) with mapi id 15.21.0522.017; Tue, 20 Oct 2026 12:26:46 +0000 From: Pratik Farkase To: openembedded-core@lists.openembedded.org CC: pratik.farkase@ericsson.com, Pratik Farkase Subject: [OE-core][PATCH v4] libsoup: add ptest support Date: Tue, 20 Oct 2026 14:26:42 +0200 Message-ID: <20261020122642.28387-1-pratik.farkase@est.tech> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20261014085044.14497-1-pratik.farkase@est.tech> References: <20261014085044.14497-1-pratik.farkase@est.tech> X-ClientProxiedBy: DUZPR01CA0055.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::19) To PA3P189MB3239.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:4d4::5) Return-Path: pratik.farkase@est.tech MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA3P189MB3239:EE_|AMBP189MB3297:EE_ X-MS-Office365-Filtering-Correlation-Id: 119aa6d4-01cb-4e0c-315f-08df2ea5680b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|11063799006|56012099006|10067099003|260925021911599003|261009223027099003|261009223327099003|260925021311599003|261009221727099003|260925022911599003|261009220027099003|261009221227099003|22082099003|18002099003|6133799003; X-Microsoft-Antispam-Message-Info: iNKpAKrH1ZAIELMHSMaxvP1EoBNFhC/qrIZe2hy5YLwqGXDa/ZKZ/vi7B26osIeK/QlReUV+gzHvhMmiB9tXE5uHg1AqoT8r73lj2K4K5Z/+sQ7ZfHKJI5s/BI1wWKsVKSXv+oSaWug2oBdjtYa9YIXEyOljyGMFaRz+AuovYZ6QoptKfyovD4eXGD9hHegM3djd8PWj+bh430tLucOS1OI5aErtU8eB6M56+eWlF8QEapX+m5T1WlPVkQuF9FmivE44pzAr1PZqP1kDbT+tfQhRhrEBBvmAm9G0CxAKQOmEAUWcIlZ9mIYBeFhvFe+avhm7yoaymFqXOEBr/zYrnLU////2lo0NJXpM/VoRSyGdgHCpgKnu1GBBLZbFm9R4scRane0eDsh8RQWDPszXsxSG6B2zOIKGXfNbEPobvqZScVbdWHxd6JiEVFcE9T0X3wVWNBlDgPyW/BaLkaUNpZGaq2gax2WFIOXSyu3OdozQsHjxu9A6P5PoplzT66TxPiulELtYVqHod6SDpiL+cTl5wR8nqhWDWhxNnd2e89jfDv5NvoINVZ6lbRgJkk/BetMIs2WVx7tdOuJ6APL+r3N/HzSARavvbDAs5jlqTv8/LV+JluG8CqH72GNTgT3tcVY65KiTmov7UMESQOAHFFYj0FMqY3x9Q+7YB29clKA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA3P189MB3239.EURP189.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(11063799006)(56012099006)(10067099003)(260925021911599003)(261009223027099003)(261009223327099003)(260925021311599003)(261009221727099003)(260925022911599003)(261009220027099003)(261009221227099003)(22082099003)(18002099003)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: J+FVTvmBJrLlXVbGjFxjOK2aPbbf6GU55gtfrva/sdp8wtoJg8wsohLwsmIaYP4CUepMnWDn/NwO+7RsO/9kLSj/hIdQzkWq5tu0hCtU6wwmSQnkLkI2ubJRgOMyIynIdemNFC5tCiNNCCzflo0LwWz5cmUJETt/GaClTthXg00ItmU1ROvxtfOqlvwaqtnLXAvylvhUnpxx6uDqaYTS7xYOojLIbyMglhykR/ofw5DdrLZoMLflxV3erwO8kZKkFy3gN89gSbyOTCTtflUmgDSaQ3/U40dSnfvc7OzPsQDxkANAmdKqltLzV7o3tK9LLTZJiGp6YnUwWdmzPIRJRQgSauQMIGS65Tbh2HR+iMCCWBfO5JNwFoAVsnMOzD5YtKLcpyzoMr7yXTmTl8F2Jl8C8KOpu3owWUneApjSUm9mUX0Oui9NFA5BnfuL9GBRHpOzoa5vSm1valYizMDfLZDdGEcPXzr0+TAhjRgammC4yXYT3DUsHmlvlsz1CDkYqU/ZLGrGlOe7Dg+czcmFEGLHmgrYh9zSH3YK7zX12Xi7hK3LfC0LDT+XTOoXBxYvK4pvejFXZBGSJ47TIGyrXU8iAFKA+G5cqLYSspokdkJQSZC9tBBXJfexXs6RGS5Y9fyOa1Un1MmR4wqVNtK7WPY5dlOcq9Saz1SpYkKqvz6XxpLf96l45qhZ8Z27V52k6FelKBHLSa+PQ+YumiVJt1RGZ/hqCxRZ5KOUjvSlTjXYC0glEH2zgQvssDI7Cbo1JyPLl3BAkLTwD5StmTtE5xAe4tvtCoFFo3+XP3SO8zNAIr9D6+OUjJVla95wUrblZhlbDiaOSlI96KyCVy/pVu90eKugsVjsmA2r7wD2f6kPhfJ4AlZUdZzzMYuIm0kcHTOZSmhR1nTchtGmMM49NjkjdRniZxW1VPF3TkBeMPHw8HwMMm8i8VOKOOkdhDzDgobMCCT54X+Agvkv9fCy1BMHm024BMavuAYNhTrSveVQebe5njSgC2JVYHNOjH5mFBaGm/a9EUdk5JV/w3jMWJUyRD7et+gazyZCG2/YD6swOxd6V3HN22BXWrsZcuPreCY/+TBa8/4G0H5m2gBE8JcogX0Cp0VY6m2ChfZ+jMZJY2+DiaZ90XkreGySJYChKr4EjaBvxOpRLVKf8hN/z27T7Vj+IWruGxampZMeiElmPkQZ1bojCDizlnYiHbZuQ+WUEZrGki/rzS0CV7GopT48sMGc30VTKKbGm6HKxB2UkjU4wl93JZsDn+4nNa7C9f49yXbNSgAUhJu7omtds5MUaajIoG/hvhSjR0SlNNyj+OXxo8DVWemZARtCo1ywZzZZzRKTGDttq8x6yrpC6o3NduWBVyROY+WCRGoixTw1iB+XocdUkVkBB3Myhqn37nOKjqW3FsA5RHWP8eau0BiAntPOQNSoY1hgnajsHaFN+4IQXqXv4nUKxO99/7E4tZRHpPvJO50CHIlVxY1Sw7dY6yzhsEt+UO2Tum6hjq22QFM5MMAxEmvjht+Fj6J9tnzFFL3EaRWHqgARZOAYWsDyzh/uu+VTDmTLbM8BTydWEWjbDhwjtfqsuRjTcIGbA03su31EqI7TSJ5ZEsZe2iM2Qcxu8xVGs1JGctQBEV7gM6VvfwAnBq7PeFNrvFJRvwCD7S/6/03cJOvQYsT9MKOPGY1dMv42yu69IyMjEQbkajIscyOJY82dPLhvSUTtlFgXoaPkIlSzZVxDKpB2hQ== X-OriginatorOrg: est.tech X-MS-Exchange-CrossTenant-Network-Message-Id: 119aa6d4-01cb-4e0c-315f-08df2ea5680b X-MS-Exchange-CrossTenant-AuthSource: PA3P189MB3239.EURP189.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2026 12:26:46.1158 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d2585e63-66b9-44b6-a76e-4f4b217d97fd X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QGnJoXkbWWgQ5hsN4l279GvoMC4bJVhswkwWSCpAmh4myHKClOX4m5tFwcnc1NBAv89ALFrujzNOJNxYRRmTgQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMBP189MB3297 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by lin-tor-korg-lkml-alma10-1 with HTTPS for ; Tue, 20 Oct 2026 12:26:56 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/248276 Build the installed-tests via the meson tests/installed_tests options (enabled through a new 'tests' PACKAGECONFIG when ptest is in DISTRO_FEATURES) and run them under ptest with gnome-desktop-testing-runner. Some tests are excluded via PTEST_SKIP_TESTS: - header-parsing-test hits a glib parameter-list parsing assertion. - logger-test and http2-body-stream-test allocate multiple GiB and are OOM-killed on the ptest machines. - http2-test (riscv64) and multithread-test (aarch64) intermittently abort during teardown on the slower emulated targets. Tested on qemux86-64 with ptest-runner. Signed-off-by: Pratik Farkase --- Notes: Changes in v4: - Skip http2-test on riscv64 and multithread-test on aarch64: both intermittently abort (SIGABRT) during teardown on the slower emulated targets (seen on the autobuilder over several days). Changes in v3: - Drop the QB_MEM bump; exclude logger-test and http2-body-stream-test instead, as 4 GiB was still OOM-killed on the autobuilder. Changes in v2: - Rebased onto master after the libsoup 3.6.6 -> 3.8.0 upgrade. .../distro/include/ptest-packagelists.inc | 1 + .../recipes-support/libsoup/libsoup/run-ptest | 3 ++ meta/recipes-support/libsoup/libsoup_3.8.0.bb | 37 +++++++++++++++++-- 3 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-support/libsoup/libsoup/run-ptest diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index 2bd11b1706..992d3666b9 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc @@ -138,6 +138,7 @@ PTESTS_SLOW = "\ libmodule-build-perl \ libpcap \ libpng \ + libsoup \ ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'libseccomp', '',d)} \ lttng-tools \ lz4 \ diff --git a/meta/recipes-support/libsoup/libsoup/run-ptest b/meta/recipes-support/libsoup/libsoup/run-ptest new file mode 100644 index 0000000000..efe975cf3f --- /dev/null +++ b/meta/recipes-support/libsoup/libsoup/run-ptest @@ -0,0 +1,3 @@ +#! /bin/sh + +gnome-desktop-testing-runner libsoup-3.0 diff --git a/meta/recipes-support/libsoup/libsoup_3.8.0.bb b/meta/recipes-support/libsoup/libsoup_3.8.0.bb index 2a40eecaea..1ca40423f0 100644 --- a/meta/recipes-support/libsoup/libsoup_3.8.0.bb +++ b/meta/recipes-support/libsoup/libsoup_3.8.0.bb @@ -9,20 +9,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl nghttp2" -inherit gettext gnomebase upstream-version-is-even gobject-introspection gi-docgen vala +inherit gettext gnomebase upstream-version-is-even gobject-introspection gi-docgen vala ptest-gnome SRC_URI[archive.sha256sum] = "bbf08fa3e03a88c31a3d27a0d87cb422e9490f2d08e149211103df6d638a2238" +SRC_URI += "file://run-ptest" + PROVIDES = "libsoup-3.0" GIR_MESON_ENABLE_FLAG = 'enabled' GIR_MESON_DISABLE_FLAG = 'disabled' -PACKAGECONFIG ??= "" +PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5" PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled" PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof" +PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false" # Tell libsoup where the target ntlm_auth is installed do_write_config:append:class-target() { @@ -34,13 +37,35 @@ EOF EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross" EXTRA_OEMESON += "-Dtls_check=false" -# Disable the test suites -EXTRA_OEMESON += "-Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled" +# tests are controlled via the 'tests' PACKAGECONFIG (enabled for ptest) +EXTRA_OEMESON += "-Dautobahn=disabled -Dpkcs11_tests=disabled" GIDOCGEN_MESON_OPTION = 'docs' GIDOCGEN_MESON_ENABLE_FLAG = 'enabled' GIDOCGEN_MESON_DISABLE_FLAG = 'disabled' +# These tests abort under ptest and leave the binaries in place: +# - header-parsing-test: a g_hash_table_size() assertion in +# do_param_list_tests() does not hold (returns one entry instead of three) +# with the current glib. +# - logger-test (long-invalid-body-length) and http2-body-stream-test +# (large_data) exercise multi-GiB allocations and are killed by the OOM +# killer on the memory-constrained ptest machines. +PTEST_SKIP_TESTS = "header-parsing-test logger-test http2-body-stream-test" + +# These tests intermittently abort (SIGABRT) during teardown under the slower +# emulated targets, so skip them there: +# - http2-test on qemuriscv64. +# - multithread-test on qemuarm64 (glibc and musl). +PTEST_SKIP_TESTS:append:riscv64 = " http2-test" +PTEST_SKIP_TESTS:append:aarch64 = " multithread-test" + +do_install_ptest:append() { + for t in ${PTEST_SKIP_TESTS}; do + rm -f ${D}${datadir}/installed-tests/libsoup-3.0/$t.test + done +} + # When built without gnome support, libsoup will contain only one shared lib # and will therefore become subject to renaming by debian.bbclass. Prevent # renaming in order to keep the package name consistent regardless of whether @@ -50,6 +75,10 @@ DEBIAN_NOAUTONAME:${PN} = "1" # glib-networking is needed for SSL, proxies, etc. RRECOMMENDS:${PN} = "glib-networking" +# The TLS-based tests (ssl, server-auth, websocket, hsts) need a glib TLS +# backend at runtime. +RDEPENDS:${PN}-ptest += "glib-networking" + BBCLASSEXTEND = "native nativesdk" CVE_STATUS[CVE-2026-1467] = "fixed-version: fixed in 3.6.6"