Check that a variable defined in /config/environment is found in the
run-time environment, and that clearing fdt_env_path from within that
node works.

Reviewed-by: Simon Glass <s...@chromium.org>
Signed-off-by: Rasmus Villemoes <rasmus.villem...@prevas.dk>
---
 arch/sandbox/dts/test.dts   |  7 +++++++
 configs/sandbox64_defconfig |  1 +
 configs/sandbox_defconfig   |  1 +
 test/env/Makefile           |  1 +
 test/env/fdt.c              | 20 ++++++++++++++++++++
 5 files changed, 30 insertions(+)
 create mode 100644 test/env/fdt.c

diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 48240aa26f..8dfeab8562 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -53,6 +53,13 @@
                osd0 = "/osd";
        };
 
+       config {
+               environment {
+                       from_fdt = "yes";
+                       fdt_env_path = "";
+               };
+       };
+
        audio: audio-codec {
                compatible = "sandbox,audio-codec";
                #sound-dai-cells = <1>;
diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
index 4648808d51..b193a83b5c 100644
--- a/configs/sandbox64_defconfig
+++ b/configs/sandbox64_defconfig
@@ -91,6 +91,7 @@ CONFIG_ENV_IS_NOWHERE=y
 CONFIG_ENV_IS_IN_EXT4=y
 CONFIG_ENV_EXT4_INTERFACE="host"
 CONFIG_ENV_EXT4_DEVICE_AND_PART="0:0"
+CONFIG_ENV_IMPORT_FDT=y
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NETCONSOLE=y
 CONFIG_IP_DEFRAG=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index 6038dcba95..832a7fbf3e 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -106,6 +106,7 @@ CONFIG_ENV_IS_NOWHERE=y
 CONFIG_ENV_IS_IN_EXT4=y
 CONFIG_ENV_EXT4_INTERFACE="host"
 CONFIG_ENV_EXT4_DEVICE_AND_PART="0:0"
+CONFIG_ENV_IMPORT_FDT=y
 CONFIG_BOOTP_SEND_HOSTNAME=y
 CONFIG_NETCONSOLE=y
 CONFIG_IP_DEFRAG=y
diff --git a/test/env/Makefile b/test/env/Makefile
index 5c8eae31b0..170bece3d6 100644
--- a/test/env/Makefile
+++ b/test/env/Makefile
@@ -5,3 +5,4 @@
 obj-y += cmd_ut_env.o
 obj-y += attr.o
 obj-y += hashtable.o
+obj-y += fdt.o
diff --git a/test/env/fdt.c b/test/env/fdt.c
new file mode 100644
index 0000000000..30bfa88c35
--- /dev/null
+++ b/test/env/fdt.c
@@ -0,0 +1,20 @@
+#include <common.h>
+#include <command.h>
+#include <env_attr.h>
+#include <test/env.h>
+#include <test/ut.h>
+
+static int env_test_fdt_import(struct unit_test_state *uts)
+{
+       const char *val;
+
+       val = env_get("from_fdt");
+       ut_assertnonnull(val);
+       ut_asserteq_str("yes", val);
+
+       val = env_get("fdt_env_path");
+       ut_assertnull(val);
+
+       return 0;
+}
+ENV_TEST(env_test_fdt_import, 0);
-- 
2.29.2

Reply via email to