Browse Source

sandbox: add test of CONFIG_ENV_IMPORT_FDT

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 <sjg@chromium.org>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
[trini: Conditionalize the test being linked in]
Signed-off-by: Tom Rini <trini@konsulko.com>
Rasmus Villemoes 3 years ago
parent
commit
8c72842af5
5 changed files with 30 additions and 0 deletions
  1. 7 0
      arch/sandbox/dts/test.dts
  2. 1 0
      configs/sandbox64_defconfig
  3. 1 0
      configs/sandbox_defconfig
  4. 1 0
      test/env/Makefile
  5. 20 0
      test/env/fdt.c

+ 7 - 0
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>;

+ 1 - 0
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

+ 1 - 0
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

+ 1 - 0
test/env/Makefile

@@ -5,3 +5,4 @@
 obj-y += cmd_ut_env.o
 obj-y += attr.o
 obj-y += hashtable.o
+obj-$(CONFIG_ENV_IMPORT_FDT) += fdt.o

+ 20 - 0
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);