From patchwork Thu Aug 17 17:03:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Marguet X-Patchwork-Id: 29091 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 1613BC41513 for ; Thu, 17 Aug 2023 17:04:17 +0000 (UTC) Received: from mx0a-0064b401.pphosted.com (mx0a-0064b401.pphosted.com [205.220.166.238]) by mx.groups.io with SMTP id smtpd.web11.182.1692291851515049682 for ; Thu, 17 Aug 2023 10:04:11 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@windriver.com header.s=PPS06212021 header.b=YoYT3qKY; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.166.238, mailfrom: prvs=75933f71e7=nicolas.marguet@windriver.com) Received: from pps.filterd (m0250809.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 37HBIkuo009687 for ; Thu, 17 Aug 2023 10:04:11 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=from:to:subject:date:message-id:content-type :content-transfer-encoding:mime-version; s=PPS06212021; bh=yLIpu kJQmPT67lWdEo4uN+QxxgAHTaaPrJSpijeMTsc=; b=YoYT3qKYLLd4hiSOoTIfB g6ZbZbVcrojs98CpmO0PCSxBnQws6+j0zltJL3SXsgiiKFxfpAHdh3I7SAhCNjua POu4E8xpLBnCtxROHQYJd+KliS9d3Omr+LEyPsVQ6iq2vHWJPfpzBn3GdfFk1Zlo p2IU67nhrC/KZwI1QuZjSqeeB4eXWkx9T4HYxiTSYTZokv/cpFuRzA+iOaROGZVY Hvn5DK1EImN0IvDjRx2ht+59ys96pdunqX+qa5F7t89W4deEslbCo6MtW6F6FU6R 1bHAp6wpOdaDgMWXrLQraYAclmrCIsNHaQvwYFassmjSqA674Xtwa02ZtdKhYZ6c g== Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2105.outbound.protection.outlook.com [104.47.55.105]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 3sg0rrjuh3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 17 Aug 2023 10:04:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n/gC2+7NQQsL3aOOZtfTdBU7FcAD1oYVk2kRbk9fgIOHowd156X1lvCoYrNROPPImMrLWszwerNqFu0gQRd1ZmUGEGqRKIopwqDhOkdrlCO4rlXi8B54NukUc3++GVMS00MmYjcJ54uaPAppdUNF7MwoRgG2eB6ZfcXrUwaef/NowPMBNDmj9/lW+gM38r62kOFoQ98DU2oPbOwna53WJp49Pvib92aeUlPQPQT8X8WH5uuLF88BeizgRvfSK1wd7v/fmV9Dwlfn/3GZhxLOojXFaVyOetwHQGpb4ANfo+MxS4lBgr9rC6qfTu9PTDE9wzeVzUVGh/S7NZGGeFB3yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yLIpukJQmPT67lWdEo4uN+QxxgAHTaaPrJSpijeMTsc=; b=dRW1R+dgacd1XHGZuqVggTQlb30xnIQb071mFKDvRQWiHuYSm+T4+s3eztK+ai7Yiytcc3TQGH4/zUbSbROAWqcZRiwdI115q3nmTtAwqQNx/PMtUebJ0qGPIeeaHhxCRSBtJtail/VRoXVzKDhV/uMn1gZASjj+mEQtHrxY8/369+l1GF7JC44BLrUgoNgkitjm4p/C9qz+VQxRTPQOXQyYlM7K7et5rPC6Kav49OL0+jIBFKHseB3abQD7A2s5i03rsB934PnsPYLFRh5zoIudnDcD+WNvBr/D1ABuhFwoabvj7ZMsc3+OZi0Lpj4ZOSKsQzswtcVKzjSqv3ttnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from SN7PR11MB6701.namprd11.prod.outlook.com (2603:10b6:806:26b::11) by LV3PR11MB8460.namprd11.prod.outlook.com (2603:10b6:408:1b4::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.29; Thu, 17 Aug 2023 17:04:07 +0000 Received: from SN7PR11MB6701.namprd11.prod.outlook.com ([fe80::6a71:c066:db13:7c91]) by SN7PR11MB6701.namprd11.prod.outlook.com ([fe80::6a71:c066:db13:7c91%7]) with mapi id 15.20.6678.025; Thu, 17 Aug 2023 17:04:07 +0000 From: nicolas.marguet@windriver.com To: openembedded-devel@lists.openembedded.org Subject: [meta-oe][PATCH 1/2] librelp: add ptest Date: Thu, 17 Aug 2023 10:03:42 -0700 Message-Id: <20230817170343.3597778-1-nicolas.marguet@windriver.com> X-Mailer: git-send-email 2.39.0 X-ClientProxiedBy: BY5PR13CA0017.namprd13.prod.outlook.com (2603:10b6:a03:180::30) To SN7PR11MB6701.namprd11.prod.outlook.com (2603:10b6:806:26b::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR11MB6701:EE_|LV3PR11MB8460:EE_ X-MS-Office365-Filtering-Correlation-Id: 8a2f5e7e-fab6-44cf-37f5-08db9f43f7fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p/9hMD/ea4zCF9Uoaw88oYD9bVlDYmXwJ/bmZaE6IZeO8PpL1x6GGyvk36AyJ0RPC0tHlTflg5tgdFfNQ0EVyNJkqMDYTsESMdiLv3NYN+RKe/dfA5f8OOZOEy48JaerTLN2iSO2VdhRKuZEfgeRRod9s0J0D4c4MyEikYg5PSCz0Ddi/7MKeTyTfscqC3KqN5JpeU1PHPiBfFrj16+eXRhdTeREBoP91fzt4CkyMYl/nYeNLTlGanailOFTfBtG9SsX665e7/tKKSE/ALybZb9NGzd73ozqR3CFUUglUC8B68wDjfB/DZj8JIzTo9+4G6MkbwiDMA9qZZNGHeFOb1UGKE6sLPx++Yk9PX2YN/pQaTCGnKNs+GK5+aCH8UN02G4thjbHIHbG07INf6/JbNXn3Ykl80XB95iR3MFLZQz0ltqPk8ZSeCKfx24b9kntyLmTJQ88ZYw82caWwM+jx6PzOZYwltZW35kmTBodxIB9Xvuvq9t7VpBb/ykAYuHSbaVFUlEfidylHWp3HgyrFcQGisx8hqkN0RdNBqdZ2SCdsBnsxz/K7O1OeIxyMUq8AzgPDbIdBdipt8hSZM+k7aAwi9XnlUZEC+UAHEYDbZ0= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR11MB6701.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(136003)(366004)(39850400004)(451199024)(186009)(1800799009)(316002)(66946007)(66476007)(66556008)(6916009)(5660300002)(41300700001)(38100700002)(38350700002)(8676002)(8936002)(26005)(2906002)(83380400001)(478600001)(86362001)(9686003)(6512007)(52116002)(6666004)(36756003)(6506007)(1076003)(6486002)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?f/I2W47VdWh0gdGthTDBQCAJ+wv1?= =?utf-8?q?RVmR4TrHZI/i9CtXNUBRIwaYwDAbMBVRXRH5doFgRJ1a1EJ+IjtNePE1uNDnMX6lU?= =?utf-8?q?Zw+nEBXPGWh5LMRMEult61m7awr4XbrRm+l323tSPY8+4RFuAkj5zuwURbjXosHG+?= =?utf-8?q?TCrmDtm+BDv+nzIKexYgo5/vUQ0CJVhs7XDPOeWYjHQ5K756qAzTxygqObo8ZnCBo?= =?utf-8?q?SF1UIyhi3LZI3GynfD55vaCUNeRAKHhOkJ8vOMvcuu7/Uo0fKRyPVoJbcucrb1lZv?= =?utf-8?q?MYl6y+z8Q41cYQpN6umBWtciqSXMuqXjEFQt6PyKZyN7SAPg8ZzowUL1vqFG4oufV?= =?utf-8?q?V1wYRgbhstw0dfK1YTGndc0dN+/cyHx/h0pD5d5TbMR97W2eLdPXhZAZhAss0fILl?= =?utf-8?q?UsoHbdNDOz9Jr2gocDb7c0PeXTMc6Fs26Fw6e+3tqLofrWUXh6DpiZua3TX7xK37R?= =?utf-8?q?xTlBabeQ6YXx/MU6R5NnFzMFX5fw4wm696MOkDcIThl6TKXIk3eA0Nl7XLWjJoI/8?= =?utf-8?q?QSElY4ZPi4rC1hTjNtWdndF/LkEFxlaFQkyDJqD+3cHkg9SU0Ij4t7Xdg0dNmU2uL?= =?utf-8?q?dyF42bd1rsAz9gclpvshhvU0K6t1ZI8WAXbHXDRR4Pp/gOyvyvuahMXZDaZixfe/z?= =?utf-8?q?GJMUqAu4+XvKBWI/+W+MrgYEo/E/fMAqSQL7zfWsIrRZ3tKF1dSP8zFtoI/vJKLRO?= =?utf-8?q?VPCbmVSJDB4zKYzUnNwGcEBAXdRxP64AjgHSD1yASb3o92QCkIhP9ODUorKv8oAgR?= =?utf-8?q?hKb5/RqAU82Tpl2ptvv3oFTUThYfyWAcAIUxycaVm0zQFUDysPV2SlFltB4Wl2xgo?= =?utf-8?q?uvjmAzNSYCyrEgAI2JpiNXQpyL9sHvjaVdRpHZkbVYd2Iff+CKWI+W4K5hZZfyMcn?= =?utf-8?q?MHaNMRMlZJwxL3YM2GugZxleFljdeQHGPuiSl12KX+jSnTrHqk+Vakd6d5by+Fipc?= =?utf-8?q?OPSqSsUD1/TU9OvHgsXka5YoIIKFYkpQPdRbntrvTDFHr3yM6A6egVuHEAs8/mFiC?= =?utf-8?q?6VwbC/kvMjNMNMiSYadidbI0tSXHdMLWXP7Rir4+ItbboMTTM8Ruxwc6hYWkBlva7?= =?utf-8?q?c3KgN8N2cslo7FUUsL3uOmd32Ctn2MkmHyEIxqg+Of0mNXHNvhWW1aQ91dUuhK8RG?= =?utf-8?q?zl0moksZE0kULwk4YZ4lqS73GONpfFptWf77iWOQnFYuIU0xQPcCamzhxIkngOL6N?= =?utf-8?q?zgCAvxeg5GvrKKMWjf9p2uhcDJS/jnpZUTPHT+batdnl2wF4ufx9Ny9jUjK/uLsf0?= =?utf-8?q?Gm/CfqbLuRtt+PsQRXqcWRwJYZ6cbI9kwTgTFbt4Vl4IUGmCvePOnBKemQdAZZ49L?= =?utf-8?q?zusMjx8LE1y3Td1EHo1I/UN1TNgykBOUaHjUOKeugsi3dl2jNMwNeG28AS+TIy5jE?= =?utf-8?q?rKlzNV52x2v+LshxiKv44tne19RXgPiXIEoSzfVFHuSXruM+i7j/KNUAq+VhL500X?= =?utf-8?q?onYmGqxshbv/GdTUfG8FegpyCj1q4pkkDv323zEA1QZYExNF3qcjeqYHuItgmfIh6?= =?utf-8?q?4mdEquP7sgzz/+sQW+EBQM8cMUDLWOQiCC3HBm9+NP9tVBiPPw0cO7E=3D?= X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a2f5e7e-fab6-44cf-37f5-08db9f43f7fd X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB6701.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2023 17:04:07.6748 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: f76sW14kIxFO9pSzocb/ZpgrqpBxFckOdxZ8ZEFwd3x+MB1UETyvjPuTg1afq+nafazDR970HdVbQPWLrSTvtsSEndlAXjOKd9Kmp19LOdk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR11MB8460 X-Proofpoint-ORIG-GUID: wG25yP46NlVtD6E0croE33PEiTZhhNyi X-Proofpoint-GUID: wG25yP46NlVtD6E0croE33PEiTZhhNyi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-08-17_12,2023-08-17_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxscore=0 spamscore=0 lowpriorityscore=0 impostorscore=0 priorityscore=1501 phishscore=0 adultscore=0 clxscore=1015 malwarescore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2306200000 definitions=main-2308170153 X-MIME-Autoconverted: from 8bit to quoted-printable by mx0a-0064b401.pphosted.com id 37HBIkuo009687 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 17 Aug 2023 17:04:17 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/104473 From: Nicolas Marguet Use internal test from librelp project as ptest. This work is largely inspired on the rsyslog ptest implementation, which copies the automake-based tests/Makefile to the target and runs 'make check-TESTS'. sed is used to fix a few Makefile paths or env-vars so 'make' can run on the target. Tested on qemux86_64 and qemuarm64: ========================================== librelp 1.11.0: tests/test-suite.log ========================================== TOTAL: 30 PASS: 27 SKIP: 3 XFAIL: 0 FAIL: 0 XPASS: 0 ERROR: 0 The 3 skipped tests are either self-identified as “not do anything really useful” or may need to port libtool to the target. Signed-off-by: Nicolas Marguet --- ...line-errors-in-debug-optimization-Og.patch | 0 .../rsyslog/librelp/run-ptest | 10 ++++ .../rsyslog/librelp_1.11.0.bb | 59 ++++++++++++++++++- 3 files changed, 68 insertions(+), 1 deletion(-) rename meta-oe/recipes-extended/rsyslog/{files => librelp}/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch (100%) create mode 100644 meta-oe/recipes-extended/rsyslog/librelp/run-ptest diff --git a/meta-oe/recipes-extended/rsyslog/files/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch similarity index 100% rename from meta-oe/recipes-extended/rsyslog/files/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch rename to meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch diff --git a/meta-oe/recipes-extended/rsyslog/librelp/run-ptest b/meta-oe/recipes-extended/rsyslog/librelp/run-ptest new file mode 100644 index 000000000..a649a5716 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/librelp/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh +# +set -e +set -o pipefail + +SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )" +cd ${SCRIPTPATH} +useradd tester || echo "user already exists" +su tester -c "make -C tests -k check-TESTS" +userdel tester diff --git a/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb index bac5abb05..cbbc31b7d 100644 --- a/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb +++ b/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb @@ -8,10 +8,67 @@ DEPENDS = "gmp nettle libidn zlib gnutls openssl" SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \ file://0001-Fix-function-inline-errors-in-debug-optimization-Og.patch \ + file://run-ptest \ " SRCREV = "b421f56d9ee31a966058d23bd23c966221c91396" S = "${WORKDIR}/git" -inherit autotools pkgconfig +inherit autotools pkgconfig ptest + +# For ptests, copy source tests/*.sh scripts, Makefile and +# executables and run them with make on target. +TESTDIR = "tests" +do_compile_ptest() { + echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/${TESTDIR} + + # copy source tests/*.sh and python scripts + cp -f ${S}/${TESTDIR}/*.{sh,py} ${D}${PTEST_PATH}/${TESTDIR} + # install data files needed by the test scripts on the target + cp -f ${S}/${TESTDIR}/*.supp ${D}${PTEST_PATH}/${TESTDIR} + cp -rf ${S}/${TESTDIR}/tls-certs ${D}${PTEST_PATH}/${TESTDIR} + + # copy executables + find ${B}/${TESTDIR} -type f -executable -exec cp {} ${D}${PTEST_PATH}/${TESTDIR} \; + cp -rf ${B}/${TESTDIR}/.libs ${D}${PTEST_PATH}/${TESTDIR} + # copy Makefile + # run-ptest will run make which runs the executables + cp -f ${B}/${TESTDIR}/Makefile ${D}${PTEST_PATH}/${TESTDIR} + cp -f ${B}/${TESTDIR}/set-envvars ${D}${PTEST_PATH}/${TESTDIR} + + # give permissions to all users + # some tests need to write to this directory + chmod 777 -R ${D}${PTEST_PATH}/${TESTDIR} + + # do NOT need to rebuild Makefile or $(check_PROGRAMS) + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # fix the srcdir, top_srcdir, abs_top_builddir + sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # install test-driver + install -m 644 ${S}/test-driver ${D}${PTEST_PATH} + + # fix the python3 path for tests/set-envar + sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/${TESTDIR}/set-envvars + + # these 2 scripts need help finding their /usr/lib/librelp/ptest/tests/.libs libraries + sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/send + sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/receive +} + +RDEPENDS:${PN}-ptest += "\ + make bash coreutils libgcc util-linux gawk grep \ + python3-core python3-io \ +" + +RRECOMMENDS:${PN}-ptest += " valgrind"