{"id":2232208,"url":"http://patchwork.ozlabs.org/api/patches/2232208/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/patch/20260503204936.3151124-4-sjg@chromium.org/","project":{"id":18,"url":"http://patchwork.ozlabs.org/api/projects/18/?format=json","name":"U-Boot","link_name":"uboot","list_id":"u-boot.lists.denx.de","list_email":"u-boot@lists.denx.de","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260503204936.3151124-4-sjg@chromium.org>","list_archive_url":null,"date":"2026-05-03T20:49:21","name":"[3/6] siemens: Quote A/B flags in env tests","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"10658f8e3b64add4bcb2b75674845b2b08609aa4","submitter":{"id":6170,"url":"http://patchwork.ozlabs.org/api/people/6170/?format=json","name":"Simon Glass","email":"sjg@chromium.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/uboot/patch/20260503204936.3151124-4-sjg@chromium.org/mbox/","series":[{"id":502588,"url":"http://patchwork.ozlabs.org/api/series/502588/?format=json","web_url":"http://patchwork.ozlabs.org/project/uboot/list/?series=502588","date":"2026-05-03T20:49:18","name":"test: Quote variables in 'test -n' expressions across boards","version":1,"mbox":"http://patchwork.ozlabs.org/series/502588/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232208/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232208/checks/","tags":{},"related":[],"headers":{"Return-Path":"<u-boot-bounces@lists.denx.de>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=YU9RL2hg;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)","phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org","phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de","phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org\n header.b=\"YU9RL2hg\";\n\tdkim-atps=neutral","phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org","phobos.denx.de;\n spf=pass smtp.mailfrom=sjg@chromium.org"],"Received":["from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g7xkD6QWpz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 04 May 2026 06:50:28 +1000 (AEST)","from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 880138460D;\n\tSun,  3 May 2026 22:50:18 +0200 (CEST)","by phobos.denx.de (Postfix, from userid 109)\n id 5BFF48460D; Sun,  3 May 2026 22:50:17 +0200 (CEST)","from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com\n [IPv6:2607:f8b0:4864:20::c30])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 323818460E\n for <u-boot@lists.denx.de>; Sun,  3 May 2026 22:50:15 +0200 (CEST)","by mail-oo1-xc30.google.com with SMTP id\n 006d021491bc7-6949f3eeaf6so1837686eaf.0\n for <u-boot@lists.denx.de>; Sun, 03 May 2026 13:50:15 -0700 (PDT)","from chromium.org ([174.51.25.52]) by smtp.gmail.com with ESMTPSA id\n 006d021491bc7-696aacbb5bbsm1142940eaf.15.2026.05.03.13.50.10\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sun, 03 May 2026 13:50:11 -0700 (PDT)"],"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,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=chromium.org; s=google; t=1777841413; x=1778446213; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=CjL/zERxLRKvSiRJOy+ECOsm64FP/vH4t+IFexREaws=;\n b=YU9RL2hgcBgH94vyWvKcugK8bXg/gNZVaDxm+Eg4HuIuf47TRu7lAHL9JHrNvt2HN1\n 2+YoNo6sc5iWyoLtVqcl/RFMHfO1uSK2DTfqNrcY1OFW66tCrQGYxSXEGbWnz6kGjRgO\n FUu7nwC9HhL4edjj9E+02uVqiYiV7Ts0BNAQw=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777841413; x=1778446213;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=CjL/zERxLRKvSiRJOy+ECOsm64FP/vH4t+IFexREaws=;\n b=XhDxDCeGpqoyu7nxma7STHzD0QiiC1DeBi1vwv2deRMM1uRpoZVIlyBVPfCzx+QiR9\n OggT0kla4QW25zfdiXcWQPe2xgxsaHvtKODP1922SWFnHLb8gGFI6QS9tja8ROzLKyLW\n la9ogsc+pB3LqLdZ40VI9BkPRvl2u0W9R3SU61s8B8hVia16Lltsd5aTJizYntkdk2S6\n ovRTXNC0GuqXEGa4+ZgvgbUHc3szBdE6jTfwK93kKi1LjZAxS64FYG07K9PNKpHMr4SI\n LkTr17BfnLNjbFBGZfy8zcuVFSaT3sVatemp8kjGmLQs8uoZQyVNeV5BOTJdg2cGZlY/\n drJA==","X-Gm-Message-State":"AOJu0YwvKr9gyBnYrJw9D3VAtpaQvcEt55/e3gqjXcpcps93QufRMTdO\n rXpj87o4Zual+2wWkVO093a6J/E3G0T/3zvX6w4YHDuKhJNToMwp//f3dP1zniXcjNZ6joeae3e\n suM2Ttw==","X-Gm-Gg":"AeBDieu0Yfs8YYWq6W98eYlnn3gbEQrBBCc6wtP0jgQduZ3ozUUHgZIhHMfp/p8nqkI\n yhguHmtF+NO4loJbkHZnPJkOvThcRnF5YsGnzmMaa97IHUE30FNx9LOLJJWpIDQRw2wRm0O+qo8\n 7ohUG3PqG0d4+Ho0jCtZp9JnNPubesE2y5ute6TQckMfx+5Z5PHLrdpZTh9vWUXyxm2l5rfbb3h\n LQ/DZIq7VZBp60MNT//LGg0dQiTfnFSIJA0ojXH0S1tdU2KsnPG3Z+XhIDpAJ8aIuxIlkHPQhmq\n 07HhTVakcp3jbrOf36VL0aFEfznLlmh0lRRvWHEAZzG7rnBw/Zu66aDPGTigQUNVqQnriTY7Jsm\n 7X9bUOo99enadqssaayN4idWEIgkO+6eARJzRFAWWA5biWLRxNubqlIcTb1jYvSXpS//XtQrEPr\n 4UaXFWqxIwSfJbujO00RM4JaOuSP4D","X-Received":"by 2002:a05:6820:16ac:b0:694:9910:f78f with SMTP id\n 006d021491bc7-69696b029b3mr2821014eaf.3.1777841413388;\n Sun, 03 May 2026 13:50:13 -0700 (PDT)","From":"Simon Glass <sjg@chromium.org>","To":"u-boot@lists.denx.de","Cc":"Simon Glass <sjg@chromium.org>, Enrico Leto <enrico.leto@siemens.com>,\n Rasmus Villemoes <ravi@prevas.dk>, Tom Rini <trini@konsulko.com>","Subject":"[PATCH 3/6] siemens: Quote A/B flags in env tests","Date":"Sun,  3 May 2026 14:49:21 -0600","Message-ID":"<20260503204936.3151124-4-sjg@chromium.org>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20260503204936.3151124-1-sjg@chromium.org>","References":"<20260503204936.3151124-1-sjg@chromium.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"u-boot@lists.denx.de","X-Mailman-Version":"2.1.39","Precedence":"list","List-Id":"U-Boot discussion <u-boot.lists.denx.de>","List-Unsubscribe":"<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>","List-Archive":"<https://lists.denx.de/pipermail/u-boot/>","List-Post":"<mailto:u-boot@lists.denx.de>","List-Help":"<mailto:u-boot-request@lists.denx.de?subject=help>","List-Subscribe":"<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>","Errors-To":"u-boot-bounces@lists.denx.de","Sender":"\"U-Boot\" <u-boot-bounces@lists.denx.de>","X-Virus-Scanned":"clamav-milter 0.103.8 at phobos.denx.de","X-Virus-Status":"Clean"},"content":"The Siemens am33x-common, env-common and draco-etamin headers gate\nboot-partition selection logic on:\n\n    if test -n ${A}; then ...\n    if test -n ${B}; then ...\n\nA and B are flags that the upgrade machinery sets to mark \"the other\npartition just became active\".  The default state is unset, in which\ncase the expression expands to 'test -n' with no operand and relies\non a U-Boot 'test' quirk that treats a missing operand as false to\nskip the branch.\n\nQuote each variable so an unset A or B expands to 'test -n \"\"' and\nthe emptiness check is explicit.\n\nFixes: 8b0619579b22 (\"cmd: test: fix handling of single-argument form of test\")\nSigned-off-by: Simon Glass <sjg@chromium.org>\n---\n\n include/configs/draco-etamin.h         |  4 ++--\n include/configs/siemens-am33x-common.h | 12 ++++++------\n include/configs/siemens-env-common.h   |  8 ++++----\n 3 files changed, 12 insertions(+), 12 deletions(-)","diff":"diff --git a/include/configs/draco-etamin.h b/include/configs/draco-etamin.h\nindex 6ae85b575b7..b1b403980b1 100644\n--- a/include/configs/draco-etamin.h\n+++ b/include/configs/draco-etamin.h\n@@ -99,10 +99,10 @@\n \t\"nand_args=run bootargs_defaults;\" \\\n \t\t\"mtdparts default;\" \\\n \t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\"if test -n ${A}; then \" \\\n+\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_a;\" \\\n \t\t\"fi;\" \\\n-\t\t\"if test -n ${B}; then \" \\\n+\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_b;\" \\\n \t\t\"fi;\" \\\n \t\t\"setenv nand_root ubi0:${nand_active_ubi_vol} rw \" \\\ndiff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h\nindex a918dc1350c..da822556909 100644\n--- a/include/configs/siemens-am33x-common.h\n+++ b/include/configs/siemens-am33x-common.h\n@@ -104,11 +104,11 @@\n \t\t\t\t\"then \" \\\n \t\t\t\t\"setenv upgrade_available 0;\" \\\n \t\t\t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\t\t\"if test -n ${A}; then \" \\\n+\t\t\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\t\t\"setenv partitionset_active B; \" \\\n \t\t\t\t\t\"env delete A; \" \\\n \t\t\t\t\"fi;\" \\\n-\t\t\t\t\"if test -n ${B}; then \" \\\n+\t\t\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\t\t\"setenv partitionset_active A; \" \\\n \t\t\t\t\t\"env delete B; \" \\\n \t\t\t\t\"fi;\" \\\n@@ -205,11 +205,11 @@\n \t\"nand_args=run bootargs_defaults;\" \\\n \t\t\"mtdparts default;\" \\\n \t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\"if test -n ${A}; then \" \\\n+\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${nand_active_ubi_vol_A};\" \\\n \t\t\t\"setenv nand_src_addr ${nand_src_addr_A};\" \\\n \t\t\"fi;\" \\\n-\t\t\"if test -n ${B}; then \" \\\n+\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${nand_active_ubi_vol_B};\" \\\n \t\t\t\"setenv nand_src_addr ${nand_src_addr_B};\" \\\n \t\t\"fi;\" \\\n@@ -279,10 +279,10 @@\n \t\"nand_args=run bootargs_defaults;\" \\\n \t\t\"mtdparts default;\" \\\n \t\t\"setenv ${partitionset_active} true;\" \\\n-\t\t\"if test -n ${A}; then \" \\\n+\t\t\"if test -n \\\"${A}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_a;\" \\\n \t\t\"fi;\" \\\n-\t\t\"if test -n ${B}; then \" \\\n+\t\t\"if test -n \\\"${B}\\\"; then \" \\\n \t\t\t\"setenv nand_active_ubi_vol ${rootfs_name}_b;\" \\\n \t\t\"fi;\" \\\n \t\t\"setenv nand_root ubi0:${nand_active_ubi_vol} rw \" \\\ndiff --git a/include/configs/siemens-env-common.h b/include/configs/siemens-env-common.h\nindex c028823e1eb..8ced77cc5e2 100644\n--- a/include/configs/siemens-env-common.h\n+++ b/include/configs/siemens-env-common.h\n@@ -81,12 +81,12 @@\n  */\n #define ENV_FCT_TOGGLE_PARTITION \"toggle_partition=\"\\\n \t\"setenv ${partitionset_active} true;\" \\\n-\t\"if test -n ${A}; \" \\\n+\t\"if test -n \\\"${A}\\\"; \" \\\n \t\"then \" \\\n \t\t\"setenv partitionset_active B; \" \\\n \t\t\"env delete A; \" \\\n \t\"fi;\" \\\n-\t\"if test -n ${B}; \"\\\n+\t\"if test -n \\\"${B}\\\"; \"\\\n \t\"then \" \\\n \t\t\"setenv partitionset_active A; \" \\\n \t\t\"env delete B; \" \\\n@@ -103,11 +103,11 @@\n  */\n #define ENV_EMMC_FCT_SET_ACTIVE_PARTITION \"set_partition=\" \\\n \t\"setenv ${partitionset_active} true;\" \\\n-\t\"if test -n ${A}; \" \\\n+\t\"if test -n \\\"${A}\\\"; \" \\\n \t\"then \" \\\n \t\t\"setenv mmc_part_nr 1;\" \\\n \t\"fi;\" \\\n-\t\"if test -n ${B}; \" \\\n+\t\"if test -n \\\"${B}\\\"; \" \\\n \t\"then \" \\\n \t\t\"setenv mmc_part_nr 2;\" \\\n \t\"fi;\" \\\n","prefixes":["3/6"]}