From patchwork Tue Aug 23 10:46:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Herbrechtsmeier X-Patchwork-Id: 1669263 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=85.214.62.61; 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=AIiyNv97; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (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 4MBmBN6LZKz1ygP for ; Tue, 23 Aug 2022 20:46:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 89092847EF; Tue, 23 Aug 2022 12:46:43 +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="AIiyNv97"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D82138460D; Tue, 23 Aug 2022 12:46:41 +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-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80080.outbound.protection.outlook.com [40.107.8.80]) (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 5D17E847F0 for ; Tue, 23 Aug 2022 12:46: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=gaJ2jadSW5+R7LbaO6Zb/xGqup7s00EcP0cErs9G6/hZFqOSF1GJXOWljnnwdTK7/Yqb5U06PXcKCsqQDBuZNXxpWAgtqKJUJNHr3c7rNNZr3L0iqwFR3SswPfRghn+frGQcWZKP69aRdBsCQxoNwyjRGmLVwm+MgRO1mai3FpPZlGMck0XnOx8DI+hRQEQcb28qQ0wp0jrvbEW7ebq3rrjVDRr+gGv861KbMjGxOIZJX3DyE0x2Zp3e87RnKXBsG49934qjIKNyye2kQgpHFxcrL0Ygtir6R0NnD2rAFMvRLdOref0qQTEAWgtz6P9sVh12+uwwmqdAf/AcP4soSQ== 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=vzVQIV8frJMqketQYr5yBhWmo3dIjN9yg2fOwv284Cs=; b=LiywADzUkwljzkfFE49P22VOgD6PO5FyPmRDr73ysiXdraarGljc8HRtvowdHgGJeyLWS5xNTq6/cPe9GG50xbp6WzR+tv7U8iPyTlYdRyw6/mdq4XWqX5PetXCTXdlqZT5530+ZgExwkw/z/ReZPJrnTdr62wzlO5ZtFDWVqJ5A0SYTys9rJFZd2Vkom38XWigS7hfyysRXTN4prGVPvYLvh4twxyZD7pSUHJJyJtdIYPwuQoWAfiqfgaYCAZ0u9xKzRKjSicM+e+/3tYh2mBFG0X/bO49OTEWGJwXdT+2xYnbu1dQWOWjBm4shGvxDuvfdLgGmRNOGfd3/m1kF+A== 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=vzVQIV8frJMqketQYr5yBhWmo3dIjN9yg2fOwv284Cs=; b=AIiyNv97qEunm2E3gIMuAjku7UUsJQ8EMq3Qeu+ONDF8Gb0hhHDDmApd3gRTe++7TdViCVaXZbmO8rt4wzYJSMxmz0xbtHVP1i32UUDU8CX4pEoXiOeZuIHtz7IVaBSHnIwn/JC4XU34gJ4XeJFAev+VV9zKIHcwXT0Sjhoj++w= 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 AM5PR0801MB1922.eurprd08.prod.outlook.com (2603:10a6:203:4b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5546.19; Tue, 23 Aug 2022 10:46:35 +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.024; Tue, 23 Aug 2022 10:46:34 +0000 From: Stefan Herbrechtsmeier To: u-boot@lists.denx.de Cc: Stefan Herbrechtsmeier , Alper Nebi Yasak , Philippe Reynes , Simon Glass Subject: [PATCH] binman: Sort tests and rework test-file numbers Date: Tue, 23 Aug 2022 12:46:09 +0200 Message-Id: <20220823104609.11321-1-stefan.herbrechtsmeier-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 X-ClientProxiedBy: AM5PR0701CA0050.eurprd07.prod.outlook.com (2603:10a6:203:2::12) 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: 4a92906f-8b76-4bd5-5e65-08da84f4bf6c X-MS-TrafficTypeDiagnostic: AM5PR0801MB1922:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eyMrOvioqBZ4DeoiyJhU81azuZ6FxnyVy7ylfwi/rlrGZyBR0XD0zNX/OwIN9xpBLYodIgGplJCNqLczWo9ZRTlIgXuqy8lTNuCEGILMmu6xDAAsHIZGHg1ZyYsyERVe9MoCNMtx0/rzAFuOaWx4+pUulbrU0F11b9pxp6O2Xd6d24HnqC5dEFOy8PZ11Xq4HVpIz9YtO7MdMYyrW9t0o3k7P5iMiIzWusC93tE6PsM7RT/zuXlI77ohehuXFTq8qIeJp9PHVI7wE6Rik17YRhOx/PvrEv3CgKfyCzx+RXHaiqhDBQnkV5/oahSoaJYwFrsHfQuIrM9kYEoSQrJ8+bmtYl/SldoOBSOxChQ/zndIcXbCNgmV1dUpDKr7Q6nKf+WZZrSo1mhl/T22A4G44DQHjZJkRkcLphBmDA6FXQX74x9cZuyWeBrPn0R1rnOOSbdae4nmOble9M4+eoLU/4pMzb9HeFzUOyQVTpEa00faAyqaz1hDSlWbwRpfkpXGC35XoX3ZDPu6cUHkrIktmrW9zjBxFs367pfSLvZ0rl1+K5N/OKOs2WmFBvBR/hZkyV/1GN36j6sRnDwRziFgTInbyrkziuOEdJ23mHNYf4s3UxQ2G0qcrlbqESQJaJnAIbx4imAd8fwcmHqjH847+SQ1BSxLFyyMdxvNWGrwiyQdvwjSWjqqwh7WjU71/ohYZY+5qcAWCHh+QjbHbm7kOpQTDnTS876OrkCU5bN0HmO9McX32svv4p3aiCYshDLq+NNvq6Un0TF+ljAbSw01R8366Dd2iCBBUdZQeakeosA= 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)(366004)(346002)(396003)(136003)(376002)(66476007)(66556008)(8676002)(4326008)(66946007)(86362001)(54906003)(6916009)(38350700002)(36756003)(38100700002)(83380400001)(186003)(1076003)(52116002)(6506007)(26005)(8936002)(6512007)(6666004)(478600001)(41300700001)(6486002)(316002)(2906002)(2616005)(30864003)(5660300002)(21314003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FX0bJc8MJpQfAghOmbaB/CN7fepf/gNt58q4EM/mWV1i6zP6hlXFzd4e3RJXPcudlz8DxKoYE96OaX5bhqkVyU2YKLykr4oN4+cIiL81D6MXDCFI+l7+OckGoPh9ivF9zUB2h2bEl/eLz2g5KeXup0u9KzqnDb0RUA48aEMJnJIraUnyxF4bAbrb2eg4VUziGlrJgCOpdtII8Z3Ez/E8lc4/9j8SzMu7ymgQSrSG5YjDF9xOUxZKF1+++orCZCDVn+idcfUEAAIHqp6CC0jG6CQboE94KgGUAEcyZ8KPDUZ+4AQupwtuQv9li2+BbAcz74VMdOKOQxzExGezdbD2dMDvt2qN+vHxveps3NjJYYJ5us5RO+4WziQ/GjpkPrxLbAEZ5sG7fnLqFOErdK2VWO6HhiK6wyspcy1cUpMeFwOoB5nMIHmvMrdkFo1BdzS3347dGJgYyvbJ25MxPsx0Smr/NZSECg10up53etCjJVq326sFHMU1DF0jqCUbhOMmaApeJ4eBieqbElRhUVjG+udtlWWdXhTpK68FqRFTpL6Ulp/Vai1lvHbU6BaJeybn46vMsALVKqEcSqZ2Wo+nLF3AoI65eafA7TNlXaXBl5n8PiMh801JR8Rq8aoRwtTRYh4tu0BfCr1k6QQnMEmpI8rHoZiurWW4B0BUYikJgmXCwzeCtxFsXOuDlcy6ZfH6TS/S+3rrH0dZAqb/sW4ql1mB/pphHYY2LJghQvh/KItCY7v7ui+2Ur4DMQnNwu4qoqIuwbNgTDbrgbiD0H8tpMqUIPaQz50mhrm2e8qWCZY8SueGvaXFTt6gVE0/pWyzddKWwAhUeeLDx8fo2MHxfi96jkplQiQNHPjzWmo9ZCmvn2fGdfjFsKHtl7OcQhhGn397MQ1N5jXWZntdfxRTVfEGficcGbsogUIxR2MQzmIUlXXDHj8lCJT5E7rOBZa+DNfiNeGYGUntb7TPp9e7s8txUP0QZJZ+3u6od7pa8mw+W2oObVJQTLvPF/yvo2mIqaIZ5wuwkPbfQXihPc0usxoPeG+n5TQuqYP7QTPGdwTJjsFOTjBmVlHiRS+OjZZtPHEiDn8xxAcZU81j3X6777vSjY9y7/s0pHuSn+xEeGmvuBT4Gk0jUJa/guqfZs8PP0r+9KIBtT04WuWEtDQvcwCcljSAN41R1pBGDiEVd58DeQ1JB+ONS/QGyVTiqIsdyf1GHaZkXmQz30vNSM32HsNRJg4zp8SfpPzVvXhId89NfrgQFV4X5rmCZK1LFFQXaJyJsb4dCNikhiMYfP7NeXfvOAoBQn1u6+DadRUGKyuOkr9qgwwqyzxV7fG6OMsfS/wzHRysRk5PuV264kZ0TWOGs2x/8jgGdx7ezFp9HMvDmTQAjkmnVK+qO6vqBGYBNqKRoYP5WXYYqOe84d5lVA6mk/Sl4QnZJwJdXgPijjSFoJA3lGtsnSteueBDNy9ADKHX+ymuwcsUboSuFxESl4BtBmlRdTWNSYXuumNL8gkE90c6SnSnF/Wd/1tgE0Z+M1gdcGeKLPchPFEWsfYKQOfhyiyFPULAt1eJWKGXo3EPxfVEc6mqJZU6UojRMye9nQusPGw8sscn6iK2lCXRPg== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4a92906f-8b76-4bd5-5e65-08da84f4bf6c X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB6969.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 10:46:34.7595 (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: O96mMkTlpxMJwzlJbghNy6Mzc/YpH1I5NA9AlQuUSXrspgQvx/Ih9yo4UEEYnx30cGGAElXp3/0GcsUEehWIXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1922 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 Tests should be in order of the test-file numbers. Sort the tests according to the test-file numbers and rework the test-file numbers to eliminate duplicate numbers. Signed-off-by: Stefan Herbrechtsmeier Reviewed-by: Simon Glass Reviewed-by: Simon Glass --- tools/binman/ftest.py | 113 +++++++++--------- .../binman/test/{225_dev.key => 230_dev.key} | 0 .../{225_pre_load.dts => 230_pre_load.dts} | 2 +- ...re_load_pkcs.dts => 231_pre_load_pkcs.dts} | 2 +- ..._pre_load_pss.dts => 232_pre_load_pss.dts} | 2 +- ...g.dts => 233_pre_load_invalid_padding.dts} | 2 +- ...d_sha.dts => 234_pre_load_invalid_sha.dts} | 2 +- ...algo.dts => 235_pre_load_invalid_algo.dts} | 2 +- ...d_key.dts => 236_pre_load_invalid_key.dts} | 2 +- ..._unique_names.dts => 237_unique_names.dts} | 0 ...s_multi.dts => 238_unique_names_multi.dts} | 0 ...ntool.dts => 239_replace_with_bintool.dts} | 0 ...eplace.dts => 240_fit_extract_replace.dts} | 0 ...ple.dts => 241_replace_section_simple.dts} | 0 ..._mkimage_name.dts => 242_mkimage_name.dts} | 0 ...kimage_image.dts => 243_mkimage_image.dts} | 0 ...t.dts => 244_mkimage_image_no_content.dts} | 0 ...mage_bad.dts => 245_mkimage_image_bad.dts} | 0 ...ion_other.dts => 246_collection_other.dts} | 0 ..._mkimage_coll.dts => 247_mkimage_coll.dts} | 0 ...s => 248_compress_dtb_prepend_invalid.dts} | 0 ...ts => 249_compress_dtb_prepend_length.dts} | 0 ...valid.dts => 250_compress_dtb_invalid.dts} | 0 ...dtb_zstd.dts => 251_compress_dtb_zstd.dts} | 0 24 files changed, 64 insertions(+), 63 deletions(-) rename tools/binman/test/{225_dev.key => 230_dev.key} (100%) rename tools/binman/test/{225_pre_load.dts => 230_pre_load.dts} (86%) rename tools/binman/test/{226_pre_load_pkcs.dts => 231_pre_load_pkcs.dts} (87%) rename tools/binman/test/{227_pre_load_pss.dts => 232_pre_load_pss.dts} (87%) rename tools/binman/test/{228_pre_load_invalid_padding.dts => 233_pre_load_invalid_padding.dts} (86%) rename tools/binman/test/{229_pre_load_invalid_sha.dts => 234_pre_load_invalid_sha.dts} (86%) rename tools/binman/test/{230_pre_load_invalid_algo.dts => 235_pre_load_invalid_algo.dts} (86%) rename tools/binman/test/{231_pre_load_invalid_key.dts => 236_pre_load_invalid_key.dts} (86%) rename tools/binman/test/{230_unique_names.dts => 237_unique_names.dts} (100%) rename tools/binman/test/{231_unique_names_multi.dts => 238_unique_names_multi.dts} (100%) rename tools/binman/test/{232_replace_with_bintool.dts => 239_replace_with_bintool.dts} (100%) rename tools/binman/test/{233_fit_extract_replace.dts => 240_fit_extract_replace.dts} (100%) rename tools/binman/test/{234_replace_section_simple.dts => 241_replace_section_simple.dts} (100%) rename tools/binman/test/{235_mkimage_name.dts => 242_mkimage_name.dts} (100%) rename tools/binman/test/{236_mkimage_image.dts => 243_mkimage_image.dts} (100%) rename tools/binman/test/{237_mkimage_image_no_content.dts => 244_mkimage_image_no_content.dts} (100%) rename tools/binman/test/{238_mkimage_image_bad.dts => 245_mkimage_image_bad.dts} (100%) rename tools/binman/test/{239_collection_other.dts => 246_collection_other.dts} (100%) rename tools/binman/test/{240_mkimage_coll.dts => 247_mkimage_coll.dts} (100%) rename tools/binman/test/{235_compress_dtb_prepend_invalid.dts => 248_compress_dtb_prepend_invalid.dts} (100%) rename tools/binman/test/{236_compress_dtb_prepend_length.dts => 249_compress_dtb_prepend_length.dts} (100%) rename tools/binman/test/{237_compress_dtb_invalid.dts => 250_compress_dtb_invalid.dts} (100%) rename tools/binman/test/{238_compress_dtb_zstd.dts => 251_compress_dtb_zstd.dts} (100%) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 0b1774046f..5422940e07 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -5351,16 +5351,6 @@ fdt fdtmap Extract the devicetree blob from the fdtmap "Node '/binman/u-boot': Please use 'extend-size' instead of 'expand-size'", str(e.exception)) - def testMkimageMissingBlob(self): - """Test using mkimage to build an image""" - with test_util.capture_sys_output() as (stdout, stderr): - self._DoTestFile('229_mkimage_missing.dts', allow_missing=True, - allow_fake_blobs=True) - err = stderr.getvalue() - self.assertRegex( - err, - "Image '.*' has faked external blobs and is non-functional: .*") - def testFitSplitElf(self): """Test an image with an FIT with an split-elf operation""" if not elf.ELF_TOOLS: @@ -5461,24 +5451,6 @@ fdt fdtmap Extract the devicetree blob from the fdtmap "Node '/binman/fit': subnode 'images/@atf-SEQ': Failed to read ELF file: Magic number does not match", str(exc.exception)) - def testFitSplitElfBadDirective(self): - """Test a FIT split-elf invalid fit,xxx directive in an image node""" - if not elf.ELF_TOOLS: - self.skipTest('Python elftools not available') - err = self._check_bad_fit('227_fit_bad_dir.dts') - self.assertIn( - "Node '/binman/fit': subnode 'images/@atf-SEQ': Unknown directive 'fit,something'", - err) - - def testFitSplitElfBadDirectiveConfig(self): - """Test a FIT split-elf with invalid fit,xxx directive in config""" - if not elf.ELF_TOOLS: - self.skipTest('Python elftools not available') - err = self._check_bad_fit('228_fit_bad_dir_config.dts') - self.assertEqual( - "Node '/binman/fit': subnode 'configurations/@config-SEQ': Unknown directive 'fit,config'", - err) - def checkFitSplitElf(self, **kwargs): """Test an split-elf FIT with a missing ELF file @@ -5505,6 +5477,25 @@ fdt fdtmap Extract the devicetree blob from the fdtmap err = stderr.getvalue() return out, err + def testFitSplitElfBadDirective(self): + """Test a FIT split-elf invalid fit,xxx directive in an image node""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') + err = self._check_bad_fit('227_fit_bad_dir.dts') + self.assertIn( + "Node '/binman/fit': subnode 'images/@atf-SEQ': Unknown directive 'fit,something'", + err) + + def testFitSplitElfBadDirectiveConfig(self): + """Test a FIT split-elf with invalid fit,xxx directive in config""" + if not elf.ELF_TOOLS: + self.skipTest('Python elftools not available') + err = self._check_bad_fit('228_fit_bad_dir_config.dts') + self.assertEqual( + "Node '/binman/fit': subnode 'configurations/@config-SEQ': Unknown directive 'fit,config'", + err) + + def testFitSplitElfMissing(self): """Test an split-elf FIT with a missing ELF file""" if not elf.ELF_TOOLS: @@ -5531,31 +5522,41 @@ fdt fdtmap Extract the devicetree blob from the fdtmap fname = tools.get_output_filename('binman-fake/missing.elf') self.assertTrue(os.path.exists(fname)) + def testMkimageMissingBlob(self): + """Test using mkimage to build an image""" + with test_util.capture_sys_output() as (stdout, stderr): + self._DoTestFile('229_mkimage_missing.dts', allow_missing=True, + allow_fake_blobs=True) + err = stderr.getvalue() + self.assertRegex( + err, + "Image '.*' has faked external blobs and is non-functional: .*") + def testPreLoad(self): """Test an image with a pre-load header""" entry_args = { 'pre-load-key-path': '.', } - data, _, _, _ = self._DoReadFileDtb('225_pre_load.dts', + data, _, _, _ = self._DoReadFileDtb('230_pre_load.dts', entry_args=entry_args) self.assertEqual(PRE_LOAD_MAGIC, data[:len(PRE_LOAD_MAGIC)]) self.assertEqual(PRE_LOAD_VERSION, data[4:4 + len(PRE_LOAD_VERSION)]) self.assertEqual(PRE_LOAD_HDR_SIZE, data[8:8 + len(PRE_LOAD_HDR_SIZE)]) - data = self._DoReadFile('225_pre_load.dts') + data = self._DoReadFile('230_pre_load.dts') self.assertEqual(PRE_LOAD_MAGIC, data[:len(PRE_LOAD_MAGIC)]) self.assertEqual(PRE_LOAD_VERSION, data[4:4 + len(PRE_LOAD_VERSION)]) self.assertEqual(PRE_LOAD_HDR_SIZE, data[8:8 + len(PRE_LOAD_HDR_SIZE)]) def testPreLoadPkcs(self): """Test an image with a pre-load header with padding pkcs""" - data = self._DoReadFile('226_pre_load_pkcs.dts') + data = self._DoReadFile('231_pre_load_pkcs.dts') self.assertEqual(PRE_LOAD_MAGIC, data[:len(PRE_LOAD_MAGIC)]) self.assertEqual(PRE_LOAD_VERSION, data[4:4 + len(PRE_LOAD_VERSION)]) self.assertEqual(PRE_LOAD_HDR_SIZE, data[8:8 + len(PRE_LOAD_HDR_SIZE)]) def testPreLoadPss(self): """Test an image with a pre-load header with padding pss""" - data = self._DoReadFile('227_pre_load_pss.dts') + data = self._DoReadFile('232_pre_load_pss.dts') self.assertEqual(PRE_LOAD_MAGIC, data[:len(PRE_LOAD_MAGIC)]) self.assertEqual(PRE_LOAD_VERSION, data[4:4 + len(PRE_LOAD_VERSION)]) self.assertEqual(PRE_LOAD_HDR_SIZE, data[8:8 + len(PRE_LOAD_HDR_SIZE)]) @@ -5563,22 +5564,22 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testPreLoadInvalidPadding(self): """Test an image with a pre-load header with an invalid padding""" with self.assertRaises(ValueError) as e: - data = self._DoReadFile('228_pre_load_invalid_padding.dts') + data = self._DoReadFile('233_pre_load_invalid_padding.dts') def testPreLoadInvalidSha(self): """Test an image with a pre-load header with an invalid hash""" with self.assertRaises(ValueError) as e: - data = self._DoReadFile('229_pre_load_invalid_sha.dts') + data = self._DoReadFile('234_pre_load_invalid_sha.dts') def testPreLoadInvalidAlgo(self): """Test an image with a pre-load header with an invalid algo""" with self.assertRaises(ValueError) as e: - data = self._DoReadFile('230_pre_load_invalid_algo.dts') + data = self._DoReadFile('235_pre_load_invalid_algo.dts') def testPreLoadInvalidKey(self): """Test an image with a pre-load header with an invalid key""" with self.assertRaises(ValueError) as e: - data = self._DoReadFile('231_pre_load_invalid_key.dts') + data = self._DoReadFile('236_pre_load_invalid_key.dts') def _CheckSafeUniqueNames(self, *images): """Check all entries of given images for unsafe unique names""" @@ -5593,7 +5594,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testSafeUniqueNames(self): """Test entry unique names are safe in single image configuration""" - data = self._DoReadFileRealDtb('230_unique_names.dts') + data = self._DoReadFileRealDtb('237_unique_names.dts') orig_image = control.images['image'] image_fname = tools.get_output_filename('image.bin') @@ -5603,7 +5604,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testSafeUniqueNamesMulti(self): """Test entry unique names are safe with multiple images""" - data = self._DoReadFileRealDtb('231_unique_names_multi.dts') + data = self._DoReadFileRealDtb('238_unique_names_multi.dts') orig_image = control.images['image'] image_fname = tools.get_output_filename('image.bin') @@ -5613,7 +5614,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testReplaceCmdWithBintool(self): """Test replacing an entry that needs a bintool to pack""" - data = self._DoReadFileRealDtb('232_replace_with_bintool.dts') + data = self._DoReadFileRealDtb('239_replace_with_bintool.dts') expected = U_BOOT_DATA + b'aa' self.assertEqual(expected, data[:len(expected)]) @@ -5632,7 +5633,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testReplaceCmdOtherWithBintool(self): """Test replacing an entry when another needs a bintool to pack""" - data = self._DoReadFileRealDtb('232_replace_with_bintool.dts') + data = self._DoReadFileRealDtb('239_replace_with_bintool.dts') expected = U_BOOT_DATA + b'aa' self.assertEqual(expected, data[:len(expected)]) @@ -5672,7 +5673,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testExtractFit(self): """Test extracting a FIT section""" - self._DoReadFileRealDtb('233_fit_extract_replace.dts') + self._DoReadFileRealDtb('240_fit_extract_replace.dts') image_fname = tools.get_output_filename('image.bin') fit_data = control.ReadEntry(image_fname, 'fit') @@ -5691,7 +5692,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testExtractFitSubentries(self): """Test extracting FIT section subentries""" - self._DoReadFileRealDtb('233_fit_extract_replace.dts') + self._DoReadFileRealDtb('240_fit_extract_replace.dts') image_fname = tools.get_output_filename('image.bin') for entry_path, expected in [ @@ -5710,7 +5711,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap new_data = b'x' * len(U_BOOT_DATA) data, expected_fdtmap, _ = self._RunReplaceCmd( 'fit/kernel/u-boot', new_data, - dts='233_fit_extract_replace.dts') + dts='240_fit_extract_replace.dts') self.assertEqual(new_data, data) path, fdtmap = state.GetFdtContents('fdtmap') @@ -5722,7 +5723,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap new_data = b'ub' * len(U_BOOT_NODTB_DATA) data, expected_fdtmap, _ = self._RunReplaceCmd( 'fit/fdt-1/u-boot-nodtb', new_data, - dts='233_fit_extract_replace.dts') + dts='240_fit_extract_replace.dts') self.assertEqual(new_data, data) # Will be repacked, so fdtmap must change @@ -5736,7 +5737,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap expected = new_data.ljust(len(U_BOOT_NODTB_DATA), b'\0') data, expected_fdtmap, _ = self._RunReplaceCmd( 'fit/fdt-1/u-boot-nodtb', new_data, - dts='233_fit_extract_replace.dts') + dts='240_fit_extract_replace.dts') self.assertEqual(expected, data) path, fdtmap = state.GetFdtContents('fdtmap') @@ -5748,14 +5749,14 @@ fdt fdtmap Extract the devicetree blob from the fdtmap new_data = b'w' * len(COMPRESS_DATA + U_BOOT_DATA) with self.assertRaises(ValueError) as exc: self._RunReplaceCmd('section', new_data, - dts='234_replace_section_simple.dts') + dts='241_replace_section_simple.dts') self.assertIn( "Node '/section': Replacing sections is not implemented yet", str(exc.exception)) def testMkimageImagename(self): """Test using mkimage with -n holding the data too""" - data = self._DoReadFile('235_mkimage_name.dts') + data = self._DoReadFile('242_mkimage_name.dts') # Check that the data appears in the file somewhere self.assertIn(U_BOOT_SPL_DATA, data) @@ -5772,7 +5773,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testMkimageImage(self): """Test using mkimage with -n holding the data too""" - data = self._DoReadFile('236_mkimage_image.dts') + data = self._DoReadFile('243_mkimage_image.dts') # Check that the data appears in the file somewhere self.assertIn(U_BOOT_SPL_DATA, data) @@ -5793,20 +5794,20 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testMkimageImageNoContent(self): """Test using mkimage with -n and no data""" with self.assertRaises(ValueError) as exc: - self._DoReadFile('237_mkimage_image_no_content.dts') + self._DoReadFile('244_mkimage_image_no_content.dts') self.assertIn('Could not complete processing of contents', str(exc.exception)) def testMkimageImageBad(self): """Test using mkimage with imagename node and data-to-imagename""" with self.assertRaises(ValueError) as exc: - self._DoReadFile('238_mkimage_image_bad.dts') + self._DoReadFile('245_mkimage_image_bad.dts') self.assertIn('Cannot use both imagename node and data-to-imagename', str(exc.exception)) def testCollectionOther(self): """Test a collection where the data comes from another section""" - data = self._DoReadFile('239_collection_other.dts') + data = self._DoReadFile('246_collection_other.dts') self.assertEqual(U_BOOT_NODTB_DATA + U_BOOT_DTB_DATA + tools.get_bytes(0xff, 2) + U_BOOT_NODTB_DATA + tools.get_bytes(0xfe, 3) + U_BOOT_DTB_DATA, @@ -5814,20 +5815,20 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testMkimageCollection(self): """Test using a collection referring to an entry in a mkimage entry""" - data = self._DoReadFile('240_mkimage_coll.dts') + data = self._DoReadFile('247_mkimage_coll.dts') expect = U_BOOT_SPL_DATA + U_BOOT_DATA self.assertEqual(expect, data[:len(expect)]) def testCompressDtbPrependInvalid(self): """Test that invalid header is detected""" with self.assertRaises(ValueError) as e: - self._DoReadFileDtb('235_compress_dtb_prepend_invalid.dts') + self._DoReadFileDtb('248_compress_dtb_prepend_invalid.dts') self.assertIn("Node '/binman/u-boot-dtb': Invalid prepend in " "'u-boot-dtb': 'invalid'", str(e.exception)) def testCompressDtbPrependLength(self): """Test that compress with length header works as expected""" - data = self._DoReadFileRealDtb('236_compress_dtb_prepend_length.dts') + data = self._DoReadFileRealDtb('249_compress_dtb_prepend_length.dts') image = control.images['image'] entries = image.GetEntries() self.assertIn('u-boot-dtb', entries) @@ -5860,7 +5861,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testInvalidCompress(self): """Test that invalid compress algorithm is detected""" with self.assertRaises(ValueError) as e: - self._DoTestFile('237_compress_dtb_invalid.dts') + self._DoTestFile('250_compress_dtb_invalid.dts') self.assertIn("Unknown algorithm 'invalid'", str(e.exception)) def testCompUtilCompressions(self): @@ -5893,7 +5894,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap def testCompressDtbZstd(self): """Test that zstd compress of device-tree files failed""" with self.assertRaises(ValueError) as e: - self._DoTestFile('238_compress_dtb_zstd.dts') + self._DoTestFile('251_compress_dtb_zstd.dts') self.assertIn("Node '/binman/u-boot-dtb': The zstd compression " "requires a length header", str(e.exception)) diff --git a/tools/binman/test/225_dev.key b/tools/binman/test/230_dev.key similarity index 100% rename from tools/binman/test/225_dev.key rename to tools/binman/test/230_dev.key diff --git a/tools/binman/test/225_pre_load.dts b/tools/binman/test/230_pre_load.dts similarity index 86% rename from tools/binman/test/225_pre_load.dts rename to tools/binman/test/230_pre_load.dts index c1ffe1a2ff..c0c24729f8 100644 --- a/tools/binman/test/225_pre_load.dts +++ b/tools/binman/test/230_pre_load.dts @@ -10,7 +10,7 @@ pre-load { content = <&image>; algo-name = "sha256,rsa2048"; - key-name = "tools/binman/test/225_dev.key"; + key-name = "tools/binman/test/230_dev.key"; header-size = <4096>; version = <0x11223344>; }; diff --git a/tools/binman/test/226_pre_load_pkcs.dts b/tools/binman/test/231_pre_load_pkcs.dts similarity index 87% rename from tools/binman/test/226_pre_load_pkcs.dts rename to tools/binman/test/231_pre_load_pkcs.dts index 3db0a37f77..530638c56b 100644 --- a/tools/binman/test/226_pre_load_pkcs.dts +++ b/tools/binman/test/231_pre_load_pkcs.dts @@ -11,7 +11,7 @@ content = <&image>; algo-name = "sha256,rsa2048"; padding-name = "pkcs-1.5"; - key-name = "tools/binman/test/225_dev.key"; + key-name = "tools/binman/test/230_dev.key"; header-size = <4096>; version = <0x11223344>; }; diff --git a/tools/binman/test/227_pre_load_pss.dts b/tools/binman/test/232_pre_load_pss.dts similarity index 87% rename from tools/binman/test/227_pre_load_pss.dts rename to tools/binman/test/232_pre_load_pss.dts index b1b01d5ad5..371e0fdb40 100644 --- a/tools/binman/test/227_pre_load_pss.dts +++ b/tools/binman/test/232_pre_load_pss.dts @@ -11,7 +11,7 @@ content = <&image>; algo-name = "sha256,rsa2048"; padding-name = "pss"; - key-name = "tools/binman/test/225_dev.key"; + key-name = "tools/binman/test/230_dev.key"; header-size = <4096>; version = <0x11223344>; }; diff --git a/tools/binman/test/228_pre_load_invalid_padding.dts b/tools/binman/test/233_pre_load_invalid_padding.dts similarity index 86% rename from tools/binman/test/228_pre_load_invalid_padding.dts rename to tools/binman/test/233_pre_load_invalid_padding.dts index 84fe289183..9cb4cb570b 100644 --- a/tools/binman/test/228_pre_load_invalid_padding.dts +++ b/tools/binman/test/233_pre_load_invalid_padding.dts @@ -11,7 +11,7 @@ content = <&image>; algo-name = "sha256,rsa2048"; padding-name = "padding"; - key-name = "tools/binman/test/225_dev.key"; + key-name = "tools/binman/test/230_dev.key"; header-size = <4096>; version = <1>; }; diff --git a/tools/binman/test/229_pre_load_invalid_sha.dts b/tools/binman/test/234_pre_load_invalid_sha.dts similarity index 86% rename from tools/binman/test/229_pre_load_invalid_sha.dts rename to tools/binman/test/234_pre_load_invalid_sha.dts index a2b6725c89..8ded98df53 100644 --- a/tools/binman/test/229_pre_load_invalid_sha.dts +++ b/tools/binman/test/234_pre_load_invalid_sha.dts @@ -11,7 +11,7 @@ content = <&image>; algo-name = "sha2560,rsa2048"; padding-name = "pkcs-1.5"; - key-name = "tools/binman/test/225_dev.key"; + key-name = "tools/binman/test/230_dev.key"; header-size = <4096>; version = <1>; }; diff --git a/tools/binman/test/230_pre_load_invalid_algo.dts b/tools/binman/test/235_pre_load_invalid_algo.dts similarity index 86% rename from tools/binman/test/230_pre_load_invalid_algo.dts rename to tools/binman/test/235_pre_load_invalid_algo.dts index 34c8d34f15..145286caa3 100644 --- a/tools/binman/test/230_pre_load_invalid_algo.dts +++ b/tools/binman/test/235_pre_load_invalid_algo.dts @@ -11,7 +11,7 @@ content = <&image>; algo-name = "sha256,rsa20480"; padding-name = "pkcs-1.5"; - key-name = "tools/binman/test/225_dev.key"; + key-name = "tools/binman/test/230_dev.key"; header-size = <4096>; version = <1>; }; diff --git a/tools/binman/test/231_pre_load_invalid_key.dts b/tools/binman/test/236_pre_load_invalid_key.dts similarity index 86% rename from tools/binman/test/231_pre_load_invalid_key.dts rename to tools/binman/test/236_pre_load_invalid_key.dts index 08d5a75ddf..df858c3a28 100644 --- a/tools/binman/test/231_pre_load_invalid_key.dts +++ b/tools/binman/test/236_pre_load_invalid_key.dts @@ -11,7 +11,7 @@ content = <&image>; algo-name = "sha256,rsa4096"; padding-name = "pkcs-1.5"; - key-name = "tools/binman/test/225_dev.key"; + key-name = "tools/binman/test/230_dev.key"; header-size = <4096>; version = <1>; }; diff --git a/tools/binman/test/230_unique_names.dts b/tools/binman/test/237_unique_names.dts similarity index 100% rename from tools/binman/test/230_unique_names.dts rename to tools/binman/test/237_unique_names.dts diff --git a/tools/binman/test/231_unique_names_multi.dts b/tools/binman/test/238_unique_names_multi.dts similarity index 100% rename from tools/binman/test/231_unique_names_multi.dts rename to tools/binman/test/238_unique_names_multi.dts diff --git a/tools/binman/test/232_replace_with_bintool.dts b/tools/binman/test/239_replace_with_bintool.dts similarity index 100% rename from tools/binman/test/232_replace_with_bintool.dts rename to tools/binman/test/239_replace_with_bintool.dts diff --git a/tools/binman/test/233_fit_extract_replace.dts b/tools/binman/test/240_fit_extract_replace.dts similarity index 100% rename from tools/binman/test/233_fit_extract_replace.dts rename to tools/binman/test/240_fit_extract_replace.dts diff --git a/tools/binman/test/234_replace_section_simple.dts b/tools/binman/test/241_replace_section_simple.dts similarity index 100% rename from tools/binman/test/234_replace_section_simple.dts rename to tools/binman/test/241_replace_section_simple.dts diff --git a/tools/binman/test/235_mkimage_name.dts b/tools/binman/test/242_mkimage_name.dts similarity index 100% rename from tools/binman/test/235_mkimage_name.dts rename to tools/binman/test/242_mkimage_name.dts diff --git a/tools/binman/test/236_mkimage_image.dts b/tools/binman/test/243_mkimage_image.dts similarity index 100% rename from tools/binman/test/236_mkimage_image.dts rename to tools/binman/test/243_mkimage_image.dts diff --git a/tools/binman/test/237_mkimage_image_no_content.dts b/tools/binman/test/244_mkimage_image_no_content.dts similarity index 100% rename from tools/binman/test/237_mkimage_image_no_content.dts rename to tools/binman/test/244_mkimage_image_no_content.dts diff --git a/tools/binman/test/238_mkimage_image_bad.dts b/tools/binman/test/245_mkimage_image_bad.dts similarity index 100% rename from tools/binman/test/238_mkimage_image_bad.dts rename to tools/binman/test/245_mkimage_image_bad.dts diff --git a/tools/binman/test/239_collection_other.dts b/tools/binman/test/246_collection_other.dts similarity index 100% rename from tools/binman/test/239_collection_other.dts rename to tools/binman/test/246_collection_other.dts diff --git a/tools/binman/test/240_mkimage_coll.dts b/tools/binman/test/247_mkimage_coll.dts similarity index 100% rename from tools/binman/test/240_mkimage_coll.dts rename to tools/binman/test/247_mkimage_coll.dts diff --git a/tools/binman/test/235_compress_dtb_prepend_invalid.dts b/tools/binman/test/248_compress_dtb_prepend_invalid.dts similarity index 100% rename from tools/binman/test/235_compress_dtb_prepend_invalid.dts rename to tools/binman/test/248_compress_dtb_prepend_invalid.dts diff --git a/tools/binman/test/236_compress_dtb_prepend_length.dts b/tools/binman/test/249_compress_dtb_prepend_length.dts similarity index 100% rename from tools/binman/test/236_compress_dtb_prepend_length.dts rename to tools/binman/test/249_compress_dtb_prepend_length.dts diff --git a/tools/binman/test/237_compress_dtb_invalid.dts b/tools/binman/test/250_compress_dtb_invalid.dts similarity index 100% rename from tools/binman/test/237_compress_dtb_invalid.dts rename to tools/binman/test/250_compress_dtb_invalid.dts diff --git a/tools/binman/test/238_compress_dtb_zstd.dts b/tools/binman/test/251_compress_dtb_zstd.dts similarity index 100% rename from tools/binman/test/238_compress_dtb_zstd.dts rename to tools/binman/test/251_compress_dtb_zstd.dts