From patchwork Fri Aug 19 14:00:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1668128 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=tWaNIMIO; 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 4M8Nkk3FbDz1ygd for ; Sat, 20 Aug 2022 00:03:10 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6D26F84B98; Fri, 19 Aug 2022 16:01:40 +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="tWaNIMIO"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D5D5F84B55; Fri, 19 Aug 2022 16:01:13 +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 EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2068.outbound.protection.outlook.com [40.107.22.68]) (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 66DB984B56 for ; Fri, 19 Aug 2022 16:01:00 +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=nCpH0T3DMyVYyL9oQwwKamttqgiXruzIK0BXS6+jtN9yICxW6SKpoqZZTyhxRxqGs+bTamNIqfYSAf+/POahI64C2Ll72I3ACC9iC6G2Aojb0PT41MLIdSoL/TS+jfFLZGVDXT94VNY/n4RAIEAeifFDqdmoaUvAxlZQVFW1g4MpRlBbMOG863AX4ZPzEPMLVWVcijNhXAfjPNx2V4ez6pWa3fimDUz2/mfBIlBV/9iuz0QjOIcTIrrGe/qVDCuxdRtJ30Y0fXC44IvTTiPTHrc3rC68d3u/G5/gInpF2JsmBJnqAUQ2Voiwm/kxNzEcV3jXQAhi7Hbxv6GefvdimQ== 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=ysIUWARNRYmUcq8NgM6ot6WgUS9dHteNXQXXP561KSQ=; b=AOShPSj+pA+Iy61nlJbWuazdhOF73Y5fhO0cH3Gu+4dscNB8OqXzWZnVOgqi3SKN5v+MkWh1LI16Cqqblj4cG7EbiaT/pQf6gL/+hPdOZmQRI5e2o09HFZSgB+/jCbHtTnCXy2cztTK7rwY/Ybgunt9HuQiTqI5UVAOCDBtKA7jbTAcr322KiywywdudR0a82CfZHuLRQwhwOM79KohoxUEP8XAln3M15Qbrj/O2ReZU+FgHC0wdenazcbLqVdqTmPDdZKS+26m6oSr/NIJ4U3IVHJdZdcGXlpEpndknz/g1MnxJSN49VMK9xoid41Ci9GQ9+ul8IhIF+0CuE+UacQ== 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=ysIUWARNRYmUcq8NgM6ot6WgUS9dHteNXQXXP561KSQ=; b=tWaNIMIOFgQ/99AJKCtUHsfPbvtY7p/GnrLVs7wij7wR4OrSwhaI/i8qNFL6W5dtI8PUQ29sbpPiZfbChmOnlFOxvoI+PBLDNGgC6VVVZXsUfQAaOpiPW0ROr9XW4PLUpDGgmnLKKKg+b68lFjWWkl9ft6NUgcBtLefUpl9Nlac= 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 DU2PR08MB7373.eurprd08.prod.outlook.com (2603:10a6:10:2f1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.16; Fri, 19 Aug 2022 14:00:59 +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:00:59 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Simon Glass Subject: [PATCH v5 11/21] binman: Move compression bintools creation into test setup Date: Fri, 19 Aug 2022 16:00:25 +0200 Message-Id: <20220819140035.32760-12-stefan.herbrechtsmeier-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220819140035.32760-1-stefan.herbrechtsmeier-oss@weidmueller.com> References: <20220819140035.32760-1-stefan.herbrechtsmeier-oss@weidmueller.com> X-ClientProxiedBy: AS4P251CA0011.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:5d2::7) 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: 8da073a0-8000-41c5-8104-08da81eb3e72 X-MS-TrafficTypeDiagnostic: DU2PR08MB7373:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: n6P1PENveIIPw7/zmxvWon/gqPUC93/2+YPaeUU3yyAOiv856HWbriTCzhRwojnQrVInu/eEThjcFs+fb/d6rYt3vVsMBU6PDQKkv0FC4N3XPfsE2i2Vv5mJLVzboC+4VCSofrYHdzMd5ob8QPNY5hCatGsH0eY0Pezccx60K4TTcEj2nsotFxJenvf7e8QvPYpkBjSvZ0qj8R/IMmDiU5LPakgAHOdnQ9EXERAc5iIDw4ekVvmo5nVU2Soh8Jqf2pA2vLa6MZ6B6yDHPS2rsjRvJ1M+aPyWyGs37SVt8m4HhItN05nzMaJ1ZbEsi1LeAY29Z1EyGRhvXftXYATxrLL7JkpPaPtpVLm9pSLfGIuXIbHgH2RmzEHEM7/NqHvbLrOYhMC/g2sNkrBCiYOQsoCvtilTPya9i8BIbImaI4S4IVoq/3EYOh4PG2tUPA5oZV9lQdFW5guhdhHKD1aB/c5kAgaPYecUPcVERDHLxORIIHKNxuuXcPe927+Gwud4jEsI9sP4zgSFOuFgpQi44T1qRhxZdNTv6q9wx5HvPJ/m73WuPvN0GEGj1+KTQf7iZ1gWotK/ItqdnWcDDCPoQUc8OfKoidDX0QCUJx8MJiok4RfWcIbxqwDj6Ql+cffMFDEF5oLWtShbP5mJefWfO/T/bOrTONMzgzTTtyBG02I5N9s7CAx1ZTqiNzG2l1VwlIUNkjrdxqt292MFYEhdaVoV9M4eoaR919V207trGkliLBAIcmMcF+3gnz2/ZH8sI+ZMpiwhxT6wDfggiGPP8g== 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)(39860400002)(346002)(366004)(136003)(396003)(376002)(4326008)(41300700001)(52116002)(6506007)(6666004)(186003)(38100700002)(36756003)(54906003)(6916009)(5660300002)(38350700002)(8936002)(316002)(2906002)(26005)(1076003)(83380400001)(8676002)(6486002)(86362001)(478600001)(6512007)(66946007)(66556008)(66476007)(2616005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CagHewAyJKTGNxABmjDHdBhgnq027+l4WpOYzWJv5j9oXc9royvA+exLN+GhjmXxCDnB1b0lEZh6EuXDF8u8vbxFXA5ECyAsWRL0IsZCP2Dk48wQkBqW1/Et0P/CGBO4GIoOhbi0OZHHd4PW5yqhuO8FD5ojnxXQvQRxznqceKJCInBiO7/Zw3xJEwpMJmIXbtdfhq+hGXRjF/QgX10vC8iR7lntdd+GgQsyXmIZao2asfO8Aiyh17C30uX/LjGQEzlIzEvPVZr6u4cYkimHDeXwPp5YCM2kzcE6kKxrlHIM9bY1ZIkP9XDrwe+WirU8S4QG8xOkSZ4BihLYkX26ZoSxKFoQnsK/5DnYkL16TBi2NMKkq/8WuxuNtS97TTx51j6MKpntfppJLkMQaAwzQB+3aWv6dFp6Tg3MCSqTe4BO2J87UhL+fjXRwLb9KPeRN7OeC7tjJDXGOlynVCAW8dQwVQYGK6gdsOtaK7Z0VxIZmZoIdWc3V2fCRQVaFyozyf/bEonJpsHamSAJHKeN+jR1MRRcMJyxtqCOf0zejL8T455K+X163Fq5E4bX5or2wHCWnqP9kDwAxgalBmkKILzOBxACkUlFtICycVXJZ0jxXOr3I9YWfqspes501mOhdzUnjJDaM6bW0v+ORti0NLJrAghRlpJT97fn3PbAga6rFyiOoIvI1GUdQ9dnUtbH9KOzruWczsONKJZ7E8Kav3Fzswu8NZaK6HQPo9bJrJrKE9OHVS86icDXWDAUFn+z3gAwqC2zSdi1oINgZhrVCEPmxjz9Dich4rhS+bvv09Cd/i0GWDvV22UPCe3RatmdvF9kM3dp0KfFrgTC3x++7qUTHVb8h98A2WbgJeGpULsJ+RhbFKi2U3QSrCpSYWTrcHf0dvWm/FHSwj26jUICgRVzeNrFWaDwtrf2+zWQOvadAVc3eOZgbDS+Z0JdTVa9MeszpKFWa3mt+bLdhne6Y/XmK8pkL0QVUQWNNKWHuD8nWrinAQ+G3Jqv8YuxumMAYMjQ8ZSZ/Id1ksfcOEibuoWZcBhhMG9PQaodeyHe9KJBkUid5j7N/UxXuwYuMTtCsFDl2BBIwWhha8cgXlaJBhHqXLCGtY5WDvLF7tp5LzBeZkiOBjomyYJqmBio5PbFUAj2aFsykp5qZdlruPcHCp27D02UKWHb5gYY4cL2gTufkCDcSl7OGsbRp3xBo0fjGw+ur6oO1kZdLpDdA6oL9rue9CKbS67LGUuqUd0XAgozcHQNIPS2+ZxH6SEDnIws5Kb9uPe0HvAzgLB3911jrmrAJEYOlPr4rqHO+D48VwzQBBiqw8uIbG4Qs9XYBKMfgaRE1ys0N7l+1jZFOijZQfWZKpWcewUAjczrfHit8aofWQJmMA2n2LrcMpSLD+Ibb+arEjDyIDfFXBNXYHg7RT5iJFNz7b6Ms3PHJmLLUHCfatiPFQ8RYI85gKmhPjSxDrkvpNl6Gc7h+ITWgSSWInYnIuWhY+0RupzAAIEaN9cWLnwHZNtwVpvkBLFpcGsC6Njqx9wFRmkkHPESUCloN3d2HGbf4/mtuaSpr3yBnf6bhp1G/KtkZOXkWj4Niml6HxgZ8JTo3KwShR94zqUnSA== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8da073a0-8000-41c5-8104-08da81eb3e72 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:00:59.2586 (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: IK6VvwCJgqaMXk8ouR6gFmJ8vqCYzLhZJ500Nqpo6Mx7SdwTOrTYuqYe62azszP1LVifHlOWu3x+Sb9lDn9MXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7373 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 Move compression bintools (packer) creation into test setup to reuse bintool objects between tests. Signed-off-by: Stefan Herbrechtsmeier --- Changes in v5: - Add commit to move compression bintools creation into test setup tools/binman/ftest.py | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 1538ca3c4e..7ab9289a88 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -23,7 +23,6 @@ import urllib.error from binman import bintool from binman import cbfs_util from binman import cmdline -from binman import comp_util from binman import control from binman import elf from binman import elf_test @@ -107,6 +106,8 @@ BASE_DTB_PROPS = ['offset', 'size', 'image-pos'] # Extra properties expected to be in the device tree when allow-repack is used REPACK_DTB_PROPS = ['orig-offset', 'orig-size'] +# Supported compression bintools +COMP_BINTOOLS = ['lz4', 'lzma_alone'] class TestFunctional(unittest.TestCase): """Functional tests for binman @@ -212,7 +213,9 @@ class TestFunctional(unittest.TestCase): TestFunctional._MakeInputFile('tee.elf', tools.read_file(cls.ElfTestFile('elf_sections'))) - cls.have_lz4 = comp_util.HAVE_LZ4 + cls.comp_bintools = {} + for name in COMP_BINTOOLS: + cls.comp_bintools[name] = bintool.Bintool.create(name) @classmethod def tearDownClass(cls): @@ -242,9 +245,13 @@ class TestFunctional(unittest.TestCase): cls.toolpath = toolpath cls.verbosity = verbosity + def _CheckBintool(self, bintool): + if not bintool.is_present(): + self.skipTest('%s not available' % bintool.name) + def _CheckLz4(self): - if not self.have_lz4: - self.skipTest('lz4 --no-frame-crc not available') + bintool = self.comp_bintools['lz4'] + self._CheckBintool(bintool) def _CleanupOutputDir(self): """Remove the temporary output directory""" @@ -1967,7 +1974,8 @@ class TestFunctional(unittest.TestCase): self._ResetDtbs() def _decompress(self, data): - return comp_util.decompress(data, 'lz4') + bintool = self.comp_bintools['lz4'] + return bintool.decompress(data) def testCompress(self): """Test compression of blobs""" @@ -2855,8 +2863,10 @@ class TestFunctional(unittest.TestCase): def testExtractCbfsRaw(self): """Test extracting CBFS compressed data without decompressing it""" + bintool = self.comp_bintools['lzma_alone'] + self._CheckBintool(bintool) data = self._RunExtractCmd('section/cbfs/u-boot-dtb', decomp=False) - dtb = comp_util.decompress(data, 'lzma') + dtb = bintool.decompress(data) self.assertEqual(EXTRACT_DTB_SIZE, len(dtb)) def testExtractBadEntry(self): @@ -4427,14 +4437,15 @@ class TestFunctional(unittest.TestCase): rest = base[len(U_BOOT_DATA):] # Check compressed data - expect1 = comp_util.compress(COMPRESS_DATA + U_BOOT_DATA, 'lz4') + bintool = self.comp_bintools['lz4'] + expect1 = bintool.compress(COMPRESS_DATA + U_BOOT_DATA) data1 = rest[:len(expect1)] section1 = self._decompress(data1) self.assertEquals(expect1, data1) self.assertEquals(COMPRESS_DATA + U_BOOT_DATA, section1) rest1 = rest[len(expect1):] - expect2 = comp_util.compress(COMPRESS_DATA + COMPRESS_DATA, 'lz4') + expect2 = bintool.compress(COMPRESS_DATA + COMPRESS_DATA) data2 = rest1[:len(expect2)] section2 = self._decompress(data2) self.assertEquals(expect2, data2)