From patchwork Tue Aug 16 08:42:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1666735 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=CIdywc25; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4M6Pnr1Zl4z1yft for ; Tue, 16 Aug 2022 18:44:00 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 345F1849E3; Tue, 16 Aug 2022 10:43:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="CIdywc25"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5BA99848FD; Tue, 16 Aug 2022 10:42:44 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70042.outbound.protection.outlook.com [40.107.7.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1083C848F0 for ; Tue, 16 Aug 2022 10:42:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=stefan.herbrechtsmeier-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=joO32+E3WdN6dK5iKeUIfnaKhpU968NZUlpMs9cS5PI6aqCgiKzfWaC4F68PWxUQ1TOSl7u6hQxtwhdGh9JrA5zmPHHu3jpRNN6a3RnG6Y/FKefhmJYr7hKsfhyTXOFZ3xsDRwSNEa4D2yEtbSCskCGHDRC8oyELSvbMy6d+EsYJ/KMa58iv3sCrI35lxKTBR/1hG/XCQNiL8nqqWmn3K7Xd0VcpMCiB+kYEoawfJDqMVMC77XMt1157fzW8eGLPKCiLSANBdMex+7uOtsG1Y0HlcDSIpwZSEq+GucU4kGsr5m4i2c6MGd4IveSgZbiBimz+g2DN0UvzQnpzMqZ0rw== 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=GwbdVDJinybIQmJ6/IrCTfgQ8gvJh2ZOfNsdvC1hUpk=; b=ly9J5RKU73tGO8zUhkQJGfhxFgBKvOuUoIU8RarMDxuwlgiAZLRcGtUmUjTKx1kh/Z+fzhqiJjyvgS407yhfGLoXeYZIvi4WySvhAtGll3o7EJYgzul0GniGFWG6Xp+CnINsW3iAfTbICrjpEkA1GL2XVw0j6XRt4p0ytmZke5FG8bvURXus7MMF5J/lfw9cQ8qGfDTA8HKyqiTtArHrmNe2y2C4IYFBQ7wCsUPaf9snyb4IgqHgAJXdVqItGyFYWX6lA8UhP/QnEpIrbZgkbRMhMBSdXe5EVQu4vXsrci/kuBvR/2fmSk70vjyGoR5dFogezWaON5fAuWb6L5WsTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GwbdVDJinybIQmJ6/IrCTfgQ8gvJh2ZOfNsdvC1hUpk=; b=CIdywc25PMKd9hIepESpP+hbQw60mTyzZnrueev5RmFHUuGojn6whQjUtbRWs0HAppFpNxnIfxmEVYvKaR4Jv2weJdw/vGaptlDbEvMkP2K6bWwtWq8dC3KFvImwUnhi9+CSqjjN5JdWmSt/xNmwjgoQTwX/Fzbv+e/1JwvNAvA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from PAXPR08MB6969.eurprd08.prod.outlook.com (2603:10a6:102:1d8::23) by AM6PR08MB3096.eurprd08.prod.outlook.com (2603:10a6:209:43::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.17; Tue, 16 Aug 2022 08:42:36 +0000 Received: from PAXPR08MB6969.eurprd08.prod.outlook.com ([fe80::f95b:2e64:9ee6:4d44]) by PAXPR08MB6969.eurprd08.prod.outlook.com ([fe80::f95b:2e64:9ee6:4d44%3]) with mapi id 15.20.5525.011; Tue, 16 Aug 2022 08:42:36 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Simon Glass , Alper Nebi Yasak Subject: [PATCH v4 06/13] binman: Add compression tests Date: Tue, 16 Aug 2022 10:42:03 +0200 Message-Id: <20220816084210.14972-6-stefan.herbrechtsmeier-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220816084210.14972-1-stefan.herbrechtsmeier-oss@weidmueller.com> References: <20220816084210.14972-1-stefan.herbrechtsmeier-oss@weidmueller.com> X-ClientProxiedBy: FR0P281CA0139.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:96::14) To PAXPR08MB6969.eurprd08.prod.outlook.com (2603:10a6:102:1d8::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: da0ea533-9a92-4eb2-fbef-08da7f6344b9 X-MS-TrafficTypeDiagnostic: AM6PR08MB3096:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qTrLaCiQzWN++vPR4EVUaqwcK57UsbP6BWu4zpUXkxdJwq2aluCt63+Tr9hvFywbGy6X/FEVCfGhpekfWkOWu8wQBiLQCdj78M0/UGwCmPlNY4F6DxRmX93myi76J7lzFmGsXkA/6bFdsTZw6KPWe0OeSfH90Abt0b/IoAXEcKHaRc1ZKk+CmlWUdxkbyAYy/y7+JEJY8IYHN7Nn6UA6y5zWSSHNP8yyEljM+yxflrEtMAiZen+N9OMmgArWrwl/2W8WJiDvvnPEPN+o7LL5a3H6+Nz4onFv1KVqve90eUoZsWMoXdVKuOb0F7+XFQPKkKx9hTuMSCZk0sp5BXDplHRjCEsKHTN5WyZaP+8NK+got6NsMOmAFX7jD2DafSB55P1IVVM+newxxt6UiLDC2Ylg9vr4Y3jDcDzUV8r3oXXiKHKgqL2FgZttp4xzAHhhWDZ3uCoO5brqA9xyzhsFpOzHUNCElsu2C7Cn1N1nVC9jF5o08y5XllZ6UVE4hTPxETtXlVh1eF7tQtJPrHCjiHL6d98AzsLQdwt1YsGNTkn2vaqwdx3wpnlyFnxZL9HgARRa6IjbCEHfmEuL48IPYkOUb7rsMrxJtkUqJ5ifIAjOOgazG8O6gZIhIYF/VsE3cyWhwT7Pa+eXKdnKYCoQtTIBCUnSFJXSLluALu4abOlaV8/1oce4BnukgrK/eoOSC8d14w7S2EFDBpxHKWwXOPhL5qF8fc1lb0pj5Z8p8cQPj0oSOPoMqo2CfyHddabeeyAw4GM4txu5wZMsQkFAcihDwR24wx7egksM6HNnJdilE3NBTnvQKMOmyl6y/JRbiYqa8RORiiJMqWvB0jG9vg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6969.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(136003)(396003)(376002)(366004)(346002)(39860400002)(6666004)(66556008)(66476007)(38100700002)(38350700002)(478600001)(8676002)(8936002)(66946007)(6486002)(5660300002)(54906003)(4326008)(6506007)(316002)(186003)(26005)(6512007)(2616005)(36756003)(1076003)(86362001)(966005)(6916009)(2906002)(52116002)(41300700001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BEBmenwpJobxWGEY9GQt/u3G/efWBQt88dxGxQyPXbYl9/DetriQycCZ/rK6MH8jlEdeUqYPT4SMIdHkZzuia9FiktX3hz890KUsYVa55ALbs82rVyVsY0LGiSxx2L75NCoiSCLi1cmk4ld+PbI1mTiK4UU4ftTdn6pH5Of+I6u1LktPDc82yaJ1QzM6jUgAE3tozXOXsaGqNRrfpXHmmaWpggHDl7A6pFgvf0nC43M5UXcQYPnE1S9MG6XWMkq6HP5wF9xJw55dsa+h614DidskoEH+5rJAqWvxg9fT5AYgKQWROzVvxMnr70vt6oDUGOFGlr/9NagZDF239Tq3VeJzSOOdD8PcAXVkE9+ewhhnaKtPjx0uciyn5+ANPhXbHRRugLAn72mrrZs85J6JsJsIc+aXTWui4kUqPQN/FtGY132QYcw0uv5ERTGOF+ORWSoAu92ImnneAcWLR+mg+HP8eS5s5HvLZMvZ9uM9sqF7O5XU+TTjyX/F5E6rOKEHwAn0H4qo/e8NGR5kWgXR8apk6Z+mNxVV2pu9rjK7M6cAO2kV+RP5o84xYXcdYY+rUm0Z+wSisg1v43R65juQULDR6mfA921WjHyQs1HUqPQOP/dH6FW28uEIzFIhXLPPIbe1eRvLa5P8SV3liHPzGmLQLSHAk5DaoE37FTpKSMeOHcqbwEhc5xyqODEmN3SV4OcqdZrZIhL1QuYOk9TEDhnRstBjwZYtHKo3dBZz9sMzWgROIkBNHJ8L+9epQIrQkRSDIqzEOQqqGOQ4jBpkHW0Y8pltBxI9Beq3ahkyhtDD2ibGV2iY4zG90SYbFlJR1SYIgNv6Zd93Pti+LpI4XI7fSfod8+FPAW2t6LTd2421cjfaaP32SvwSEkL+knUbyjTxgvgD3lUohEghjbe6w+F5s9KIXZz5lzCztH618azZicVY4v1GybUS/yl6wz4soRP7c8JgWOiBdC4jYmBYkemuJosstAKKBeua3RV4h7CRYTfwtRCeuNgSrwQsCnsbErTF9U5XP/+2uia9BkFSHeGKUx9DsfbyBU0jGRG50ZlfKEwpGm+/ZO2tU+0+1B4FZOugaoV4gl9uRln1XvJ5GjtFGdRE+htIShQHWg1ANF5sF8ea3I14Y+W1Bs8g5OH2VaPU45DQHnsyrQNzav7jQHQIQaOlg88+zZ6L3xRPU8JZZeEoiZuxAaIJ7qSeyt8uUvwbimLSpRFR14YVsz7X1fW9TBx7Jzmdd+pfFgEQUQ2+PMWpsAJNXNnIPHrtxIl9mtWakfGvC6NF6EYsrPoHCNqWy3cuaZa59b9vBWyHRHuWT6W+c25inRKalU2khHXKlaasC0YGj8cdebs2Fzj1LQaiptHYbiWoMM9aFjY9EMXnd93BZ1DZOePf9BSpSiOIfdzp4E4rBm5aEDLBd+1Y4H8aSEmh9ee+uedpsQ0TpVrmyDIojw1cNWt3rS4ZOkbgsUDg6CnVTr3aKb/7vVIVdbvxrYuiVY4eetI4B+rYCxPv/FdlgfeGIuuBl4Z9AQnjIuDT0I+xCDgExYNmVm9RMQFU1CHdsMSZ7tUQlFlPd7Dll4SxlVLR+v8kLeelfinIFX4V4Wx6pyga5ccW/TmN2g== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: da0ea533-9a92-4eb2-fbef-08da7f6344b9 X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB6969.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2022 08:42:35.9906 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PeMrDViDGDsmcirqJcVyyaNBP9USe/iZLDPNjjvZtepW6WhpacJlSPo9WvtUlPbgS2eWPkZC7w+tZhza0Fr5sg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3096 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean From: Stefan Herbrechtsmeier Add common test functions to test all supported compressions. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass --- Instead of the for loop it is possible to use Parameterized [1] testing. [1] https://github.com/wolever/parameterized (no changes since v3) Changes in v3: - Use 'tools.get_bytes(0, 64)' instead of 'bytes([0]) * 64' - Check if tool is present - Rename tests Changes in v2: - Added tools/binman/ftest.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 96c15cff77..bc17107735 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -5248,6 +5248,37 @@ fdt fdtmap Extract the devicetree blob from the fdtmap comp_util.decompress(b'1234', 'invalid') self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) + def _checkCompUtil(self, algo): + if not comp_util.is_present(algo): + self.skipTest('%s not available' % comp_util._get_tool_name(algo)) + + def testCompUtilCompressions(self): + """Test compression algorithms""" + for algo in comp_util.ALGORITHMS: + self._checkCompUtil(algo) + data = comp_util.compress(COMPRESS_DATA, algo) + self.assertNotEqual(COMPRESS_DATA, data) + orig = comp_util.decompress(data, algo) + self.assertEquals(COMPRESS_DATA, orig) + + def testCompUtilVersions(self): + """Test tool version of compression algorithms""" + for algo in comp_util.ALGORITHMS: + self._checkCompUtil(algo) + tool = comp_util._get_tool(algo) + version = tool.version() + print('%s - %s' % (algo, version)) + self.assertRegex(version, '^v?[0-9]+[0-9.]*') + + def testCompUtilPadding(self): + """Test padding of compression algorithms""" + for algo in comp_util.ALGORITHMS: + self._checkCompUtil(algo) + data = comp_util.compress(COMPRESS_DATA, algo) + data = data + tools.get_bytes(0, 64) + orig = comp_util.decompress(data, algo) + self.assertEquals(COMPRESS_DATA, orig) + def testBintoolDocs(self): """Test for creation of bintool documentation""" with test_util.capture_sys_output() as (stdout, stderr):