From patchwork Thu Oct 20 19:24:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1692689 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=N6BanEjW; 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) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Mtcwq3ZmXz23jc for ; Fri, 21 Oct 2022 06:24:27 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DA82D84D94; Thu, 20 Oct 2022 21:24:21 +0200 (CEST) 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="N6BanEjW"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 53CE684FAE; Thu, 20 Oct 2022 21:24:20 +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=-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-eopbgr20059.outbound.protection.outlook.com [40.107.2.59]) (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 9669E84BB9 for ; Thu, 20 Oct 2022 21:24:16 +0200 (CEST) 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=Qdl79gf4jWQcZvuOtRwW1o0GIUZGVxMGnOb3hwUMp9em33ue8E7/6KrvcPeNpWX0AFBCJ4bk8iH3nhYIlXhy0274lognqNh7ldbT26LZpPO6ONHHh5+i1hWr1J8/Nhk+vGqQ1C2Ud5MESJ8F/sp2TqqeqyCpqWaMObwVo2kh6STk0Iz6psI+e9YVV3VyX9mO3dXU+eP/pUrxQGKEmuVBA7feyZbhC0DDZmHxMsKrUlyeQM2V9NtcLu65s+Ko6165kGJ7MTY2aUBvizI58H5pl42o6F62h7tWQaAx6+zFoE2uD6KZFoBN7LjZ6rqehG1vE9ytNNG9YMQpRRfXvdUc9Q== 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=RxS+TBdfgkdHxN3qj41xNXRCsUDSi3I6W0YfJdwdils=; b=WOnuMH0UIoM5s0g3iwVSryrXjTbVbkL11TmdUjXgWq0Uup6wnQ07S3bM1BGDfTi9eZa0QHM+6+90GuIhOCwi/u14YULDVtKj/hJKrjiV5jLprHv00MFjQM9VZSkG1c1f4oNXq509KPHXkod58fbn8Rd+BESNopmQdRvR1h3j6asDfOCtd6GGQHdezLCyrzS+kHAfPXJPytj4dN7jswt8LNQZiKXdRfOjIhA0hNYOHC5E1jm0sEl+/8XH3h48V0xM9PwlM1qlYBdZ9lii1Q0K7dBJcv0zSshzAZpzRDm2HvNeFgwBjA17U3NJbzKh0xSONDpEoh3YTGzC2GUmVEiteQ== 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=RxS+TBdfgkdHxN3qj41xNXRCsUDSi3I6W0YfJdwdils=; b=N6BanEjWvMoF5XQ1A2xPuy+YqAK6fplxNUvuroPt7MovXpccfNh0zX7IbskqOGPQUPELWohyU2w6Sj29+fvmOS1Q/AJnFy9RJ07xhMwPwrhExrb0oT5RuHXwQu/EawSS+UutuFr0hAPsT/LORrbJCbBH+rgb6DC13C/d1isN3G01D7HClUCKvaadPMBRdmRoG1wHohZu+Ecffw681xGJNNGXo1gOA3brGXr114EM5aJA2nCta/bOK8+YhAeuBGwyEU+yNuclwrn8XZ44Ro4sghIRwOBU/IQOvtyWWXiH/FCwBbtfyZCVsMEF5BRhErrVJO2jfwJ0SwVjv2ASEsK2Cg== 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 GVXPR03MB8450.eurprd03.prod.outlook.com (2603:10a6:150:4::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.26; Thu, 20 Oct 2022 19:24:15 +0000 Received: from DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::204a:de22:b651:f86d]) by DB7PR03MB4972.eurprd03.prod.outlook.com ([fe80::204a:de22:b651:f86d%6]) with mapi id 15.20.5723.034; Thu, 20 Oct 2022 19:24:14 +0000 From: Sean Anderson To: Simon Glass , u-boot@lists.denx.de Cc: Tom Rini , Rasmus Villemoes , Sean Anderson Subject: [PATCH v2 1/4] test: Add test for source command Date: Thu, 20 Oct 2022 15:24:01 -0400 Message-Id: <20221020192404.2500251-2-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20221020192404.2500251-1-sean.anderson@seco.com> References: <20221020192404.2500251-1-sean.anderson@seco.com> X-ClientProxiedBy: MN2PR16CA0044.namprd16.prod.outlook.com (2603:10b6:208:234::13) To DB7PR03MB4972.eurprd03.prod.outlook.com (2603:10a6:10:7d::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB7PR03MB4972:EE_|GVXPR03MB8450:EE_ X-MS-Office365-Filtering-Correlation-Id: 36d227e8-a497-4c46-76d8-08dab2d0acb9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IN/XuiGVVjLsq2+/GV6lqolClN93yTiBR0uFW8RPadQTSEhgi7J+UHlT09lGeka/tjWj5aJKoIcuS20iI8mr2czBEs7PtC8Sz6h0pXipMd4AyK7goYlRu8+yxNFnUUhw9G1sQMrf1mVWCwANjybVfPyN+AWSUX5FkJfibE2LXF7iuM02IjYDlJEHkswUTJdbXBt81+FllupdL7AJIGLN+8nAAc5vABZflnxLWRlGoCx99zbsp0xa8H7CcOVHl8QLnnghvgBfvp9sNNYKUNRpPxejh2ph49JKMeZ9v3G7DgRmiEgCIVAJZoPhsCA3Ib1v8BgV4R7xvclO+qdW8pZ73O6NEN/4iQiSoHYG//0+jdc/sKRO2vUdM+9hVE3ChN5dP7nKRB+2c6Ofukc8elRlCE1T1KU+h4Od7qpfiHXg0Un8P1LD4WiirqkZPvheQMUZOrRJ307HmBmuOj4cgSQBrUqzMwl/K5bokj8aC3GVs3v9eNDUpc/ZyzMzqcYzbQGJQDr7s6ilE1ew3t+Fnuofdf1EWVo86ciwgyI+3SYZzDPm66cm2w61geesRCWuGgI8kLjpgyIe4q0sGp8LC8NbDC8dG+wp9EJcLER6LGo5fs4IWE/m1WlNE3ueELF+zXMuNAQyzqVWraOuTTYSlLuOl3xJ9cY6fiBb6S5/e5K5YMe0dXVzl4Mst3MGGWGnjSu8UO+PMkUMD2AIeqlhwB3lRhKtIL01iMo6ekGoebyKjTlqAy7h+JOLSE6BLkaDQC6T6aTHnlhNmcZtVnW76Vgzjw== 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)(396003)(366004)(39850400004)(136003)(346002)(376002)(451199015)(66556008)(38100700002)(38350700002)(8936002)(107886003)(41300700001)(6666004)(6506007)(52116002)(86362001)(316002)(6512007)(26005)(54906003)(4326008)(6486002)(66946007)(44832011)(478600001)(36756003)(8676002)(66476007)(5660300002)(186003)(2616005)(2906002)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wSkotET9ejgDJ4XO12jqRaOedWKsMXDwqJe64m3fe9+jVY+HwxPi+BSOiGBTzrqRJ8wzztxwqkK8arP97FrYdlm0uQYuW2eBY93oHMx3T6LfMq4IKXgC9HIgkSdo+S/7QLYqCJNBD0aCIrpRukXy4P5b8Y/03dhMnt56foQ8pSbc2D0LaSGSdY2KWh8/NVPMvBwvh1xKZVvbIkku4pj5GymBs9bxqdNLC1oD0HGzUliAQ0/qwLvjBmf5KrPL0GPj4W3BsCWMqRZiw4nPCcx+63NCjtgDLWKIoO3Xrt8jDdyeS0L3AjLFb3SbqF1kXUK3TXWpspF4zKX5SoYE+zic7Ppao+cyM09MN/nvjQU5PRirBmgG+VpGD3/WM5RWMy7+8DgxVsh26RSXP7MezGDlNFHGDFD0IGuOv7ZQms8SXvfXKtv2vp4PRI2rUEfq7ntIbpJ9Cafs2bwPDk8nQsmEKSWCXlBU3BWlu/nUEeYy820YSJbotU8mE5zp/zbAGMmLq8CcTBPYUgrV3Deg0FnLx6zNAPF4NAo+xhR6zIC5pwiD3FDqyI5v1U8Cn/eqyF69gPK2HxeuTwkou6Ju7FfBBebgitxBuTONWe45JLmaV9KV87hzPpyWM6/gy0uJ7fpzPNPml1krHJrX3PdmWvoAkihLjVy9IDo2GrGHMdPYKjB6LHTMPWTW+hLnqKboeV4d8QtGONyQCnGsKBgqBEX3MkrvRXqyHYbIdGYu509ekKpDxVWN3QN+KUyT77ry1LH4RDbrNfephgERh40pyLFZVmDvrp/MRhRp3BWlUPh85jJrGFp87nWy6Sgif71bFNYnEExW0WZM+XsdbFGeH3e8WhkVockYBJBnfZbruB2l+iwm4cgYqMow9JH2xFLerZYn7dbgnqgCtlGYSoFN3F+UzNrBt8OekmEUX+0ecVLFYyUkuj6iSMZ9FJy3Cu/ozTxLMuT45WPZ6TO3IpRyg5zoKLGxWDBPgl0CJXbthb3DEcUhBs7vG0oiaNvVkZQFd0SoZ61AgMolo0LPLaSjn/0zcTozOU/aYkp1Wh7ri0Ox5i1EyPratKE5zbnE+w/chmVNnR4j6nBlSaWgFKW8UpyaIgiaOgBQo2PvsLhaIWXaYGfRk/GISDAfgkAc8wl1XX173XQDF7ntHXKb9LiafBc4+rLxqHYeidrNXWw5BMokKsIlBvoSXR0pgT/lnl667HtJJwuRU813QuuxKGS/eBmolzr5bbnv3w4ueRY1rLqozc4C0W6lLSt/gSjFq9x01bEXCDLYwhe36EY5ZuFKjglwl7IaNZIuBc1mtMdsu7uVUFNOV+xE4EvdgrRioVgc1xAYKV2oE/ZlX2opksgKfzNz+QubVcn9+6cDkfxw4utOZ8M6iwUABREuoJbdKhSenG8ghAwZYVJHBY2DYAoQHtwuXZN2Z6ieYu1OO3ggJC590aFv0GdEINoqr2CUmGtEgS6SpztPz8PVnsxam928W17uqArSYcYCDsRgg3/4AvZ9MZR7yMG3lAGhezF0rb+O7Akx7+cghzcqsNPkYUgNcwZQVa0X0XWtKCz6U0At26rTVX75DXupgK+kABH4J3Y0Q3Xz4eypF3rvr5n6/R5j34LYdg== X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36d227e8-a497-4c46-76d8-08dab2d0acb9 X-MS-Exchange-CrossTenant-AuthSource: DB7PR03MB4972.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2022 19:24:14.8686 (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: Ii47YxhtpvLD2J9fxbeKOsuYsKwu3P/OZL1F0SQppCp1G8ce7hxBzqr7/gctG/k1xeWES0HbgpbxTapDyYcuyA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB8450 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 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..85751ee6f76 --- /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")