mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-08 22:24:32 +00:00
c7f5b85034
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>
57 lines
1.5 KiB
C
57 lines
1.5 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (c) 2020, Heinrich Schuchardt <xypron.glpk@gmx.de>
|
|
*
|
|
* Logging function tests for CONFIG_LOG_SYSLOG=y.
|
|
*
|
|
* Invoke the test with: ./u-boot -d arch/sandbox/dts/test.dtb
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <dm/device.h>
|
|
#include <hexdump.h>
|
|
#include <test/log.h>
|
|
#include <test/test.h>
|
|
#include <test/suites.h>
|
|
#include <test/ut.h>
|
|
#include <asm/eth.h>
|
|
#include <syslog_test.h>
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
|
|
/**
|
|
* log_test_syslog_nodebug() - test logging level filter
|
|
*
|
|
* Verify that log_debug() does not lead to a log message if the logging level
|
|
* is set to LOGL_INFO.
|
|
*
|
|
* @uts: unit test state
|
|
* Return: 0 = success
|
|
*/
|
|
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");
|
|
env_set("log_hostname", "sandbox");
|
|
env.expected = "<7>sandbox uboot: log_test_syslog_nodebug() "
|
|
"testing log_debug\n";
|
|
env.uts = uts;
|
|
sandbox_eth_set_tx_handler(0, sb_log_tx_handler);
|
|
/* Used by ut_assert macros in the tx_handler */
|
|
sandbox_eth_set_priv(0, &env);
|
|
log_debug("testing %s\n", "log_debug");
|
|
sandbox_eth_set_tx_handler(0, NULL);
|
|
/* Check that the callback function was not called */
|
|
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;
|
|
}
|
|
LOG_TEST(log_test_syslog_nodebug);
|