Am 12. September 2020 20:28:50 MESZ schrieb Simon Glass <s...@chromium.org>:
>This driver interferes with other sandbox tests since it causes log
>output
>to be interspersed with "No ethernet found." messages. Disable this
>driver
>by default.
>
>Enable it for the syslog tests so that they still pass.
>
>Signed-off-by: Simon Glass <s...@chromium.org>
>---
>
> common/log_syslog.c           |  1 -
> test/log/syslog_test.c        | 24 ++++++++++++++++++++++++
> test/log/syslog_test.h        | 16 ++++++++++++++++
> test/log/syslog_test_ndebug.c |  2 ++
> 4 files changed, 42 insertions(+), 1 deletion(-)
>
>diff --git a/common/log_syslog.c b/common/log_syslog.c
>index cf0dbba9bf5..149ff5af310 100644
>--- a/common/log_syslog.c
>+++ b/common/log_syslog.c
>@@ -115,5 +115,4 @@ out:
> LOG_DRIVER(syslog) = {
>       .name   = "syslog",
>       .emit   = log_syslog_emit,
>-      .flags  = LOGDF_ENABLE,

What does the flag removal change outside Python testing?

Best regards

Heinrich

> };
>diff --git a/test/log/syslog_test.c b/test/log/syslog_test.c
>index abcb9ffd28b..febaca68e8d 100644
>--- a/test/log/syslog_test.c
>+++ b/test/log/syslog_test.c
>@@ -56,6 +56,20 @@ int sb_log_tx_handler(struct udevice *dev, void
>*packet, unsigned int len)
>       return 0;
> }
> 
>+int syslog_test_setup(struct unit_test_state *uts)
>+{
>+      ut_assertok(log_device_set_enable(LOG_GET_DRIVER(syslog), true));
>+
>+      return 0;
>+}
>+
>+int syslog_test_finish(struct unit_test_state *uts)
>+{
>+      ut_assertok(log_device_set_enable(LOG_GET_DRIVER(syslog), false));
>+
>+      return 0;
>+}
>+
> /**
>  * log_test_syslog_err() - test log_err() function
>  *
>@@ -67,6 +81,7 @@ static int log_test_syslog_err(struct unit_test_state
>*uts)
>       int old_log_level = gd->default_log_level;
>       struct sb_log_env env;
> 
>+      ut_assertok(syslog_test_setup(uts));
>       gd->log_fmt = LOGF_TEST;
>       gd->default_log_level = LOGL_INFO;
>       env_set("ethact", "eth@10002000");
>@@ -82,6 +97,7 @@ static int log_test_syslog_err(struct unit_test_state
>*uts)
>       sandbox_eth_set_tx_handler(0, NULL);
>       gd->default_log_level = old_log_level;
>       gd->log_fmt = log_get_default_format();
>+      ut_assertok(syslog_test_finish(uts));
> 
>       return 0;
> }
>@@ -98,6 +114,7 @@ static int log_test_syslog_warning(struct
>unit_test_state *uts)
>       int old_log_level = gd->default_log_level;
>       struct sb_log_env env;
> 
>+      ut_assertok(syslog_test_setup(uts));
>       gd->log_fmt = LOGF_TEST;
>       gd->default_log_level = LOGL_INFO;
>       env_set("ethact", "eth@10002000");
>@@ -114,6 +131,7 @@ static int log_test_syslog_warning(struct
>unit_test_state *uts)
>       ut_assertnull(env.expected);
>       gd->default_log_level = old_log_level;
>       gd->log_fmt = log_get_default_format();
>+      ut_assertok(syslog_test_finish(uts));
> 
>       return 0;
> }
>@@ -130,6 +148,7 @@ static int log_test_syslog_notice(struct
>unit_test_state *uts)
>       int old_log_level = gd->default_log_level;
>       struct sb_log_env env;
> 
>+      ut_assertok(syslog_test_setup(uts));
>       gd->log_fmt = LOGF_TEST;
>       gd->default_log_level = LOGL_INFO;
>       env_set("ethact", "eth@10002000");
>@@ -146,6 +165,7 @@ static int log_test_syslog_notice(struct
>unit_test_state *uts)
>       ut_assertnull(env.expected);
>       gd->default_log_level = old_log_level;
>       gd->log_fmt = log_get_default_format();
>+      ut_assertok(syslog_test_finish(uts));
> 
>       return 0;
> }
>@@ -162,6 +182,7 @@ static int log_test_syslog_info(struct
>unit_test_state *uts)
>       int old_log_level = gd->default_log_level;
>       struct sb_log_env env;
> 
>+      ut_assertok(syslog_test_setup(uts));
>       gd->log_fmt = LOGF_TEST;
>       gd->default_log_level = LOGL_INFO;
>       env_set("ethact", "eth@10002000");
>@@ -178,6 +199,7 @@ static int log_test_syslog_info(struct
>unit_test_state *uts)
>       ut_assertnull(env.expected);
>       gd->default_log_level = old_log_level;
>       gd->log_fmt = log_get_default_format();
>+      ut_assertok(syslog_test_finish(uts));
> 
>       return 0;
> }
>@@ -194,6 +216,7 @@ static int log_test_syslog_debug(struct
>unit_test_state *uts)
>       int old_log_level = gd->default_log_level;
>       struct sb_log_env env;
> 
>+      ut_assertok(syslog_test_setup(uts));
>       gd->log_fmt = LOGF_TEST;
>       gd->default_log_level = LOGL_DEBUG;
>       env_set("ethact", "eth@10002000");
>@@ -210,6 +233,7 @@ static int log_test_syslog_debug(struct
>unit_test_state *uts)
>       ut_assertnull(env.expected);
>       gd->default_log_level = old_log_level;
>       gd->log_fmt = log_get_default_format();
>+      ut_assertok(syslog_test_finish(uts));
> 
>       return 0;
> }
>diff --git a/test/log/syslog_test.h b/test/log/syslog_test.h
>index 75900f3aad3..1310257bfe1 100644
>--- a/test/log/syslog_test.h
>+++ b/test/log/syslog_test.h
>@@ -47,4 +47,20 @@ struct sb_log_env {
>  */
>int sb_log_tx_handler(struct udevice *dev, void *packet, unsigned int
>len);
> 
>+/**
>+ * syslog_test_setup() - Enable syslog logging ready for tests
>+ *
>+ * @uts: Test state
>+ * @return 0 if OK, -ENOENT if the syslog log driver is not found
>+ */
>+int syslog_test_setup(struct unit_test_state *uts);
>+
>+/**
>+ * syslog_test_finish() - Disable syslog logging after tests
>+ *
>+ * @uts: Test state
>+ * @return 0 if OK, -ENOENT if the syslog log driver is not found
>+ */
>+int syslog_test_finish(struct unit_test_state *uts);
>+
> #endif
>diff --git a/test/log/syslog_test_ndebug.c
>b/test/log/syslog_test_ndebug.c
>index 7815977ea27..c7f5a60861f 100644
>--- a/test/log/syslog_test_ndebug.c
>+++ b/test/log/syslog_test_ndebug.c
>@@ -33,6 +33,7 @@ static int log_test_syslog_nodebug(struct
>unit_test_state *uts)
>       int old_log_level = gd->default_log_level;
>       struct sb_log_env env;
> 
>+      ut_assertok(syslog_test_setup(uts));
>       gd->log_fmt = LOGF_TEST;
>       gd->default_log_level = LOGL_INFO;
>       env_set("ethact", "eth@10002000");
>@@ -49,6 +50,7 @@ static int log_test_syslog_nodebug(struct
>unit_test_state *uts)
>       ut_assertnonnull(env.expected);
>       gd->default_log_level = old_log_level;
>       gd->log_fmt = log_get_default_format();
>+      ut_assertok(syslog_test_finish(uts));
> 
>       return 0;
> }

Reply via email to