Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2206458/?format=api
{ "id": 2206458, "url": "http://patchwork.ozlabs.org/api/patches/2206458/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260306181304.2426352-17-sjg@chromium.org/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "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": "<20260306181304.2426352-17-sjg@chromium.org>", "list_archive_url": null, "date": "2026-03-06T18:12:44", "name": "[v2,16/23] binman: test: Move remaining test files to test/entry/", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "c6319de0cbbfce0a55f0c001bb59250c03d760a4", "submitter": { "id": 6170, "url": "http://patchwork.ozlabs.org/api/people/6170/?format=api", "name": "Simon Glass", "email": "sjg@chromium.org" }, "delegate": { "id": 3184, "url": "http://patchwork.ozlabs.org/api/users/3184/?format=api", "username": "sjg", "first_name": "Simon", "last_name": "Glass", "email": "sjg@chromium.org" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260306181304.2426352-17-sjg@chromium.org/mbox/", "series": [ { "id": 494765, "url": "http://patchwork.ozlabs.org/api/series/494765/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=494765", "date": "2026-03-06T18:12:28", "name": "binman: test: Organise test files into subdirectories", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/494765/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2206458/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2206458/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=Cono9N8b;\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=\"Cono9N8b\";\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 4fSF350RQmz1xw1\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 07 Mar 2026 05:16:17 +1100 (AEDT)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id AD70B84006;\n\tFri, 6 Mar 2026 19:14:15 +0100 (CET)", "by phobos.denx.de (Postfix, from userid 109)\n id 2853A8404A; Fri, 6 Mar 2026 19:14:14 +0100 (CET)", "from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com\n [IPv6:2607:f8b0:4864:20::72e])\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 BEC0683F2D\n for <u-boot@lists.denx.de>; Fri, 6 Mar 2026 19:14:09 +0100 (CET)", "by mail-qk1-x72e.google.com with SMTP id\n af79cd13be357-8cb40277a8bso989196885a.1\n for <u-boot@lists.denx.de>; Fri, 06 Mar 2026 10:14:09 -0800 (PST)", "from chromium.org ([73.34.74.121]) by smtp.gmail.com with ESMTPSA id\n af79cd13be357-8cd6f5736c0sm155930885a.49.2026.03.06.10.14.05\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 06 Mar 2026 10:14:06 -0800 (PST)" ], "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=1772820848; x=1773425648; 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=PN45c5pRu++4XJV1CuyADCLwd1DKm5MAaoI0WSb0Ww4=;\n b=Cono9N8bojo6Ssu4XEvtYt5CHvJ5KSPfiNbAgaA3/sypEZUmfmohJQqY/32XlaiVtC\n FSnMh54shtVY4Wh/Srbc5HxjskATTLQcXDAARyTR73twq4Hlb+AbNgdIQSLDvEEIBy5E\n qsqjiPIeviWHNZg7y6Bq7wndvVIwVDKwi8uHo=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1772820848; x=1773425648;\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=PN45c5pRu++4XJV1CuyADCLwd1DKm5MAaoI0WSb0Ww4=;\n b=pztz6GMjbT4VBvjIMqjfhwv4n1E7oX6EnLItpDD0beMfF4xNRcux6bbcdzNWJVox9e\n bY2wOmXTADXceiw43l/MlxM6xZ7ntJRMVaYHdJI37zgcULHDp//YoFvcSMtgYES4d5re\n 353cpezj5r3vDmHbJBtHDDqrUIekG1QFeWyrxHViDbpSw6iqWUbC6xwERMns9FSx6DfA\n hbeSv63j1zzxoqWpwjc1KK1SxJRnvVDkeqWStDcuhhHW7EXwNr+yupbHkBzk9wDODTJj\n nZyYKFY2avIC+4xVS+a9BxvHEb9MXO8lqx1QqZRieQuTVPA+/4Bkz2wkpcC2K7/bOmiB\n Tc2A==", "X-Gm-Message-State": "AOJu0Yyq+I0pWvT37NHCMsxZhvmuST32+3ekEzVnRSqM2LQV6o8x9x79\n pvQ/Tf3AM90F/BIds3X32TnNGF84rs4UJUSVZNaEKoL5QAHEzImApu6AWWBNmxVIuJoyNT8uKFK\n 4gng=", "X-Gm-Gg": "ATEYQzwFmIRmZFpO6WQ88tt57xqQhBz8vKZdYdmvJC/CY96A4KEBK6N6h+rdHCq6XYY\n mSSci7T5eXl6F9UuR4ULQ8vKhDDFVXdrpQb6a69bIFqtNUjxbYhNyP/9RLOpcihUk/jwU7csmaD\n 6J/jvzadnb0SE/F4J6K0bSWevSoPktoqh1gtuVVZzljC2lTK0XFaIRiqvOjXJ17a55mkY4ZhDGJ\n q2QRCAI/4yu7MexkCyd1AqhbHtG5fHUnOorJcSsgYZCqbEvn0fOelCwmXQkW8VDyDn70sktzwoq\n V7UjaBSc6z92elow4XgU22sXbH36L49Xx63Rc/BD5SrGFVYb1yst67FOKUp3v87O8quWsCGal+G\n iPXgrL+46eTL+uYG7YtS3i5NXwluCdDtMMpOMnnJ84Lx94SHzOEjIoojR7kJ6Ka+4WzFI/1LuyG\n VL2c9wOOVdD78ir/l70g==", "X-Received": "by 2002:a05:620a:372a:b0:8c6:e8f6:2c7 with SMTP id\n af79cd13be357-8cd6d437e8bmr388308485a.38.1772820847755;\n Fri, 06 Mar 2026 10:14:07 -0800 (PST)", "From": "Simon Glass <sjg@chromium.org>", "To": "u-boot@lists.denx.de", "Cc": "Tom Rini <trini@konsulko.com>, Quentin Schulz <quentin.schulz@cherry.de>,\n Simon Glass <simon.glass@canonical.com>,\n Alper Nebi Yasak <alpernebiyasak@gmail.com>, Bryan Brattlof <bb@ti.com>,\n Jiaxun Yang <jiaxun.yang@flygoat.com>,\n Neha Malcom Francis <n-francis@ti.com>, Peng Fan <peng.fan@nxp.com>,\n Philippe Reynes <philippe.reynes@softathome.com>,\n Simon Glass <sjg@chromium.org>,\n Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>,\n Yannic Moog <y.moog@phytec.de>", "Subject": "[PATCH v2 16/23] binman: test: Move remaining test files to\n test/entry/", "Date": "Fri, 6 Mar 2026 11:12:44 -0700", "Message-ID": "<20260306181304.2426352-17-sjg@chromium.org>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260306181304.2426352-1-sjg@chromium.org>", "References": "<20260306181304.2426352-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": "From: Simon Glass <simon.glass@canonical.com>\n\nMove the remaining 60 or so test files into an entry/ subdirectory.\nThese cover general entry types and features: entry args, fill, text,\nenv, compress, replace, template, collection, ELF, overlap, listing,\nsections, symlink, TEE OS, and other miscellaneous entries. Drop the\nnumeric prefixes and update all references.\n\nSigned-off-by: Simon Glass <simon.glass@canonical.com>\nReviewed-by: Quentin Schulz <quentin.schulz@cherry.de>\n---\n\n(no changes since v1)\n\n doc/develop/binman_tests.rst | 2 +-\n tools/binman/fdt_test.py | 2 +-\n tools/binman/ftest.py | 160 +++++++++---------\n .../test/{262_absent.dts => entry/absent.dts} | 0\n .../collection.dts} | 0\n .../collection_other.dts} | 0\n .../collection_section.dts} | 0\n .../{083_compress.dts => entry/compress.dts} | 0\n .../compress_extra.dts} | 0\n .../compress_image.dts} | 0\n .../compress_image_less.dts} | 0\n .../compress_section.dts} | 0\n .../compress_section_size.dts} | 0\n .../test/{096_elf.dts => entry/elf.dts} | 0\n .../elf_strip.dts} | 0\n .../entry_args.dts} | 0\n .../entry_args_missing.dts} | 0\n .../entry_args_required.dts} | 0\n .../entry_args_unknown_datatype.dts} | 0\n .../test/{174_env.dts => entry/env.dts} | 0\n .../env_no_size.dts} | 0\n .../env_too_small.dts} | 0\n .../test/{084_files.dts => entry/files.dts} | 0\n .../files_align.dts} | 0\n .../files_compress.dts} | 0\n .../files_no_pattern.dts} | 0\n .../files_none.dts} | 0\n .../test/{069_fill.dts => entry/fill.dts} | 0\n .../fill_empty.dts} | 0\n .../fill_no_size.dts} | 0\n .../image_entryarg.dts} | 0\n .../test/{127_list.dts => entry/list.dts} | 0\n .../name_prefix.dts} | 0\n .../test/{268_null.dts => entry/null.dts} | 0\n .../offset_from_elf.dts} | 0\n .../{269_overlap.dts => entry/overlap.dts} | 0\n .../overlap_bad.dts} | 0\n .../overlap_no_size.dts} | 0\n .../overlap_null.dts} | 0\n .../prop_test.dts} | 0\n .../read_image_skip.dts} | 0\n .../remove_template.dts} | 0\n .../{132_replace.dts => entry/replace.dts} | 0\n .../replace_all.dts} | 0\n .../replace_multi.dts} | 0\n .../replace_repack.dts} | 0\n .../replace_section_deep.dts} | 0\n .../replace_section_simple.dts} | 0\n .../replace_with_bintool.dts} | 0\n .../section_fname.dts} | 0\n .../section_timeout.dts} | 0\n .../{055_sections.dts => entry/sections.dts} | 0\n .../{259_symlink.dts => entry/symlink.dts} | 0\n .../test/{222_tee_os.dts => entry/tee_os.dts} | 0\n .../tee_os_opt.dts} | 0\n .../{286_template.dts => entry/template.dts} | 0\n .../template_multi.dts} | 0\n .../template_phandle.dts} | 0\n .../template_phandle_dup.dts} | 0\n .../template_section.dts} | 0\n .../test/{066_text.dts => entry/text.dts} | 0\n .../unique_names.dts} | 0\n .../unique_names_multi.dts} | 0\n .../unknown_contents.dts} | 0\n .../unknown_pos_size.dts} | 0\n 65 files changed, 82 insertions(+), 82 deletions(-)\n rename tools/binman/test/{262_absent.dts => entry/absent.dts} (100%)\n rename tools/binman/test/{198_collection.dts => entry/collection.dts} (100%)\n rename tools/binman/test/{246_collection_other.dts => entry/collection_other.dts} (100%)\n rename tools/binman/test/{199_collection_section.dts => entry/collection_section.dts} (100%)\n rename tools/binman/test/{083_compress.dts => entry/compress.dts} (100%)\n rename tools/binman/test/{186_compress_extra.dts => entry/compress_extra.dts} (100%)\n rename tools/binman/test/{182_compress_image.dts => entry/compress_image.dts} (100%)\n rename tools/binman/test/{183_compress_image_less.dts => entry/compress_image_less.dts} (100%)\n rename tools/binman/test/{185_compress_section.dts => entry/compress_section.dts} (100%)\n rename tools/binman/test/{184_compress_section_size.dts => entry/compress_section_size.dts} (100%)\n rename tools/binman/test/{096_elf.dts => entry/elf.dts} (100%)\n rename tools/binman/test/{097_elf_strip.dts => entry/elf_strip.dts} (100%)\n rename tools/binman/test/{062_entry_args.dts => entry/entry_args.dts} (100%)\n rename tools/binman/test/{063_entry_args_missing.dts => entry/entry_args_missing.dts} (100%)\n rename tools/binman/test/{064_entry_args_required.dts => entry/entry_args_required.dts} (100%)\n rename tools/binman/test/{065_entry_args_unknown_datatype.dts => entry/entry_args_unknown_datatype.dts} (100%)\n rename tools/binman/test/{174_env.dts => entry/env.dts} (100%)\n rename tools/binman/test/{175_env_no_size.dts => entry/env_no_size.dts} (100%)\n rename tools/binman/test/{176_env_too_small.dts => entry/env_too_small.dts} (100%)\n rename tools/binman/test/{084_files.dts => entry/files.dts} (100%)\n rename tools/binman/test/{190_files_align.dts => entry/files_align.dts} (100%)\n rename tools/binman/test/{085_files_compress.dts => entry/files_compress.dts} (100%)\n rename tools/binman/test/{087_files_no_pattern.dts => entry/files_no_pattern.dts} (100%)\n rename tools/binman/test/{086_files_none.dts => entry/files_none.dts} (100%)\n rename tools/binman/test/{069_fill.dts => entry/fill.dts} (100%)\n rename tools/binman/test/{080_fill_empty.dts => entry/fill_empty.dts} (100%)\n rename tools/binman/test/{070_fill_no_size.dts => entry/fill_no_size.dts} (100%)\n rename tools/binman/test/{188_image_entryarg.dts => entry/image_entryarg.dts} (100%)\n rename tools/binman/test/{127_list.dts => entry/list.dts} (100%)\n rename tools/binman/test/{056_name_prefix.dts => entry/name_prefix.dts} (100%)\n rename tools/binman/test/{268_null.dts => entry/null.dts} (100%)\n rename tools/binman/test/{274_offset_from_elf.dts => entry/offset_from_elf.dts} (100%)\n rename tools/binman/test/{269_overlap.dts => entry/overlap.dts} (100%)\n rename tools/binman/test/{271_overlap_bad.dts => entry/overlap_bad.dts} (100%)\n rename tools/binman/test/{272_overlap_no_size.dts => entry/overlap_no_size.dts} (100%)\n rename tools/binman/test/{270_overlap_null.dts => entry/overlap_null.dts} (100%)\n rename tools/binman/test/{045_prop_test.dts => entry/prop_test.dts} (100%)\n rename tools/binman/test/{191_read_image_skip.dts => entry/read_image_skip.dts} (100%)\n rename tools/binman/test/{346_remove_template.dts => entry/remove_template.dts} (100%)\n rename tools/binman/test/{132_replace.dts => entry/replace.dts} (100%)\n rename tools/binman/test/{143_replace_all.dts => entry/replace_all.dts} (100%)\n rename tools/binman/test/{133_replace_multi.dts => entry/replace_multi.dts} (100%)\n rename tools/binman/test/{139_replace_repack.dts => entry/replace_repack.dts} (100%)\n rename tools/binman/test/{278_replace_section_deep.dts => entry/replace_section_deep.dts} (100%)\n rename tools/binman/test/{241_replace_section_simple.dts => entry/replace_section_simple.dts} (100%)\n rename tools/binman/test/{239_replace_with_bintool.dts => entry/replace_with_bintool.dts} (100%)\n rename tools/binman/test/{261_section_fname.dts => entry/section_fname.dts} (100%)\n rename tools/binman/test/{202_section_timeout.dts => entry/section_timeout.dts} (100%)\n rename tools/binman/test/{055_sections.dts => entry/sections.dts} (100%)\n rename tools/binman/test/{259_symlink.dts => entry/symlink.dts} (100%)\n rename tools/binman/test/{222_tee_os.dts => entry/tee_os.dts} (100%)\n rename tools/binman/test/{263_tee_os_opt.dts => entry/tee_os_opt.dts} (100%)\n rename tools/binman/test/{286_template.dts => entry/template.dts} (100%)\n rename tools/binman/test/{287_template_multi.dts => entry/template_multi.dts} (100%)\n rename tools/binman/test/{309_template_phandle.dts => entry/template_phandle.dts} (100%)\n rename tools/binman/test/{310_template_phandle_dup.dts => entry/template_phandle_dup.dts} (100%)\n rename tools/binman/test/{289_template_section.dts => entry/template_section.dts} (100%)\n rename tools/binman/test/{066_text.dts => entry/text.dts} (100%)\n rename tools/binman/test/{237_unique_names.dts => entry/unique_names.dts} (100%)\n rename tools/binman/test/{238_unique_names_multi.dts => entry/unique_names_multi.dts} (100%)\n rename tools/binman/test/{057_unknown_contents.dts => entry/unknown_contents.dts} (100%)\n rename tools/binman/test/{041_unknown_pos_size.dts => entry/unknown_pos_size.dts} (100%)", "diff": "diff --git a/doc/develop/binman_tests.rst b/doc/develop/binman_tests.rst\nindex 3be7d43cd3f..74a2d0e8ef2 100644\n--- a/doc/develop/binman_tests.rst\n+++ b/doc/develop/binman_tests.rst\n@@ -402,7 +402,7 @@ Another type of test is one which checks error-handling, for example:\n def testFillNoSize(self):\n \"\"\"Test for an fill entry type with no size\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoReadFile('070_fill_no_size.dts')\n+ self._DoReadFile('entry/fill_no_size.dts')\n self.assertIn(\"'fill' entry is missing properties: size\",\n str(e.exception))\n \ndiff --git a/tools/binman/fdt_test.py b/tools/binman/fdt_test.py\nindex ef659c0f276..ef81a3262d2 100644\n--- a/tools/binman/fdt_test.py\n+++ b/tools/binman/fdt_test.py\n@@ -41,7 +41,7 @@ class TestFdt(unittest.TestCase):\n self._DeleteProp(dt)\n \n def testFdtNormalProp(self):\n- fname = self.GetCompiled('045_prop_test.dts')\n+ fname = self.GetCompiled('entry/prop_test.dts')\n dt = FdtScan(fname)\n node = dt.GetNode('/binman/intel-me')\n self.assertEqual('intel-me', node.name)\ndiff --git a/tools/binman/ftest.py b/tools/binman/ftest.py\nindex 0e4f349aae9..3f57ef05ead 100644\n--- a/tools/binman/ftest.py\n+++ b/tools/binman/ftest.py\n@@ -1431,7 +1431,7 @@ class TestFunctional(unittest.TestCase):\n def testUnknownPosSize(self):\n \"\"\"Test that microcode must be placed within the image\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoReadFile('041_unknown_pos_size.dts', True)\n+ self._DoReadFile('entry/unknown_pos_size.dts', True)\n self.assertIn(\"Section '/binman': Unable to set offset/size for unknown \"\n \"entry 'invalid-entry'\", str(e.exception))\n \n@@ -1626,7 +1626,7 @@ class TestFunctional(unittest.TestCase):\n \n def testSections(self):\n \"\"\"Basic test of sections\"\"\"\n- data = self._DoReadFile('055_sections.dts')\n+ data = self._DoReadFile('entry/sections.dts')\n expected = (U_BOOT_DATA + tools.get_bytes(ord('!'), 12) +\n U_BOOT_DATA + tools.get_bytes(ord('a'), 12) +\n U_BOOT_DATA + tools.get_bytes(ord('&'), 4))\n@@ -1634,7 +1634,7 @@ class TestFunctional(unittest.TestCase):\n \n def testMap(self):\n \"\"\"Tests outputting a map of the images\"\"\"\n- _, _, map_data, _ = self._DoReadFileDtb('055_sections.dts', map=True)\n+ _, _, map_data, _ = self._DoReadFileDtb('entry/sections.dts', map=True)\n self.assertEqual('''ImagePos Offset Size Name\n 00000000 00000000 00000028 image\n 00000000 00000000 00000010 section@0\n@@ -1647,7 +1647,7 @@ class TestFunctional(unittest.TestCase):\n \n def testNamePrefix(self):\n \"\"\"Tests that name prefixes are used\"\"\"\n- _, _, map_data, _ = self._DoReadFileDtb('056_name_prefix.dts', map=True)\n+ _, _, map_data, _ = self._DoReadFileDtb('entry/name_prefix.dts', map=True)\n self.assertEqual('''ImagePos Offset Size Name\n 00000000 00000000 00000028 image\n 00000000 00000000 00000010 section@0\n@@ -1659,7 +1659,7 @@ class TestFunctional(unittest.TestCase):\n def testUnknownContents(self):\n \"\"\"Test that obtaining the contents works as expected\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoReadFile('057_unknown_contents.dts', True)\n+ self._DoReadFile('entry/unknown_contents.dts', True)\n self.assertIn(\"Image '/binman': Internal error: Could not complete \"\n \"processing of contents: remaining [\"\n \"<binman.etype._testing.Entry__testing \", str(e.exception))\n@@ -1718,7 +1718,7 @@ class TestFunctional(unittest.TestCase):\n 'test-str-arg': 'test1',\n 'test-int-arg': '456',\n }\n- self._DoReadFileDtb('062_entry_args.dts', entry_args=entry_args)\n+ self._DoReadFileDtb('entry/entry_args.dts', entry_args=entry_args)\n self.assertIn('image', control.images)\n entry = control.images['image'].GetEntries()['_testing']\n self.assertEqual('test0', entry.test_str_fdt)\n@@ -1731,7 +1731,7 @@ class TestFunctional(unittest.TestCase):\n entry_args = {\n 'test-int-arg': '456',\n }\n- self._DoReadFileDtb('063_entry_args_missing.dts', entry_args=entry_args)\n+ self._DoReadFileDtb('entry/entry_args_missing.dts', entry_args=entry_args)\n entry = control.images['image'].GetEntries()['_testing']\n self.assertEqual('test0', entry.test_str_fdt)\n self.assertEqual(None, entry.test_str_arg)\n@@ -1744,7 +1744,7 @@ class TestFunctional(unittest.TestCase):\n 'test-int-arg': '456',\n }\n with self.assertRaises(ValueError) as e:\n- self._DoReadFileDtb('064_entry_args_required.dts')\n+ self._DoReadFileDtb('entry/entry_args_required.dts')\n self.assertIn(\"Node '/binman/_testing': \"\n 'Missing required properties/entry args: test-str-arg, '\n 'test-int-fdt, test-int-arg',\n@@ -1752,7 +1752,7 @@ class TestFunctional(unittest.TestCase):\n \n def testEntryArgsInvalidFormat(self):\n \"\"\"Test that an invalid entry-argument format is detected\"\"\"\n- args = ['build', '-d', self.TestFile('064_entry_args_required.dts'),\n+ args = ['build', '-d', self.TestFile('entry/entry_args_required.dts'),\n '-ano-value']\n with self.assertRaises(ValueError) as e:\n self._DoBinman(*args)\n@@ -1764,7 +1764,7 @@ class TestFunctional(unittest.TestCase):\n 'test-int-arg': 'abc',\n }\n with self.assertRaises(ValueError) as e:\n- self._DoReadFileDtb('062_entry_args.dts', entry_args=entry_args)\n+ self._DoReadFileDtb('entry/entry_args.dts', entry_args=entry_args)\n self.assertIn(\"Node '/binman/_testing': Cannot convert entry arg \"\n \"'test-int-arg' (value 'abc') to integer\",\n str(e.exception))\n@@ -1780,7 +1780,7 @@ class TestFunctional(unittest.TestCase):\n 'test-bad-datatype-arg': '12',\n }\n with self.assertRaises(ValueError) as e:\n- self._DoReadFileDtb('065_entry_args_unknown_datatype.dts',\n+ self._DoReadFileDtb('entry/entry_args_unknown_datatype.dts',\n entry_args=entry_args)\n self.assertIn('GetArg() internal error: Unknown data type ',\n str(e.exception))\n@@ -1792,7 +1792,7 @@ class TestFunctional(unittest.TestCase):\n 'test-id2': TEXT_DATA2,\n 'test-id3': TEXT_DATA3,\n }\n- data, _, _, _ = self._DoReadFileDtb('066_text.dts',\n+ data, _, _, _ = self._DoReadFileDtb('entry/text.dts',\n entry_args=entry_args)\n expected = (tools.to_bytes(TEXT_DATA) +\n tools.get_bytes(0, 8 - len(TEXT_DATA)) +\n@@ -1870,14 +1870,14 @@ class TestFunctional(unittest.TestCase):\n \n def testFill(self):\n \"\"\"Test for an fill entry type\"\"\"\n- data = self._DoReadFile('069_fill.dts')\n+ data = self._DoReadFile('entry/fill.dts')\n expected = tools.get_bytes(0xff, 8) + tools.get_bytes(0, 8)\n self.assertEqual(expected, data)\n \n def testFillNoSize(self):\n \"\"\"Test for an fill entry type with no size\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoReadFile('070_fill_no_size.dts')\n+ self._DoReadFile('entry/fill_no_size.dts')\n self.assertIn(\"'fill' entry is missing properties: size\",\n str(e.exception))\n \n@@ -2043,13 +2043,13 @@ class TestFunctional(unittest.TestCase):\n \n def testFillZero(self):\n \"\"\"Test for an fill entry type with a size of 0\"\"\"\n- data = self._DoReadFile('080_fill_empty.dts')\n+ data = self._DoReadFile('entry/fill_empty.dts')\n self.assertEqual(tools.get_bytes(0, 16), data)\n \n def testTextMissing(self):\n \"\"\"Test for a text entry type where there is no text\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoReadFileDtb('066_text.dts',)\n+ self._DoReadFileDtb('entry/text.dts',)\n self.assertIn(\"Node '/binman/text': No value provided for text label \"\n \"'test-id'\", str(e.exception))\n \n@@ -2162,7 +2162,7 @@ class TestFunctional(unittest.TestCase):\n def testCompress(self):\n \"\"\"Test compression of blobs\"\"\"\n self._CheckLz4()\n- data, _, _, out_dtb_fname = self._DoReadFileDtb('083_compress.dts',\n+ data, _, _, out_dtb_fname = self._DoReadFileDtb('entry/compress.dts',\n use_real_dtb=True, update_dtb=True)\n dtb = fdt.Fdt(out_dtb_fname)\n dtb.Scan()\n@@ -2192,13 +2192,13 @@ class TestFunctional(unittest.TestCase):\n \n def testFiles(self):\n \"\"\"Test bringing in multiple files\"\"\"\n- data = self._DoReadFile('084_files.dts')\n+ data = self._DoReadFile('entry/files.dts')\n self.assertEqual(FILES_DATA, data)\n \n def testFilesCompress(self):\n \"\"\"Test bringing in multiple files and compressing them\"\"\"\n self._CheckLz4()\n- data = self._DoReadFile('085_files_compress.dts')\n+ data = self._DoReadFile('entry/files_compress.dts')\n \n image = control.images['image']\n entries = image.GetEntries()\n@@ -2218,14 +2218,14 @@ class TestFunctional(unittest.TestCase):\n def testFilesMissing(self):\n \"\"\"Test missing files\"\"\"\n with self.assertRaises(ValueError) as e:\n- data = self._DoReadFile('086_files_none.dts')\n+ data = self._DoReadFile('entry/files_none.dts')\n self.assertIn(\"Node '/binman/files': Pattern \\'files/*.none\\' matched \"\n 'no files', str(e.exception))\n \n def testFilesNoPattern(self):\n \"\"\"Test missing files\"\"\"\n with self.assertRaises(ValueError) as e:\n- data = self._DoReadFile('087_files_no_pattern.dts')\n+ data = self._DoReadFile('entry/files_no_pattern.dts')\n self.assertIn(\"Node '/binman/files': Missing 'pattern' property\",\n str(e.exception))\n \n@@ -2371,14 +2371,14 @@ class TestFunctional(unittest.TestCase):\n self._SetupTplElf()\n with open(self.ElfTestFile('bss_data'), 'rb') as fd:\n TestFunctional._MakeInputFile('-boot', fd.read())\n- data = self._DoReadFile('096_elf.dts')\n+ data = self._DoReadFile('entry/elf.dts')\n \n def testElfStrip(self):\n \"\"\"Basic test of ELF entries\"\"\"\n self._SetupSplElf()\n with open(self.ElfTestFile('bss_data'), 'rb') as fd:\n TestFunctional._MakeInputFile('-boot', fd.read())\n- data = self._DoReadFile('097_elf_strip.dts')\n+ data = self._DoReadFile('entry/elf_strip.dts')\n \n def testPackOverlapMap(self):\n \"\"\"Test that overlapping regions are detected\"\"\"\n@@ -2761,7 +2761,7 @@ class TestFunctional(unittest.TestCase):\n def testList(self):\n \"\"\"Test listing the files in an image\"\"\"\n self._CheckLz4()\n- data = self._DoReadFile('127_list.dts')\n+ data = self._DoReadFile('entry/list.dts')\n image = control.images['image']\n entries = image.BuildEntryList()\n self.assertEqual(7, len(entries))\n@@ -3300,7 +3300,7 @@ class TestFunctional(unittest.TestCase):\n self.assertEqual(len(U_BOOT_DATA), entry.size)\n \n def _RunReplaceCmd(self, entry_name, data, decomp=True, allow_resize=True,\n- dts='132_replace.dts'):\n+ dts='entry/replace.dts'):\n \"\"\"Replace an entry in an image\n \n This writes the entry data to update it, then opens the updated file and\n@@ -3377,13 +3377,13 @@ class TestFunctional(unittest.TestCase):\n expected = U_BOOT_DATA + b'x'\n with self.assertRaises(ValueError) as e:\n self._RunReplaceCmd('u-boot', expected, allow_resize=False,\n- dts='139_replace_repack.dts')\n+ dts='entry/replace_repack.dts')\n self.assertIn(\"Node '/u-boot': Entry data size does not match, but resize is disabled\",\n str(e.exception))\n \n def testReplaceMulti(self):\n \"\"\"Test replacing entry data where multiple images are generated\"\"\"\n- data = self._DoReadFileDtb('133_replace_multi.dts', use_real_dtb=True,\n+ data = self._DoReadFileDtb('entry/replace_multi.dts', use_real_dtb=True,\n update_dtb=True)[0]\n expected = b'x' * len(U_BOOT_DATA)\n updated_fname = tools.get_output_filename('image-updated.bin')\n@@ -3502,7 +3502,7 @@ class TestFunctional(unittest.TestCase):\n \"\"\"Test replacing a single file in an entry with a larger file\"\"\"\n expected = U_BOOT_DATA + b'x'\n data, _, image = self._RunReplaceCmd('u-boot', expected,\n- dts='139_replace_repack.dts')\n+ dts='entry/replace_repack.dts')\n self.assertEqual(expected, data)\n \n entries = image.GetEntries()\n@@ -3599,7 +3599,7 @@ class TestFunctional(unittest.TestCase):\n Output directory\n Expected values for updated entries, each a string\n \"\"\"\n- data = self._DoReadFileRealDtb('143_replace_all.dts')\n+ data = self._DoReadFileRealDtb('entry/replace_all.dts')\n \n updated_fname = tools.get_output_filename('image-updated.bin')\n tools.write_file(updated_fname, data)\n@@ -3686,7 +3686,7 @@ class TestFunctional(unittest.TestCase):\n \n def testReplaceCmd(self):\n \"\"\"Test replacing a file fron an image on the command line\"\"\"\n- self._DoReadFileRealDtb('143_replace_all.dts')\n+ self._DoReadFileRealDtb('entry/replace_all.dts')\n \n try:\n tmpdir, updated_fname = self._SetupImageInTmpdir()\n@@ -3742,7 +3742,7 @@ class TestFunctional(unittest.TestCase):\n \n def testReplaceCmdMap(self):\n \"\"\"Test replacing a file fron an image on the command line\"\"\"\n- self._DoReadFileRealDtb('143_replace_all.dts')\n+ self._DoReadFileRealDtb('entry/replace_all.dts')\n \n try:\n tmpdir, updated_fname = self._SetupImageInTmpdir()\n@@ -3760,7 +3760,7 @@ class TestFunctional(unittest.TestCase):\n \n def testReplaceNoEntryPaths(self):\n \"\"\"Test replacing an entry without an entry path\"\"\"\n- self._DoReadFileRealDtb('143_replace_all.dts')\n+ self._DoReadFileRealDtb('entry/replace_all.dts')\n image_fname = tools.get_output_filename('image.bin')\n with self.assertRaises(ValueError) as e:\n control.ReplaceEntries(image_fname, 'fname', None, [])\n@@ -3769,7 +3769,7 @@ class TestFunctional(unittest.TestCase):\n \n def testReplaceTooManyEntryPaths(self):\n \"\"\"Test extracting some entries\"\"\"\n- self._DoReadFileRealDtb('143_replace_all.dts')\n+ self._DoReadFileRealDtb('entry/replace_all.dts')\n image_fname = tools.get_output_filename('image.bin')\n with self.assertRaises(ValueError) as e:\n control.ReplaceEntries(image_fname, 'fname', None, ['a', 'b'])\n@@ -4421,7 +4421,7 @@ class TestFunctional(unittest.TestCase):\n \n def testEnvironment(self):\n \"\"\"Test adding a U-Boot environment\"\"\"\n- data = self._DoReadFile('174_env.dts')\n+ data = self._DoReadFile('entry/env.dts')\n self.assertEqual(U_BOOT_DATA, data[:len(U_BOOT_DATA)])\n self.assertEqual(U_BOOT_NODTB_DATA, data[-len(U_BOOT_NODTB_DATA):])\n env = data[len(U_BOOT_DATA):-len(U_BOOT_NODTB_DATA)]\n@@ -4431,14 +4431,14 @@ class TestFunctional(unittest.TestCase):\n def testEnvironmentNoSize(self):\n \"\"\"Test that a missing 'size' property is detected\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoTestFile('175_env_no_size.dts')\n+ self._DoTestFile('entry/env_no_size.dts')\n self.assertIn(\"'u-boot-env' entry must have a size property\",\n str(e.exception))\n \n def testEnvironmentTooSmall(self):\n \"\"\"Test handling of an environment that does not fit\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoTestFile('176_env_too_small.dts')\n+ self._DoTestFile('entry/env_too_small.dts')\n \n # checksum, start byte, environment with \\0 terminator, final \\0\n need = 4 + 1 + len(ENV_DATA) + 1 + 1\n@@ -4530,7 +4530,7 @@ class TestFunctional(unittest.TestCase):\n \"\"\"Test compression of the entire image\"\"\"\n self._CheckLz4()\n data, _, _, out_dtb_fname = self._DoReadFileDtb(\n- '182_compress_image.dts', use_real_dtb=True, update_dtb=True)\n+ 'entry/compress_image.dts', use_real_dtb=True, update_dtb=True)\n dtb = fdt.Fdt(out_dtb_fname)\n dtb.Scan()\n props = self._GetPropTree(dtb, ['offset', 'image-pos', 'size',\n@@ -4573,7 +4573,7 @@ class TestFunctional(unittest.TestCase):\n \"\"\"Test compression where compression reduces the image size\"\"\"\n self._CheckLz4()\n data, _, _, out_dtb_fname = self._DoReadFileDtb(\n- '183_compress_image_less.dts', use_real_dtb=True, update_dtb=True)\n+ 'entry/compress_image_less.dts', use_real_dtb=True, update_dtb=True)\n dtb = fdt.Fdt(out_dtb_fname)\n dtb.Scan()\n props = self._GetPropTree(dtb, ['offset', 'image-pos', 'size',\n@@ -4618,7 +4618,7 @@ class TestFunctional(unittest.TestCase):\n \"\"\"Test compression of a section with a fixed size\"\"\"\n self._CheckLz4()\n data, _, _, out_dtb_fname = self._DoReadFileDtb(\n- '184_compress_section_size.dts', use_real_dtb=True, update_dtb=True)\n+ 'entry/compress_section_size.dts', use_real_dtb=True, update_dtb=True)\n dtb = fdt.Fdt(out_dtb_fname)\n dtb.Scan()\n props = self._GetPropTree(dtb, ['offset', 'image-pos', 'size',\n@@ -4646,7 +4646,7 @@ class TestFunctional(unittest.TestCase):\n \"\"\"Test compression of a section with no fixed size\"\"\"\n self._CheckLz4()\n data, _, _, out_dtb_fname = self._DoReadFileDtb(\n- '185_compress_section.dts', use_real_dtb=True, update_dtb=True)\n+ 'entry/compress_section.dts', use_real_dtb=True, update_dtb=True)\n dtb = fdt.Fdt(out_dtb_fname)\n dtb.Scan()\n props = self._GetPropTree(dtb, ['offset', 'image-pos', 'size',\n@@ -4671,7 +4671,7 @@ class TestFunctional(unittest.TestCase):\n def testLz4Missing(self):\n \"\"\"Test that binman still produces an image if lz4 is missing\"\"\"\n with terminal.capture() as (_, stderr):\n- self._DoTestFile('185_compress_section.dts',\n+ self._DoTestFile('entry/compress_section.dts',\n force_missing_bintools='lz4')\n err = stderr.getvalue()\n self.assertRegex(err, \"Image 'image'.*missing bintools.*: lz4\")\n@@ -4680,7 +4680,7 @@ class TestFunctional(unittest.TestCase):\n \"\"\"Test compression of a section with no fixed size\"\"\"\n self._CheckLz4()\n data, _, _, out_dtb_fname = self._DoReadFileDtb(\n- '186_compress_extra.dts', use_real_dtb=True, update_dtb=True)\n+ 'entry/compress_extra.dts', use_real_dtb=True, update_dtb=True)\n dtb = fdt.Fdt(out_dtb_fname)\n dtb.Scan()\n props = self._GetPropTree(dtb, ['offset', 'image-pos', 'size',\n@@ -4764,7 +4764,7 @@ class TestFunctional(unittest.TestCase):\n 'cros-ec-rw-path': 'ecrw.bin',\n }\n data = self.data = self._DoReadFileDtb(\n- '188_image_entryarg.dts',use_real_dtb=True, update_dtb=True,\n+ 'entry/image_entryarg.dts',use_real_dtb=True, update_dtb=True,\n entry_args=entry_args)\n \n image_fname = tools.get_output_filename('image.bin')\n@@ -4779,7 +4779,7 @@ class TestFunctional(unittest.TestCase):\n \n def testFilesAlign(self):\n \"\"\"Test alignment with files\"\"\"\n- data = self._DoReadFile('190_files_align.dts')\n+ data = self._DoReadFile('entry/files_align.dts')\n \n # The first string is 15 bytes so will align to 16\n expect = FILES_DATA[:15] + b'\\0' + FILES_DATA[15:]\n@@ -4787,7 +4787,7 @@ class TestFunctional(unittest.TestCase):\n \n def testReadImageSkip(self):\n \"\"\"Test reading an image and accessing its FDT map\"\"\"\n- data = self.data = self._DoReadFileRealDtb('191_read_image_skip.dts')\n+ data = self.data = self._DoReadFileRealDtb('entry/read_image_skip.dts')\n image_fname = tools.get_output_filename('image.bin')\n orig_image = control.images['image']\n image = Image.FromFile(image_fname)\n@@ -5013,7 +5013,7 @@ class TestFunctional(unittest.TestCase):\n \n def testCollection(self):\n \"\"\"Test a collection\"\"\"\n- data = self._DoReadFile('198_collection.dts')\n+ data = self._DoReadFile('entry/collection.dts')\n self.assertEqual(U_BOOT_NODTB_DATA + U_BOOT_DTB_DATA +\n tools.get_bytes(0xff, 2) + U_BOOT_NODTB_DATA +\n tools.get_bytes(0xfe, 3) + U_BOOT_DTB_DATA,\n@@ -5025,7 +5025,7 @@ class TestFunctional(unittest.TestCase):\n # BuildSectionData() is called with required=True, a section will force\n # building the contents, producing an error is anything is still\n # missing.\n- data = self._DoReadFile('199_collection_section.dts')\n+ data = self._DoReadFile('entry/collection_section.dts')\n section = U_BOOT_NODTB_DATA + U_BOOT_DTB_DATA\n self.assertEqual(section + U_BOOT_DATA + tools.get_bytes(0xff, 2) +\n section + tools.get_bytes(0xfe, 3) + U_BOOT_DATA,\n@@ -5051,7 +5051,7 @@ class TestFunctional(unittest.TestCase):\n \n def testSectionsSingleThread(self):\n \"\"\"Test sections without multithreading\"\"\"\n- data = self._DoReadFileDtb('055_sections.dts', threads=0)[0]\n+ data = self._DoReadFileDtb('entry/sections.dts', threads=0)[0]\n expected = (U_BOOT_DATA + tools.get_bytes(ord('!'), 12) +\n U_BOOT_DATA + tools.get_bytes(ord('a'), 12) +\n U_BOOT_DATA + tools.get_bytes(ord('&'), 4))\n@@ -5060,13 +5060,13 @@ class TestFunctional(unittest.TestCase):\n def testThreadTimeout(self):\n \"\"\"Test handling a thread that takes too long\"\"\"\n with self.assertRaises(ValueError) as e:\n- self._DoTestFile('202_section_timeout.dts',\n+ self._DoTestFile('entry/section_timeout.dts',\n test_section_timeout=True)\n self.assertIn(\"Timed out obtaining contents\", str(e.exception))\n \n def testTiming(self):\n \"\"\"Test output of timing information\"\"\"\n- data = self._DoReadFile('055_sections.dts')\n+ data = self._DoReadFile('entry/sections.dts')\n with terminal.capture() as (stdout, stderr):\n state.TimingShow()\n self.assertIn('read:', stdout.getvalue())\n@@ -5573,7 +5573,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testPackTeeOs(self):\n \"\"\"Test that an image with an TEE binary can be created\"\"\"\n- data = self._DoReadFile('222_tee_os.dts')\n+ data = self._DoReadFile('entry/tee_os.dts')\n self.assertEqual(TEE_OS_DATA, data[:len(TEE_OS_DATA)])\n \n def testPackTiDm(self):\n@@ -5907,7 +5907,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testSafeUniqueNames(self):\n \"\"\"Test entry unique names are safe in single image configuration\"\"\"\n- data = self._DoReadFileRealDtb('237_unique_names.dts')\n+ data = self._DoReadFileRealDtb('entry/unique_names.dts')\n \n orig_image = control.images['image']\n image_fname = tools.get_output_filename('image.bin')\n@@ -5917,7 +5917,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testSafeUniqueNamesMulti(self):\n \"\"\"Test entry unique names are safe with multiple images\"\"\"\n- data = self._DoReadFileRealDtb('238_unique_names_multi.dts')\n+ data = self._DoReadFileRealDtb('entry/unique_names_multi.dts')\n \n orig_image = control.images['image']\n image_fname = tools.get_output_filename('image.bin')\n@@ -5927,7 +5927,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testReplaceCmdWithBintool(self):\n \"\"\"Test replacing an entry that needs a bintool to pack\"\"\"\n- data = self._DoReadFileRealDtb('239_replace_with_bintool.dts')\n+ data = self._DoReadFileRealDtb('entry/replace_with_bintool.dts')\n expected = U_BOOT_DATA + b'aa'\n self.assertEqual(expected, data[:len(expected)])\n \n@@ -5946,7 +5946,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testReplaceCmdOtherWithBintool(self):\n \"\"\"Test replacing an entry when another needs a bintool to pack\"\"\"\n- data = self._DoReadFileRealDtb('239_replace_with_bintool.dts')\n+ data = self._DoReadFileRealDtb('entry/replace_with_bintool.dts')\n expected = U_BOOT_DATA + b'aa'\n self.assertEqual(expected, data[:len(expected)])\n \n@@ -6061,7 +6061,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \"\"\"Test replacing a simple section with same-sized data\"\"\"\n new_data = b'w' * len(COMPRESS_DATA + U_BOOT_DATA)\n data, expected_fdtmap, image = self._RunReplaceCmd('section',\n- new_data, dts='241_replace_section_simple.dts')\n+ new_data, dts='entry/replace_section_simple.dts')\n self.assertEqual(new_data, data)\n \n entries = image.GetEntries()\n@@ -6073,7 +6073,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \"\"\"Test replacing a simple section with larger data\"\"\"\n new_data = b'w' * (len(COMPRESS_DATA + U_BOOT_DATA) + 1)\n data, expected_fdtmap, image = self._RunReplaceCmd('section',\n- new_data, dts='241_replace_section_simple.dts')\n+ new_data, dts='entry/replace_section_simple.dts')\n self.assertEqual(new_data, data)\n \n entries = image.GetEntries()\n@@ -6087,7 +6087,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \"\"\"Test replacing a simple section with smaller data\"\"\"\n new_data = b'w' * (len(COMPRESS_DATA + U_BOOT_DATA) - 1) + b'\\0'\n data, expected_fdtmap, image = self._RunReplaceCmd('section',\n- new_data, dts='241_replace_section_simple.dts')\n+ new_data, dts='entry/replace_section_simple.dts')\n self.assertEqual(new_data, data)\n \n # The new size is the same as the old, just with a pad byte at the end\n@@ -6103,7 +6103,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n state.SetAllowEntryContraction(True)\n with self.assertRaises(ValueError) as exc:\n self._RunReplaceCmd('section', new_data,\n- dts='241_replace_section_simple.dts')\n+ dts='entry/replace_section_simple.dts')\n finally:\n state.SetAllowEntryContraction(False)\n \n@@ -6172,7 +6172,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testCollectionOther(self):\n \"\"\"Test a collection where the data comes from another section\"\"\"\n- data = self._DoReadFile('246_collection_other.dts')\n+ data = self._DoReadFile('entry/collection_other.dts')\n self.assertEqual(U_BOOT_NODTB_DATA + U_BOOT_DTB_DATA +\n tools.get_bytes(0xff, 2) + U_BOOT_NODTB_DATA +\n tools.get_bytes(0xfe, 3) + U_BOOT_DTB_DATA,\n@@ -6380,7 +6380,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testSymlink(self):\n \"\"\"Test that image files can be symlinked\"\"\"\n- retcode = self._DoTestFile('259_symlink.dts', debug=True, map=True)\n+ retcode = self._DoTestFile('entry/symlink.dts', debug=True, map=True)\n self.assertEqual(0, retcode)\n image = control.images['test_image']\n fname = tools.get_output_filename('test_image.bin')\n@@ -6391,9 +6391,9 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n def testSymlinkOverwrite(self):\n \"\"\"Test that symlinked images can be overwritten\"\"\"\n testdir = TestFunctional._MakeInputDir('symlinktest')\n- self._DoTestFile('259_symlink.dts', debug=True, map=True, output_dir=testdir)\n+ self._DoTestFile('entry/symlink.dts', debug=True, map=True, output_dir=testdir)\n # build the same image again in the same directory so that existing symlink is present\n- self._DoTestFile('259_symlink.dts', debug=True, map=True, output_dir=testdir)\n+ self._DoTestFile('entry/symlink.dts', debug=True, map=True, output_dir=testdir)\n fname = tools.get_output_filename('test_image.bin')\n sname = tools.get_output_filename('symlink_to_test.bin')\n self.assertTrue(os.path.islink(sname))\n@@ -6459,7 +6459,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testSectionFilename(self):\n \"\"\"Check writing of section contents to a file\"\"\"\n- data = self._DoReadFile('261_section_fname.dts')\n+ data = self._DoReadFile('entry/section_fname.dts')\n expected = (b'&&' + U_BOOT_DATA + b'&&&' +\n tools.get_bytes(ord('!'), 7) +\n U_BOOT_DATA + tools.get_bytes(ord('&'), 12))\n@@ -6472,7 +6472,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testAbsent(self):\n \"\"\"Check handling of absent entries\"\"\"\n- data = self._DoReadFile('262_absent.dts')\n+ data = self._DoReadFile('entry/absent.dts')\n self.assertEqual(U_BOOT_DATA + b'aa' + U_BOOT_IMG_DATA, data)\n \n def testPackTeeOsElf(self):\n@@ -6481,7 +6481,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n 'tee-os-path': 'tee.elf',\n }\n tee_path = self.tee_elf_path\n- data = self._DoReadFileDtb('263_tee_os_opt.dts',\n+ data = self._DoReadFileDtb('entry/tee_os_opt.dts',\n entry_args=entry_args)[0]\n self.assertEqual(U_BOOT_DATA + tools.read_file(tee_path) +\n U_BOOT_IMG_DATA, data)\n@@ -6586,12 +6586,12 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testNull(self):\n \"\"\"Test an image with a null entry\"\"\"\n- data = self._DoReadFile('268_null.dts')\n+ data = self._DoReadFile('entry/null.dts')\n self.assertEqual(U_BOOT_DATA + b'\\xff\\xff\\xff\\xff' + U_BOOT_IMG_DATA, data)\n \n def testOverlap(self):\n \"\"\"Test an image with a overlapping entry\"\"\"\n- data = self._DoReadFile('269_overlap.dts')\n+ data = self._DoReadFile('entry/overlap.dts')\n self.assertEqual(U_BOOT_DATA[:1] + b'aa' + U_BOOT_DATA[3:], data)\n \n image = control.images['image']\n@@ -6605,7 +6605,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \n def testOverlapNull(self):\n \"\"\"Test an image with a null overlap\"\"\"\n- data = self._DoReadFile('270_overlap_null.dts')\n+ data = self._DoReadFile('entry/overlap_null.dts')\n self.assertEqual(U_BOOT_DATA, data[:len(U_BOOT_DATA)])\n \n # Check the FMAP\n@@ -6639,7 +6639,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n def testOverlapBad(self):\n \"\"\"Test an image with a bad overlapping entry\"\"\"\n with self.assertRaises(ValueError) as exc:\n- self._DoReadFile('271_overlap_bad.dts')\n+ self._DoReadFile('entry/overlap_bad.dts')\n self.assertIn(\n \"Node '/binman/inset': Offset 0x10 (16) ending at 0x12 (18) must overlap with existing entries\",\n str(exc.exception))\n@@ -6647,7 +6647,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n def testOverlapNoOffset(self):\n \"\"\"Test an image with a bad overlapping entry\"\"\"\n with self.assertRaises(ValueError) as exc:\n- self._DoReadFile('272_overlap_no_size.dts')\n+ self._DoReadFile('entry/overlap_no_size.dts')\n self.assertIn(\n \"Node '/binman/inset': 'fill' entry is missing properties: size\",\n str(exc.exception))\n@@ -6678,7 +6678,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n TestFunctional._MakeInputFile('blob_syms.bin',\n tools.read_file(self.ElfTestFile('blob_syms.bin')))\n \n- data = self._DoReadFile('274_offset_from_elf.dts')\n+ data = self._DoReadFile('entry/offset_from_elf.dts')\n \n syms = elf.GetSymbols(elf_fname, ['binman', 'image'])\n base = elf.GetSymbolAddress(elf_fname, '__my_start_sym')\n@@ -6781,7 +6781,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \"\"\"Test replacing an entry in a section\"\"\"\n expect_data = b'w' * len(U_BOOT_DATA + COMPRESS_DATA)\n entry_data, expected_fdtmap, image = self._RunReplaceCmd('section/blob',\n- expect_data, dts='241_replace_section_simple.dts')\n+ expect_data, dts='entry/replace_section_simple.dts')\n self.assertEqual(expect_data, entry_data)\n \n entries = image.GetEntries()\n@@ -6808,7 +6808,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n expect_data = b'w' * len(U_BOOT_DATA + COMPRESS_DATA)\n entry_data, expected_fdtmap, image = self._RunReplaceCmd(\n 'section/section/blob', expect_data,\n- dts='278_replace_section_deep.dts')\n+ dts='entry/replace_section_deep.dts')\n self.assertEqual(expect_data, entry_data)\n \n entries = image.GetEntries()\n@@ -7034,7 +7034,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n def testTemplate(self):\n \"\"\"Test using a template\"\"\"\n TestFunctional._MakeInputFile('vga2.bin', b'#' + VGA_DATA)\n- data = self._DoReadFile('286_template.dts')\n+ data = self._DoReadFile('entry/template.dts')\n first = U_BOOT_DATA + VGA_DATA + U_BOOT_DTB_DATA\n second = U_BOOT_DATA + b'#' + VGA_DATA + U_BOOT_DTB_DATA\n self.assertEqual(U_BOOT_IMG_DATA + first + second, data)\n@@ -7059,7 +7059,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n \"\"\"Test using a template with 'multiple-images' enabled\"\"\"\n TestFunctional._MakeInputFile('my-blob.bin', b'blob')\n TestFunctional._MakeInputFile('my-blob2.bin', b'other')\n- retcode = self._DoTestFile('287_template_multi.dts')\n+ retcode = self._DoTestFile('entry/template_multi.dts')\n \n self.assertEqual(0, retcode)\n image = control.images['image']\n@@ -7077,7 +7077,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n def testTemplateSection(self):\n \"\"\"Test using a template in a section (not at top level)\"\"\"\n TestFunctional._MakeInputFile('vga2.bin', b'#' + VGA_DATA)\n- data = self._DoReadFile('289_template_section.dts')\n+ data = self._DoReadFile('entry/template_section.dts')\n first = U_BOOT_DATA + VGA_DATA + U_BOOT_DTB_DATA\n second = U_BOOT_DATA + b'#' + VGA_DATA + U_BOOT_DTB_DATA\n self.assertEqual(U_BOOT_IMG_DATA + first + second + first, data)\n@@ -7151,7 +7151,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n entry_args = {\n 'atf-bl31-path': 'bl31.elf',\n }\n- data = self._DoReadFileDtb('309_template_phandle.dts',\n+ data = self._DoReadFileDtb('entry/template_phandle.dts',\n entry_args=entry_args)\n fname = tools.get_output_filename('image.bin')\n out = tools.run('dumpimage', '-l', fname)\n@@ -7167,7 +7167,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n 'atf-bl31-path': 'bl31.elf',\n }\n with self.assertRaises(ValueError) as e:\n- self._DoReadFileDtb('310_template_phandle_dup.dts',\n+ self._DoReadFileDtb('entry/template_phandle_dup.dts',\n entry_args=entry_args)\n self.assertIn(\n 'Duplicate phandle 1 in nodes /binman/image/fit/images/atf/atf-bl31 and /binman/image-2/fit/images/atf/atf-bl31',\n@@ -8309,7 +8309,7 @@ fdt fdtmap Extract the devicetree blob from the fdtmap\n TestFunctional._MakeInputFile('my-blob.bin', b'blob')\n TestFunctional._MakeInputFile('my-blob2.bin', b'other')\n with terminal.capture() as (_, stderr):\n- self._DoTestFile('346_remove_template.dts',\n+ self._DoTestFile('entry/remove_template.dts',\n force_missing_bintools='openssl',)\n err = stderr.getvalue()\n self.assertRegex(err, \"Image 'file2'.*missing bintools.*: openssl\")\ndiff --git a/tools/binman/test/262_absent.dts b/tools/binman/test/entry/absent.dts\nsimilarity index 100%\nrename from tools/binman/test/262_absent.dts\nrename to tools/binman/test/entry/absent.dts\ndiff --git a/tools/binman/test/198_collection.dts b/tools/binman/test/entry/collection.dts\nsimilarity index 100%\nrename from tools/binman/test/198_collection.dts\nrename to tools/binman/test/entry/collection.dts\ndiff --git a/tools/binman/test/246_collection_other.dts b/tools/binman/test/entry/collection_other.dts\nsimilarity index 100%\nrename from tools/binman/test/246_collection_other.dts\nrename to tools/binman/test/entry/collection_other.dts\ndiff --git a/tools/binman/test/199_collection_section.dts b/tools/binman/test/entry/collection_section.dts\nsimilarity index 100%\nrename from tools/binman/test/199_collection_section.dts\nrename to tools/binman/test/entry/collection_section.dts\ndiff --git a/tools/binman/test/083_compress.dts b/tools/binman/test/entry/compress.dts\nsimilarity index 100%\nrename from tools/binman/test/083_compress.dts\nrename to tools/binman/test/entry/compress.dts\ndiff --git a/tools/binman/test/186_compress_extra.dts b/tools/binman/test/entry/compress_extra.dts\nsimilarity index 100%\nrename from tools/binman/test/186_compress_extra.dts\nrename to tools/binman/test/entry/compress_extra.dts\ndiff --git a/tools/binman/test/182_compress_image.dts b/tools/binman/test/entry/compress_image.dts\nsimilarity index 100%\nrename from tools/binman/test/182_compress_image.dts\nrename to tools/binman/test/entry/compress_image.dts\ndiff --git a/tools/binman/test/183_compress_image_less.dts b/tools/binman/test/entry/compress_image_less.dts\nsimilarity index 100%\nrename from tools/binman/test/183_compress_image_less.dts\nrename to tools/binman/test/entry/compress_image_less.dts\ndiff --git a/tools/binman/test/185_compress_section.dts b/tools/binman/test/entry/compress_section.dts\nsimilarity index 100%\nrename from tools/binman/test/185_compress_section.dts\nrename to tools/binman/test/entry/compress_section.dts\ndiff --git a/tools/binman/test/184_compress_section_size.dts b/tools/binman/test/entry/compress_section_size.dts\nsimilarity index 100%\nrename from tools/binman/test/184_compress_section_size.dts\nrename to tools/binman/test/entry/compress_section_size.dts\ndiff --git a/tools/binman/test/096_elf.dts b/tools/binman/test/entry/elf.dts\nsimilarity index 100%\nrename from tools/binman/test/096_elf.dts\nrename to tools/binman/test/entry/elf.dts\ndiff --git a/tools/binman/test/097_elf_strip.dts b/tools/binman/test/entry/elf_strip.dts\nsimilarity index 100%\nrename from tools/binman/test/097_elf_strip.dts\nrename to tools/binman/test/entry/elf_strip.dts\ndiff --git a/tools/binman/test/062_entry_args.dts b/tools/binman/test/entry/entry_args.dts\nsimilarity index 100%\nrename from tools/binman/test/062_entry_args.dts\nrename to tools/binman/test/entry/entry_args.dts\ndiff --git a/tools/binman/test/063_entry_args_missing.dts b/tools/binman/test/entry/entry_args_missing.dts\nsimilarity index 100%\nrename from tools/binman/test/063_entry_args_missing.dts\nrename to tools/binman/test/entry/entry_args_missing.dts\ndiff --git a/tools/binman/test/064_entry_args_required.dts b/tools/binman/test/entry/entry_args_required.dts\nsimilarity index 100%\nrename from tools/binman/test/064_entry_args_required.dts\nrename to tools/binman/test/entry/entry_args_required.dts\ndiff --git a/tools/binman/test/065_entry_args_unknown_datatype.dts b/tools/binman/test/entry/entry_args_unknown_datatype.dts\nsimilarity index 100%\nrename from tools/binman/test/065_entry_args_unknown_datatype.dts\nrename to tools/binman/test/entry/entry_args_unknown_datatype.dts\ndiff --git a/tools/binman/test/174_env.dts b/tools/binman/test/entry/env.dts\nsimilarity index 100%\nrename from tools/binman/test/174_env.dts\nrename to tools/binman/test/entry/env.dts\ndiff --git a/tools/binman/test/175_env_no_size.dts b/tools/binman/test/entry/env_no_size.dts\nsimilarity index 100%\nrename from tools/binman/test/175_env_no_size.dts\nrename to tools/binman/test/entry/env_no_size.dts\ndiff --git a/tools/binman/test/176_env_too_small.dts b/tools/binman/test/entry/env_too_small.dts\nsimilarity index 100%\nrename from tools/binman/test/176_env_too_small.dts\nrename to tools/binman/test/entry/env_too_small.dts\ndiff --git a/tools/binman/test/084_files.dts b/tools/binman/test/entry/files.dts\nsimilarity index 100%\nrename from tools/binman/test/084_files.dts\nrename to tools/binman/test/entry/files.dts\ndiff --git a/tools/binman/test/190_files_align.dts b/tools/binman/test/entry/files_align.dts\nsimilarity index 100%\nrename from tools/binman/test/190_files_align.dts\nrename to tools/binman/test/entry/files_align.dts\ndiff --git a/tools/binman/test/085_files_compress.dts b/tools/binman/test/entry/files_compress.dts\nsimilarity index 100%\nrename from tools/binman/test/085_files_compress.dts\nrename to tools/binman/test/entry/files_compress.dts\ndiff --git a/tools/binman/test/087_files_no_pattern.dts b/tools/binman/test/entry/files_no_pattern.dts\nsimilarity index 100%\nrename from tools/binman/test/087_files_no_pattern.dts\nrename to tools/binman/test/entry/files_no_pattern.dts\ndiff --git a/tools/binman/test/086_files_none.dts b/tools/binman/test/entry/files_none.dts\nsimilarity index 100%\nrename from tools/binman/test/086_files_none.dts\nrename to tools/binman/test/entry/files_none.dts\ndiff --git a/tools/binman/test/069_fill.dts b/tools/binman/test/entry/fill.dts\nsimilarity index 100%\nrename from tools/binman/test/069_fill.dts\nrename to tools/binman/test/entry/fill.dts\ndiff --git a/tools/binman/test/080_fill_empty.dts b/tools/binman/test/entry/fill_empty.dts\nsimilarity index 100%\nrename from tools/binman/test/080_fill_empty.dts\nrename to tools/binman/test/entry/fill_empty.dts\ndiff --git a/tools/binman/test/070_fill_no_size.dts b/tools/binman/test/entry/fill_no_size.dts\nsimilarity index 100%\nrename from tools/binman/test/070_fill_no_size.dts\nrename to tools/binman/test/entry/fill_no_size.dts\ndiff --git a/tools/binman/test/188_image_entryarg.dts b/tools/binman/test/entry/image_entryarg.dts\nsimilarity index 100%\nrename from tools/binman/test/188_image_entryarg.dts\nrename to tools/binman/test/entry/image_entryarg.dts\ndiff --git a/tools/binman/test/127_list.dts b/tools/binman/test/entry/list.dts\nsimilarity index 100%\nrename from tools/binman/test/127_list.dts\nrename to tools/binman/test/entry/list.dts\ndiff --git a/tools/binman/test/056_name_prefix.dts b/tools/binman/test/entry/name_prefix.dts\nsimilarity index 100%\nrename from tools/binman/test/056_name_prefix.dts\nrename to tools/binman/test/entry/name_prefix.dts\ndiff --git a/tools/binman/test/268_null.dts b/tools/binman/test/entry/null.dts\nsimilarity index 100%\nrename from tools/binman/test/268_null.dts\nrename to tools/binman/test/entry/null.dts\ndiff --git a/tools/binman/test/274_offset_from_elf.dts b/tools/binman/test/entry/offset_from_elf.dts\nsimilarity index 100%\nrename from tools/binman/test/274_offset_from_elf.dts\nrename to tools/binman/test/entry/offset_from_elf.dts\ndiff --git a/tools/binman/test/269_overlap.dts b/tools/binman/test/entry/overlap.dts\nsimilarity index 100%\nrename from tools/binman/test/269_overlap.dts\nrename to tools/binman/test/entry/overlap.dts\ndiff --git a/tools/binman/test/271_overlap_bad.dts b/tools/binman/test/entry/overlap_bad.dts\nsimilarity index 100%\nrename from tools/binman/test/271_overlap_bad.dts\nrename to tools/binman/test/entry/overlap_bad.dts\ndiff --git a/tools/binman/test/272_overlap_no_size.dts b/tools/binman/test/entry/overlap_no_size.dts\nsimilarity index 100%\nrename from tools/binman/test/272_overlap_no_size.dts\nrename to tools/binman/test/entry/overlap_no_size.dts\ndiff --git a/tools/binman/test/270_overlap_null.dts b/tools/binman/test/entry/overlap_null.dts\nsimilarity index 100%\nrename from tools/binman/test/270_overlap_null.dts\nrename to tools/binman/test/entry/overlap_null.dts\ndiff --git a/tools/binman/test/045_prop_test.dts b/tools/binman/test/entry/prop_test.dts\nsimilarity index 100%\nrename from tools/binman/test/045_prop_test.dts\nrename to tools/binman/test/entry/prop_test.dts\ndiff --git a/tools/binman/test/191_read_image_skip.dts b/tools/binman/test/entry/read_image_skip.dts\nsimilarity index 100%\nrename from tools/binman/test/191_read_image_skip.dts\nrename to tools/binman/test/entry/read_image_skip.dts\ndiff --git a/tools/binman/test/346_remove_template.dts b/tools/binman/test/entry/remove_template.dts\nsimilarity index 100%\nrename from tools/binman/test/346_remove_template.dts\nrename to tools/binman/test/entry/remove_template.dts\ndiff --git a/tools/binman/test/132_replace.dts b/tools/binman/test/entry/replace.dts\nsimilarity index 100%\nrename from tools/binman/test/132_replace.dts\nrename to tools/binman/test/entry/replace.dts\ndiff --git a/tools/binman/test/143_replace_all.dts b/tools/binman/test/entry/replace_all.dts\nsimilarity index 100%\nrename from tools/binman/test/143_replace_all.dts\nrename to tools/binman/test/entry/replace_all.dts\ndiff --git a/tools/binman/test/133_replace_multi.dts b/tools/binman/test/entry/replace_multi.dts\nsimilarity index 100%\nrename from tools/binman/test/133_replace_multi.dts\nrename to tools/binman/test/entry/replace_multi.dts\ndiff --git a/tools/binman/test/139_replace_repack.dts b/tools/binman/test/entry/replace_repack.dts\nsimilarity index 100%\nrename from tools/binman/test/139_replace_repack.dts\nrename to tools/binman/test/entry/replace_repack.dts\ndiff --git a/tools/binman/test/278_replace_section_deep.dts b/tools/binman/test/entry/replace_section_deep.dts\nsimilarity index 100%\nrename from tools/binman/test/278_replace_section_deep.dts\nrename to tools/binman/test/entry/replace_section_deep.dts\ndiff --git a/tools/binman/test/241_replace_section_simple.dts b/tools/binman/test/entry/replace_section_simple.dts\nsimilarity index 100%\nrename from tools/binman/test/241_replace_section_simple.dts\nrename to tools/binman/test/entry/replace_section_simple.dts\ndiff --git a/tools/binman/test/239_replace_with_bintool.dts b/tools/binman/test/entry/replace_with_bintool.dts\nsimilarity index 100%\nrename from tools/binman/test/239_replace_with_bintool.dts\nrename to tools/binman/test/entry/replace_with_bintool.dts\ndiff --git a/tools/binman/test/261_section_fname.dts b/tools/binman/test/entry/section_fname.dts\nsimilarity index 100%\nrename from tools/binman/test/261_section_fname.dts\nrename to tools/binman/test/entry/section_fname.dts\ndiff --git a/tools/binman/test/202_section_timeout.dts b/tools/binman/test/entry/section_timeout.dts\nsimilarity index 100%\nrename from tools/binman/test/202_section_timeout.dts\nrename to tools/binman/test/entry/section_timeout.dts\ndiff --git a/tools/binman/test/055_sections.dts b/tools/binman/test/entry/sections.dts\nsimilarity index 100%\nrename from tools/binman/test/055_sections.dts\nrename to tools/binman/test/entry/sections.dts\ndiff --git a/tools/binman/test/259_symlink.dts b/tools/binman/test/entry/symlink.dts\nsimilarity index 100%\nrename from tools/binman/test/259_symlink.dts\nrename to tools/binman/test/entry/symlink.dts\ndiff --git a/tools/binman/test/222_tee_os.dts b/tools/binman/test/entry/tee_os.dts\nsimilarity index 100%\nrename from tools/binman/test/222_tee_os.dts\nrename to tools/binman/test/entry/tee_os.dts\ndiff --git a/tools/binman/test/263_tee_os_opt.dts b/tools/binman/test/entry/tee_os_opt.dts\nsimilarity index 100%\nrename from tools/binman/test/263_tee_os_opt.dts\nrename to tools/binman/test/entry/tee_os_opt.dts\ndiff --git a/tools/binman/test/286_template.dts b/tools/binman/test/entry/template.dts\nsimilarity index 100%\nrename from tools/binman/test/286_template.dts\nrename to tools/binman/test/entry/template.dts\ndiff --git a/tools/binman/test/287_template_multi.dts b/tools/binman/test/entry/template_multi.dts\nsimilarity index 100%\nrename from tools/binman/test/287_template_multi.dts\nrename to tools/binman/test/entry/template_multi.dts\ndiff --git a/tools/binman/test/309_template_phandle.dts b/tools/binman/test/entry/template_phandle.dts\nsimilarity index 100%\nrename from tools/binman/test/309_template_phandle.dts\nrename to tools/binman/test/entry/template_phandle.dts\ndiff --git a/tools/binman/test/310_template_phandle_dup.dts b/tools/binman/test/entry/template_phandle_dup.dts\nsimilarity index 100%\nrename from tools/binman/test/310_template_phandle_dup.dts\nrename to tools/binman/test/entry/template_phandle_dup.dts\ndiff --git a/tools/binman/test/289_template_section.dts b/tools/binman/test/entry/template_section.dts\nsimilarity index 100%\nrename from tools/binman/test/289_template_section.dts\nrename to tools/binman/test/entry/template_section.dts\ndiff --git a/tools/binman/test/066_text.dts b/tools/binman/test/entry/text.dts\nsimilarity index 100%\nrename from tools/binman/test/066_text.dts\nrename to tools/binman/test/entry/text.dts\ndiff --git a/tools/binman/test/237_unique_names.dts b/tools/binman/test/entry/unique_names.dts\nsimilarity index 100%\nrename from tools/binman/test/237_unique_names.dts\nrename to tools/binman/test/entry/unique_names.dts\ndiff --git a/tools/binman/test/238_unique_names_multi.dts b/tools/binman/test/entry/unique_names_multi.dts\nsimilarity index 100%\nrename from tools/binman/test/238_unique_names_multi.dts\nrename to tools/binman/test/entry/unique_names_multi.dts\ndiff --git a/tools/binman/test/057_unknown_contents.dts b/tools/binman/test/entry/unknown_contents.dts\nsimilarity index 100%\nrename from tools/binman/test/057_unknown_contents.dts\nrename to tools/binman/test/entry/unknown_contents.dts\ndiff --git a/tools/binman/test/041_unknown_pos_size.dts b/tools/binman/test/entry/unknown_pos_size.dts\nsimilarity index 100%\nrename from tools/binman/test/041_unknown_pos_size.dts\nrename to tools/binman/test/entry/unknown_pos_size.dts\n", "prefixes": [ "v2", "16/23" ] }