From patchwork Fri Aug 19 14:25:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668172 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=oGgY1YRF; 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 4M8PJG2kdcz1yg7 for ; Sat, 20 Aug 2022 00:28:46 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8443484BFE; Fri, 19 Aug 2022 16:26:45 +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="oGgY1YRF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4DCDF84B98; Fri, 19 Aug 2022 16:26:17 +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 EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150088.outbound.protection.outlook.com [40.107.15.88]) (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 734C084B98 for ; Fri, 19 Aug 2022 16:26:04 +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=hiABiyg5b0ly0yo7n4aJmExorlpxVJbUfXYT7x8riQ4DQ3nUD1SwMLczLzCX6he7yg8OV+yeAYQSFbxKC+O5gcvvAMmRN/ggKubt6/WxpWDiP+EpFpCmibJU23do74QTcc04+M4wmP6/WkZ3LbmbAGZglqtBZIkYaxTv+vH7/9hVKxi7w9XluJeFun6oATHP6p+df7gnJMpe7mVjPVKJr56H85d9NBoYaEpmmUfC5l8lMdstWfLLRrYSfzbA1u/spmj9eVkW3uDTJjOVwKQUKdoQz0hhEXbjUar75Pw3byY+p3/YCFg+H0Zk9nUCN9aqpCVLp9dZNWo+0Fpbwwh2kg== 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=JLzmLjrqqjcj7kIY+neEqOI+R2lDTn+I9QU28lSJUPM=; b=LKq3iStBBNhz55ziRJrvyj2vSSeGylZLThHN1f17lM3D3mXEGzE7fbS5w8M+Tyc3g6jNR3A4pmZnYrrtT8hUgqiBDdfzeLBlXALXDEW7p4Ezwjm+p0XCLimAecch8ac74O1xMDO48gA0ufP9R/bp106xt6wRC627pn+MbGFozfb2pJinTUF6lgRSffgJ7rGx8BSzTMPPmNZAo7bc7D/XJMqFH/u7g69Y5n/TCkheRxvPDv2ITqtMz7oZUr6mcw61D/ZAqb5a5VezohUqfv5qmRED0n6yH0D32PQU1KAq4hi4pwbltfTbwXlqxXBc80powJ1s15WDz9yqIcVTjjXpbQ== 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=JLzmLjrqqjcj7kIY+neEqOI+R2lDTn+I9QU28lSJUPM=; b=oGgY1YRFSX4Se1the5/Thuf22j2XYzzQWyHBxk4Ow7Fl4zAhT1cDYBbQ6r3cRvtEnTpoyJ0bKj2Je3CWrrgnvCLOKhJTmUp+nDDpwQCVuYEeC70GWdmYv77zJiIKZGtzhes3cGIYEUcmHjM5xZvMcBaywxlYk6f5+2Zk2pzjgqI= 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 PR3PR08MB5739.eurprd08.prod.outlook.com (2603:10a6:102:8e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.18; Fri, 19 Aug 2022 14:26:03 +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.5546.018; Fri, 19 Aug 2022 14:26:03 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Simon Glass , Alper Nebi Yasak Subject: [PATCH v6 15/21] binman: Add compression tests Date: Fri, 19 Aug 2022 16:25:32 +0200 Message-Id: <20220819142538.24847-16-stefan.herbrechtsmeier-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220819142538.24847-1-stefan.herbrechtsmeier-oss@weidmueller.com> References: <20220819142538.24847-1-stefan.herbrechtsmeier-oss@weidmueller.com> X-ClientProxiedBy: AS4PR10CA0015.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5dc::11) 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: a6075f62-4303-4731-e4d1-08da81eebf42 X-MS-TrafficTypeDiagnostic: PR3PR08MB5739:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Yji7PVCfPhGZO58MMNErxqs+bt9X2XqiSvpbNK5eY4Um+s88IfCywpxdwt1jfQ13Hlvo7tBaD+5H8OhfRr3zHuqiB2qyJDLR7za/VqB4zr/Ds6NnylqIsBcriVJpGcPbhCxMZSi9DpIa53RelBrzgGzNmef4AlsKgywQnp8d5tiZy62PaZHWsIP3Ph496USjdhNcd9vtdEKxCtaZ6NBpXtuvfFx45wufpYL6jzL8Hvfc39s//egNNjCZPtIc/Cuuj8yL+qyUSROMOXP9Q+ESrvP4YUK1aYPINW6gk1buEcZ7VoPVv+5sZHdY96Y3E0GZew77i6U2+YNNPQIahyXf4jK6rrbusSsFHvbB1Q4GrCtf9bjcSFJwHoFrey7DDzpOsor641bbW88M60A1wB9mYywtVOLuAZMbMv5hzFJ2KgBxqiU2q0rEPBvNfS+H27aGrDvp+xzBiDSxKnB7MVreRgHEJOp9YeFaFT1qLpB71Lb95FcIN4E8I/d6s0AZBBslqmf0oJJALscpSqBNZuPX40hq6pow1tJKURwKfAVK4BZKborH7wNBJNvRgQKwyY/CyvVahZYn/aRQi7nkyAS7FtSuSM2yPSdy0aVC5DI/L7q3cRxqBSJcBrCaWQRklkeK8h9dcON6XA/9yt1yWH/Tq/cvl0PhfITY2lyS/XFo9EaZvPiDCopWzRbcIzKEcQDea/K5RdXzjrIm9nt/i79zNI8ps88yRvwtM0lVkOREgXe5aElD3ADu4WDIzFKrumrLYubGrCVhHJXA0DoCifYP2IIG5jZ0gff5oVSLei6By7s= 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)(396003)(366004)(376002)(136003)(346002)(39860400002)(4326008)(8676002)(66476007)(66946007)(66556008)(54906003)(316002)(6916009)(36756003)(5660300002)(8936002)(2906002)(478600001)(6486002)(966005)(41300700001)(6506007)(6666004)(6512007)(26005)(52116002)(2616005)(86362001)(1076003)(38350700002)(38100700002)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: iRrEcOyAiHApCJBblNYIyjTbryEFermkRjqH+MEEv4FKwhLCDsuP7Yxz5FnBIzuPjkgRkUY0ARiQbNLvyhnYBV5ewOBR+Vr7BOLqux1xNzFV7of6Wn8P+b8iiKuxE6dCByN+lTdynXzHaMLJrAmL9/tiHYPCCGu4TeEMM/9w+MTv0H0KgNoTwBm7744ouCX4ck5Ro70x4TIJd3DQiagUQ4pBphhcTDG5d6Ztw6DlgKZIAx7HAPDZgtOYOVDoednBfEny7CINUyROhOzbTOoSfYplJuyCQsz/xiitOh1dGVNU8YN4Ob9AMpPzmDlv0EsqlQQCd//TuMnp0RcEHrzykRKT3qwDJcTlYHUuR0AQt2dDLxW28+cRMrTi3KEFn4wQyA2GrHkz49fK3gj3kHx4g4r5EgXaX+nLdZgBDJGHWPue65ty0zZIz1yXT5hOdJTPPqy9SyJPqoKe01yK6MyeKwnyv314uHg9F7P59uWZxKrYa3d0xl3rosl1BU1Fxs8XpBbK2WDkq0B2JrgXTC47UdtV3Mf6QZpnOK/QqPiwSf+yCgZQgCBgfGVCJP2hkwPbmvljk8rBumS8/JR28Xfr8cQTO5UudezZMsGO+GdO7/UoGxEfvdr0AsoMQYsWpW4u5169E8wv56D9J0yp1uyWqaXFnwM/bMBRC5RMHOznorAiM7w8QKz8RY/SmIvZKcW7/1NrREJDYcCPiepgFflCXUV3js3u9sNlToOzIjL5jccHCXLUgMv5ncesLhF4/Vb6fqq/Vr+UYK8thZadRj1CDGI0zhm0StI5LcVSQOoit/AjAPHpDpGNBEKWbErjNqwBMlwzANor4L3H/zILaP7sXdnJ+TdAcWR1g8KrMrHB8wtFEVkpCCdEo6dJ2uSaKpaUFb3F+Z9CVkW7CKX2HWUjdNYW8s7JhRwJH5i56M2JTL5KyKyk2yWBDcdbuhSibkdLAHPJBayaClB2yWHRbXPsTzCkZXHpKLG3H7oZt6WSph9rD7zJ0pP0gY0Z/8U6EciYGOpYlmt1P7+dBlaS5KH1Wz1exnpwPN9Pse6xKdL1yccnhvolbvPprw2IPuBlF0r/Yx+7wAEs09zzypFEJqzSts/6oF5UoHNj/7tbR/0BviKT8T8ODDoz718tAD/LOwaJYaVMFp3uhiAieYDxj10WghQM0Modj4wp+CoqzBYxYDHnlo0WuWOJZbHhwoNBMvmJvu8y0PdWT20yRRS/+dXHpsbnH0jJMk480cbhJcM42H03Zov5gFJ/ch8XltW6Iixm+XxWySMVE1Hy32vuLfMTTBBKDjE9paoCI5og06FhIBBty17GDwhu8Ptu38gPftRyVuy7j3kJxc3ONNs1e0KOaTzD7NJiiIdcFrMG9SKhE72k0fW+ZtYlleN36B04xEIbUscTYXFU7/2X8jG9olvYbD5Q1sryP6fd3QpUOo8se7Txed9Au7uZsgCJRsow+GN+7eOb5NqnWQkTVlqnzvP0tcUMUCkU6hHu8ISogSO1dJz3zldV6Ui08qRBT9vsX5ruQODPh1ZIfcMMj6mWQs17S2GGrEHO1crPj3D1R2ss8X3E6u8hREGbzjD2g3MkHXQbWMw5wMpnEnmetYzMfO63jg== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6075f62-4303-4731-e4d1-08da81eebf42 X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB6969.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2022 14:26:03.8471 (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: 7TiPM1XRy1cNLGcdGwbPBXsKVLXb0ZiabkCKO8cZvjSYAAGwst8YBrK/lnQkOnYdPiBx+T+5tvU4rUxPONP6nQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5739 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 Reviewed-by: Simon Glass 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 v5) Changes in v5: - Use self.comp_bintools dict - Use _CheckBintool(bintool) function Changes in v3: - Use 'tools.get_bytes(0, 64)' instead of 'bytes([0]) * 64' - Check if tool is present - Rename tests Changes in v2: - Add commit to add compression tests tools/binman/ftest.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index ffcd7d2567..bbb2fa19c1 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -5779,6 +5779,32 @@ fdt fdtmap Extract the devicetree blob from the fdtmap self._DoTestFile('237_compress_dtb_invalid.dts') self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) + def testCompUtilCompressions(self): + """Test compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + data = bintool.compress(COMPRESS_DATA) + self.assertNotEqual(COMPRESS_DATA, data) + orig = bintool.decompress(data) + self.assertEquals(COMPRESS_DATA, orig) + + def testCompUtilVersions(self): + """Test tool version of compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + version = bintool.version() + self.assertRegex(version, '^v?[0-9]+[0-9.]*') + + def testCompUtilPadding(self): + """Test padding of compression algorithms""" + for bintool in self.comp_bintools.values(): + self._CheckBintool(bintool) + data = bintool.compress(COMPRESS_DATA) + self.assertNotEqual(COMPRESS_DATA, data) + data += tools.get_bytes(0, 64) + orig = bintool.decompress(data) + self.assertEquals(COMPRESS_DATA, orig) + if __name__ == "__main__": unittest.main()