log: Disable the syslog driver by default
authorSimon Glass <sjg@chromium.org>
Sat, 12 Sep 2020 18:28:50 +0000 (12:28 -0600)
committerTom Rini <trini@konsulko.com>
Sat, 10 Oct 2020 20:50:11 +0000 (16:50 -0400)
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 <sjg@chromium.org>
common/log_syslog.c
test/log/syslog_test.c
test/log/syslog_test.h
test/log/syslog_test_ndebug.c

index 8276883..2ae703f 100644 (file)
@@ -107,5 +107,4 @@ out:
 LOG_DRIVER(syslog) = {
        .name   = "syslog",
        .emit   = log_syslog_emit,
-       .flags  = LOGDF_ENABLE,
 };
index abcb9ff..febaca6 100644 (file)
@@ -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;
 }
index 75900f3..1310257 100644 (file)
@@ -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
index 7815977..c7f5a60 100644 (file)
@@ -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;
 }