diff options
| author | Simon Glass <[email protected]> | 2025-02-07 11:30:39 -0700 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-02-11 20:10:58 -0600 |
| commit | ea29bad9cff2fd88d172276b58859f01649fe444 (patch) | |
| tree | de52ec210146b21610f326877ff1c8b6d061bac5 /test/overlay | |
| parent | c908ecb7b51e886469c4fc8eb5492bdbda55b871 (diff) | |
test: Tweak FDT-overlay tests
Use fdt_overlay consistently in the identifiers and file/dir names.
Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'test/overlay')
| -rw-r--r-- | test/overlay/Kconfig | 10 | ||||
| -rw-r--r-- | test/overlay/Makefile | 14 | ||||
| -rw-r--r-- | test/overlay/cmd_ut_overlay.c | 280 | ||||
| -rw-r--r-- | test/overlay/test-fdt-base.dts | 20 | ||||
| -rw-r--r-- | test/overlay/test-fdt-overlay-stacked.dtso | 20 | ||||
| -rw-r--r-- | test/overlay/test-fdt-overlay.dtso | 95 |
6 files changed, 0 insertions, 439 deletions
diff --git a/test/overlay/Kconfig b/test/overlay/Kconfig deleted file mode 100644 index 881848968bb..00000000000 --- a/test/overlay/Kconfig +++ /dev/null @@ -1,10 +0,0 @@ -config UT_OVERLAY - bool "Enable Device Tree Overlays Unit Tests" - depends on UNIT_TEST && OF_CONTROL && SANDBOX - default y - select OF_LIBFDT_OVERLAY - help - This enables the 'ut overlay' command which runs a series of unit - tests on the fdt overlay code. - If all is well then all tests pass although there will be a few - messages printed along the way. diff --git a/test/overlay/Makefile b/test/overlay/Makefile deleted file mode 100644 index 47937e3c108..00000000000 --- a/test/overlay/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# Copyright (c) 2016 NextThing Co -# Copyright (c) 2016 Free Electrons - -# Test files -obj-y += cmd_ut_overlay.o - -DTC_FLAGS += -@ - -# DT overlays -obj-y += test-fdt-base.dtb.o -obj-y += test-fdt-overlay.dtbo.o -obj-y += test-fdt-overlay-stacked.dtbo.o diff --git a/test/overlay/cmd_ut_overlay.c b/test/overlay/cmd_ut_overlay.c deleted file mode 100644 index aefa147ec04..00000000000 --- a/test/overlay/cmd_ut_overlay.c +++ /dev/null @@ -1,280 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (c) 2016 NextThing Co - * Copyright (c) 2016 Free Electrons - */ - -#include <command.h> -#include <errno.h> -#include <fdt_support.h> -#include <image.h> -#include <log.h> -#include <malloc.h> - -#include <linux/sizes.h> - -#include <test/ut.h> -#include <test/overlay.h> -#include <test/suites.h> - -/* 4k ought to be enough for anybody */ -#define FDT_COPY_SIZE (4 * SZ_1K) - -extern u32 __dtb_test_fdt_base_begin; -extern u32 __dtbo_test_fdt_overlay_begin; -extern u32 __dtbo_test_fdt_overlay_stacked_begin; - -static void *fdt; - -static int ut_fdt_getprop_u32_by_index(void *fdt, const char *path, - const char *name, int index, - u32 *out) -{ - const fdt32_t *val; - int node_off; - int len; - - node_off = fdt_path_offset(fdt, path); - if (node_off < 0) - return node_off; - - val = fdt_getprop(fdt, node_off, name, &len); - if (!val || (len < (sizeof(uint32_t) * (index + 1)))) - return -FDT_ERR_NOTFOUND; - - *out = fdt32_to_cpu(*(val + index)); - - return 0; -} - -static int ut_fdt_getprop_u32(void *fdt, const char *path, const char *name, - u32 *out) -{ - return ut_fdt_getprop_u32_by_index(fdt, path, name, 0, out); -} - -static int fdt_getprop_str(void *fdt, const char *path, const char *name, - const char **out) -{ - int node_off; - int len; - - node_off = fdt_path_offset(fdt, path); - if (node_off < 0) - return node_off; - - *out = fdt_stringlist_get(fdt, node_off, name, 0, &len); - - return len < 0 ? len : 0; -} - -static int fdt_overlay_change_int_property(struct unit_test_state *uts) -{ - u32 val = 0; - - ut_assertok(ut_fdt_getprop_u32(fdt, "/test-node", "test-int-property", - &val)); - ut_asserteq(43, val); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_change_int_property, 0); - -static int fdt_overlay_change_str_property(struct unit_test_state *uts) -{ - const char *val = NULL; - - ut_assertok(fdt_getprop_str(fdt, "/test-node", "test-str-property", - &val)); - ut_asserteq_str("foobar", val); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_change_str_property, 0); - -static int fdt_overlay_add_str_property(struct unit_test_state *uts) -{ - const char *val = NULL; - - ut_assertok(fdt_getprop_str(fdt, "/test-node", "test-str-property-2", - &val)); - ut_asserteq_str("foobar2", val); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_add_str_property, 0); - -static int fdt_overlay_add_node_by_phandle(struct unit_test_state *uts) -{ - int off; - - off = fdt_path_offset(fdt, "/test-node/new-node"); - ut_assert(off >= 0); - - ut_assertnonnull(fdt_getprop(fdt, off, "new-property", NULL)); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_add_node_by_phandle, 0); - -static int fdt_overlay_add_node_by_path(struct unit_test_state *uts) -{ - int off; - - off = fdt_path_offset(fdt, "/new-node"); - ut_assert(off >= 0); - - ut_assertnonnull(fdt_getprop(fdt, off, "new-property", NULL)); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_add_node_by_path, 0); - -static int fdt_overlay_add_subnode_property(struct unit_test_state *uts) -{ - int off; - - off = fdt_path_offset(fdt, "/test-node/sub-test-node"); - ut_assert(off >= 0); - - ut_assertnonnull(fdt_getprop(fdt, off, "sub-test-property", NULL)); - ut_assertnonnull(fdt_getprop(fdt, off, "new-sub-test-property", NULL)); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_add_subnode_property, 0); - -static int fdt_overlay_local_phandle(struct unit_test_state *uts) -{ - uint32_t local_phandle; - u32 val = 0; - int off; - - off = fdt_path_offset(fdt, "/new-local-node"); - ut_assert(off >= 0); - - local_phandle = fdt_get_phandle(fdt, off); - ut_assert(local_phandle); - - ut_assertok(ut_fdt_getprop_u32_by_index(fdt, "/", "test-several-phandle", - 0, &val)); - ut_asserteq(local_phandle, val); - - ut_assertok(ut_fdt_getprop_u32_by_index(fdt, "/", "test-several-phandle", - 1, &val)); - ut_asserteq(local_phandle, val); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_local_phandle, 0); - -static int fdt_overlay_local_phandles(struct unit_test_state *uts) -{ - uint32_t local_phandle, test_phandle; - u32 val = 0; - int off; - - off = fdt_path_offset(fdt, "/new-local-node"); - ut_assert(off >= 0); - - local_phandle = fdt_get_phandle(fdt, off); - ut_assert(local_phandle); - - off = fdt_path_offset(fdt, "/test-node"); - ut_assert(off >= 0); - - test_phandle = fdt_get_phandle(fdt, off); - ut_assert(test_phandle); - - ut_assertok(ut_fdt_getprop_u32_by_index(fdt, "/", "test-phandle", 0, - &val)); - ut_asserteq(test_phandle, val); - - ut_assertok(ut_fdt_getprop_u32_by_index(fdt, "/", "test-phandle", 1, - &val)); - ut_asserteq(local_phandle, val); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_local_phandles, 0); - -static int fdt_overlay_stacked(struct unit_test_state *uts) -{ - u32 val = 0; - - ut_assertok(ut_fdt_getprop_u32(fdt, "/new-local-node", - "stacked-test-int-property", &val)); - ut_asserteq(43, val); - - return CMD_RET_SUCCESS; -} -OVERLAY_TEST(fdt_overlay_stacked, 0); - -int do_ut_overlay(struct unit_test_state *uts, struct cmd_tbl *cmdtp, int flag, - int argc, char *const argv[]) -{ - struct unit_test *tests = UNIT_TEST_SUITE_START(overlay); - const int n_ents = UNIT_TEST_SUITE_COUNT(overlay); - void *fdt_base = &__dtb_test_fdt_base_begin; - void *fdt_overlay = &__dtbo_test_fdt_overlay_begin; - void *fdt_overlay_stacked = &__dtbo_test_fdt_overlay_stacked_begin; - void *fdt_overlay_copy, *fdt_overlay_stacked_copy; - int ret = -ENOMEM; - - ut_assertok(fdt_check_header(fdt_base)); - ut_assertok(fdt_check_header(fdt_overlay)); - - fdt = malloc(FDT_COPY_SIZE); - if (!fdt) - goto err1; - - fdt_overlay_copy = malloc(FDT_COPY_SIZE); - if (!fdt_overlay_copy) - goto err2; - - fdt_overlay_stacked_copy = malloc(FDT_COPY_SIZE); - if (!fdt_overlay_stacked_copy) - goto err3; - - /* - * Resize the FDT to 4k so that we have room to operate on - * - * (and relocate it since the memory might be mapped - * read-only) - */ - ut_assertok(fdt_open_into(fdt_base, fdt, FDT_COPY_SIZE)); - - /* - * Resize the overlay to 4k so that we have room to operate on - * - * (and relocate it since the memory might be mapped - * read-only) - */ - ut_assertok(fdt_open_into(fdt_overlay, fdt_overlay_copy, - FDT_COPY_SIZE)); - - /* - * Resize the stacked overlay to 4k so that we have room to operate on - * - * (and relocate it since the memory might be mapped - * read-only) - */ - ut_assertok(fdt_open_into(fdt_overlay_stacked, fdt_overlay_stacked_copy, - FDT_COPY_SIZE)); - - /* Apply the overlay */ - ut_assertok(fdt_overlay_apply(fdt, fdt_overlay_copy)); - - /* Apply the stacked overlay */ - ut_assertok(fdt_overlay_apply(fdt, fdt_overlay_stacked_copy)); - - ret = cmd_ut_category(uts, "overlay", "", tests, n_ents, argc, argv); - - free(fdt_overlay_stacked_copy); -err3: - free(fdt_overlay_copy); -err2: - free(fdt); -err1: - return ret; -} diff --git a/test/overlay/test-fdt-base.dts b/test/overlay/test-fdt-base.dts deleted file mode 100644 index 38278334e4d..00000000000 --- a/test/overlay/test-fdt-base.dts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (c) 2016 NextThing Co - * Copyright (c) 2016 Free Electrons - */ - -/dts-v1/; - -/ { - test: test-node { - test-int-property = <42>; - test-str-property = "foo"; - - subtest: sub-test-node { - sub-test-property; - }; - }; -}; - - diff --git a/test/overlay/test-fdt-overlay-stacked.dtso b/test/overlay/test-fdt-overlay-stacked.dtso deleted file mode 100644 index 6411adec539..00000000000 --- a/test/overlay/test-fdt-overlay-stacked.dtso +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (c) 2016 NextThing Co - * Copyright (c) 2016 Free Electrons - * Copyright (c) 2018 Konsulko Group - */ - -/dts-v1/; -/plugin/; - -/ { - /* Test that we can reference an overlay symbol */ - fragment@0 { - target = <&local>; - - __overlay__ { - stacked-test-int-property = <43>; - }; - }; -}; diff --git a/test/overlay/test-fdt-overlay.dtso b/test/overlay/test-fdt-overlay.dtso deleted file mode 100644 index 5a21b346d07..00000000000 --- a/test/overlay/test-fdt-overlay.dtso +++ /dev/null @@ -1,95 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (c) 2016 NextThing Co - * Copyright (c) 2016 Free Electrons - */ - -/dts-v1/; -/plugin/; - -/ { - /* Test that we can change an int by another */ - fragment@0 { - target = <&test>; - - __overlay__ { - test-int-property = <43>; - }; - }; - - /* Test that we can replace a string by a longer one */ - fragment@1 { - target = <&test>; - - __overlay__ { - test-str-property = "foobar"; - }; - }; - - /* Test that we add a new property */ - fragment@2 { - target = <&test>; - - __overlay__ { - test-str-property-2 = "foobar2"; - }; - }; - - /* Test that we add a new node (by phandle) */ - fragment@3 { - target = <&test>; - - __overlay__ { - new-node { - new-property; - }; - }; - }; - - /* Test that we add a new node (by path) */ - fragment@4 { - target-path = "/"; - - __overlay__ { - new-node { - new-property; - }; - }; - }; - - fragment@5 { - target-path = "/"; - - __overlay__ { - local: new-local-node { - new-property; - }; - }; - }; - - fragment@6 { - target-path = "/"; - - __overlay__ { - test-phandle = <&test>, <&local>; - }; - }; - - fragment@7 { - target-path = "/"; - - __overlay__ { - test-several-phandle = <&local>, <&local>; - }; - }; - - fragment@8 { - target = <&test>; - - __overlay__ { - sub-test-node { - new-sub-test-property; - }; - }; - }; -}; |
