From patchwork Thu Nov 3 21:35:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1699212 X-Patchwork-Delegate: trini@ti.com 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 (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=NjvvNjiB; 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 4N3HBX19bGz23lQ for ; Fri, 4 Nov 2022 08:36:20 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7DDEB850D7; Thu, 3 Nov 2022 22:35:57 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="NjvvNjiB"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1CDB1850BB; Thu, 3 Nov 2022 22:35:52 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20042.outbound.protection.outlook.com [40.107.2.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 5523D850BD for ; Thu, 3 Nov 2022 22:35:47 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JZ5w4RTZHuVb4m7x8tWO1Wu2ZVPP4w0c+40xYz0XpzJsMnvjeB0ZbqHcot/JdlE4bYULYIBFnVTex963EjL3dU+TGMQ/9eVxZEsp2DiG6P5gHkKoRZe5i1P6HxEjipjF+RcSm4ClsGDXIzGfmqpng2gCmXjuUlSY6o+8Vbgr5NLkVtEQMzMPpFLIe0D64kLTj4UlrtlRf+8ZLKrg+KblauNdGP4WdX70pnaNbdjPSFyMdJ7rFDrujfi50614bEOfFwL7fZh9Q1ot3fN6hA156J9XBpqYS4Wu37IX8ZkpcKUCRW6QO5HNHYUxUVJTnOyUdeOuv7VMona2Bb1/LPGq4g== 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=ts7WgFsHAS2XXCUzYpObCCmNzZi8fJV1BoDQ4vXwyh4=; b=VlVcCcYpJtZHYYDzbNti1fNgnXequ491lqCkSUJX3nX9WuvnCvNqxoDTyWMXeN1PhaCm74pSEC2MIbPljTeaTY3UaF7tP9xF8RLJPyf958lFHaALAYJw+hHe14P2s/i7gpUOg0emed7OYjjC3VAI3Tsjx1++dvG8puzMcF4hvPJ/TnTMCVp9xewSyU7nT0x4qJxfMn+bAnt9yvTCRvx0odIaOQ6dTa2U/nMWj1LRuB72xim8anht6b3AkT/hCWvLdoq8AGboBuNS1m1WcCFLjrWdXcLfK7f16o/B+zEkOF7sJgHzcQjFcy9mMy4iMFfnSdiARSNAl/iZPxvVYY8oww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ts7WgFsHAS2XXCUzYpObCCmNzZi8fJV1BoDQ4vXwyh4=; b=NjvvNjiBI+f6PoFpN9zaUUAY766wiJ1oLQexF3mTsvUs1D/PG4iKG9jpjkV/C7vGeT8wR/zvVc91CEYIn4hEBo7DUaUdK8fOWo/St8LmNqxdWaBkYpkaJBs3Yi93BFpY/aHyHNt97KEPlzBbem8FWLmO73ATwPxcJrIO1g1S+54o4KnvX5lD1Z1YHVnGmiJ9dLfHAaXEPBQEMh6gtfm5aVpDr3n8IVsIrThVE1Pn4yZFEd73eLX0WiboYDSnyPMRpmLlWd3BIF0t0XGaOyBPGyoF453rqcKFong8zFghszq5d5AZq2QaVB4rE0gkh8oJYNuyiihDbo04QkJpLCTXhA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) by DU0PR03MB9660.eurprd03.prod.outlook.com (2603:10a6:10:42c::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20; Thu, 3 Nov 2022 21:35:45 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::e9d6:22e1:489a:c23d]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::e9d6:22e1:489a:c23d%4]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 21:35:45 +0000 From: Sean Anderson To: Simon Glass , u-boot@lists.denx.de Cc: Rasmus Villemoes , Tom Rini , Sean Anderson Subject: [PATCH v3 1/4] test: Add test for source command Date: Thu, 3 Nov 2022 17:35:30 -0400 Message-Id: <20221103213534.2336001-2-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20221103213534.2336001-1-sean.anderson@seco.com> References: <20221103213534.2336001-1-sean.anderson@seco.com> X-ClientProxiedBy: BL1PR13CA0376.namprd13.prod.outlook.com (2603:10b6:208:2c0::21) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR03MB4972:EE_|DU0PR03MB9660:EE_ X-MS-Office365-Filtering-Correlation-Id: acae3f1d-b461-45a4-1707-08dabde35d94 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MZ3COm5kba2/d10JzhSmWIgC+60znzfp1fYCRkhSlFUIHQ0CKKZHT0OzwW50wk0hfM3fbmk/BW7ajj1y93VCnOL0O3E2sh/Ru9+A1UzVlMlF+pzTvKXwGaFlqgqYGPW3jkv9aBdhgAnh6XbwIPKp6l/rqbF7UCwm3wWBMEVy2/NtbhIXgpOdEKw/D0vEvhoL2ccjBJZJ1QvdQ0jRV7JF8Jmsnbz04rRzcrr+KUH7++rBt5Q9YS6hp4xOroY+dcf0K4iBFAOyjLJjt58RZp7V+xr3a7+DaDW0Sssd8KhsE5JVqpv03g0Q4+0UP47FC4+hXwuVeoPJftYsHsq0rRTR26+tonbFeruTK8m7+Ogi0g92Cozniqe6Qp5C09ZMDzfmQqcBDgv3CvZ40nPID5tBWF7fPdur57NJ5vnjvdEvQQh3OnsL/2+4hsjFU4VeTKChfGVjso60dMLFZQc05o2li8ZiG2A2FrYeRHvPHBRU0xmlPsPPWyRTG+cTazLsOrqpPkSAzQZ2xb0EuNFHZ/r4hYVk3G7NElD6P1+stAF0ZBwdEwdPmaae18oHY9IEBeg2Rfz9hI1vmroAZ/FsZjfKUHXVC8pxxgkXXk1Hz+vHYwCw4KsmMjNRnHY5IJ714lIuAE5XltibYMlVOYQtdZ8MFANQrc5QE+jDRsqpqhpKjEaL5RRzA2iXLsTmjIZX3YwcHXkX08TVs8Kl+F3npzlcF15yQGs3AOmI+amIYijIe+9ggFIpj5uYCOg/WbD5QCaOIm2Pcpfxxc6HNIOKRlfodg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR03MB4972.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(376002)(39850400004)(346002)(396003)(136003)(366004)(451199015)(5660300002)(316002)(52116002)(107886003)(6666004)(54906003)(4326008)(66556008)(66946007)(8676002)(6506007)(66476007)(6486002)(44832011)(1076003)(2616005)(41300700001)(186003)(8936002)(36756003)(26005)(478600001)(6512007)(38350700002)(38100700002)(2906002)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: El26gxz3yUMrAUl7uYs6mvko+Av5BvBYkyahA53ZIWdZ5VICJMmeI4AgNP3CEhHUzC8eBCIPJGlnRY5ddwfu8gl8I2jYlppRJDMepxcU0wYT9+/E9n/kaqsY611qLhVuewjI+2WRdgjFD5ODMQZOV4a5qfWhhegl8z5lq9DsKAS4z+LIeHKd+PQPhhjHbHiVsA2eB31ki+ssGc2mL5qhhzrGg/Eymd+hNO2X0e3IHRXHRyaIr7gOniycmdTl0DZgmsqS+RjoAJtiOLWpK6Y0Z7pc0r1DuoRUPz+DcoNAMEeZ8fZkgK871Yd9AOZRBpkDY4ZNamesqOjAb+1lMYfDHfWEo/A27y3rU9dobujFWo/3eYYRyO4FO0E1a5gv0jx8eLxN9xCAvs5bDvl0GMYUoWxhoEE2DQuVdJR0BLGgWKIVxxxttqOXIUKibDYliJxXLwMldVrTYcByfEIjSYmTKOAW6ob50AZYQtxfhUsAVKV/SVK1+tUCQjBrZK1tbgX3Ap/Hkckt9gaazp3YTgYj8/0WoYl6Mcw2n47AYlBL1NaHVokmkwW9BjYClmJqHZ82PyauITD8Liqx8phiOcDdIzvtgJdGRujN65+WmwMSmZJvThmAD9x5wpdGLGxTSEA3CCTxlHwKFEj6iCL0sTdCU7u/VpfH8A1cJmuGj0LpoKwz2FMghG5m1fwDBJNhvRjUkrVcCx0vjLqlEPfaUMJzNIJSe/PNNOzJiScfSLSP9gW4UI4ipdIQxhPuxDF0f57u5GeIPBJ790kLFGNpI2reVTfvCyohHsbd7vc9u0WgSV6U6/PpyAYpobo9mg6gIcYUI/iQJ6Ftk9mZ43IW06fXyolZOz3tlNsLK2BxjyGIrPAOaC+rexNLZfhqBcYRn/BlpY8mnmBIFvGPcnJ3QtXGNyNS6hc/+79QnkLIY2+XTZdY6EkSEgHYeKKmz32xw9miaWFlBvN1SVC5ga6wPcPNWuKnKUW0fB49tUQV4Zi65Y2976/J6dfg47EmEud7+OhFTQFDD2O9f5nXKgzjF+B6tHSMZ9KZFCPoc4GxnlY7Y3ArfH1+b6CpOAg6bqkuT5DPNR7dPZOfTL8kRHFARKagsSbgsog6pLZdWFM5/FqsE+f3UCGqfwEn5qx0vx6wOCbG9FwdHxP4iWojSnW/t/kVPq61wsjcZDLwxhfZaQmSYFG0uyQCykf4P6XHnKEzHzCuZ2W2H08ybd/h3lBm9d3OHOXkwo6uIA7yFeF8DJZm7QZiCLKxH4xZKIlJaohFxY4dcMQ8jO0PLhnWYrk6D3fm9dR9FtKdm/cGqzDVKgXFDim+9kypgMsxi8CbjgWIaSurpWxJs9gVKTpFsoSwoMUTZSpZgjYJenHQO0ab+VdkWaH7r88IcOrDMfJQJ/Oyu8zpMdj4JzGzcN12U6dgd/TUmqAhTEUcVpDIu9dbEca7iD42fxHPLak3OvAw7zCXx6v0y19fOgk5GyNiuO4Pi+Xd6E9MENjYvvUvyiwAQHl+MCp/kVfJBQQqJH/Hj3nhEzPKPbF9mBTHWmolMDqZ964CjP5cCYy6liBflYFw/oAM4oqS//NfwMzePnU9D871HGwnImduRXzADclCGDlW1BRFDA== X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: acae3f1d-b461-45a4-1707-08dabde35d94 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2022 21:35:45.2964 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KPNcC/X5B9VXAC/R0M0uY278tkFWEZkzfuxtNxFP1KIGrJfTz6gpsXK9hxV4T6dFln9Vt5hdhjeOJdVRETWEAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9660 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 This adds a basic test for FIT image handling by the source command. It's a python test becase we need to run mkimage. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- Changes in v3: - Halve the quotes Changes in v2: - New test/py/tests/source.its | 43 ++++++++++++++++++++++++++++++++++++ test/py/tests/test_source.py | 28 +++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 test/py/tests/source.its create mode 100644 test/py/tests/test_source.py diff --git a/test/py/tests/source.its b/test/py/tests/source.its new file mode 100644 index 00000000000..3c62f777f17 --- /dev/null +++ b/test/py/tests/source.its @@ -0,0 +1,43 @@ +/dts-v1/; + +/ { + description = "FIT image to test the source command"; + #address-cells = <1>; + + images { + default = "script-1"; + + script-1 { + data = "echo 1"; + type = "script"; + arch = "sandbox"; + compression = "none"; + }; + + script-2 { + data = "echo 2"; + type = "script"; + arch = "sandbox"; + compression = "none"; + }; + + not-a-script { + data = "echo 3"; + type = "kernel"; + arch = "sandbox"; + compression = "none"; + }; + }; + + configurations { + default = "conf-2"; + + conf-1 { + script = "script-1"; + }; + + conf-2 { + script = "script-2"; + }; + }; +}; diff --git a/test/py/tests/test_source.py b/test/py/tests/test_source.py new file mode 100644 index 00000000000..e5ffdfe3fc4 --- /dev/null +++ b/test/py/tests/test_source.py @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Copyright (C) 2022 Sean Anderson + +import os +import pytest +import u_boot_utils as util + +@pytest.mark.boardspec('sandbox') +@pytest.mark.buildconfigspec('cmd_echo') +@pytest.mark.buildconfigspec('cmd_source') +@pytest.mark.buildconfigspec('fit') +def test_source(u_boot_console): + # Compile our test script image + cons = u_boot_console + mkimage = os.path.join(cons.config.build_dir, 'tools/mkimage') + its = os.path.join(cons.config.source_dir, 'test/py/tests/source.its') + fit = os.path.join(cons.config.build_dir, 'source.itb') + util.run_and_log(cons, (mkimage, '-f', its, fit)) + cons.run_command(f'host load hostfs - $loadaddr {fit}') + + assert '1' in cons.run_command('source') + assert '1' in cons.run_command('source :script-1') + assert '2' in cons.run_command('source :script-2') + assert 'Fail' in cons.run_command('source :not-a-script || echo Fail') + + cons.run_command('fdt addr $loadaddr') + cons.run_command('fdt rm /images default') + assert 'Fail' in cons.run_command('source || echo Fail')