blob: 1913e6817a7884a5d7f95010c458d28df63f765f [file] [log] [blame]
Heinrich Schuchardtf433d502020-02-26 21:48:18 +01001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (c) 2020, Heinrich Schuchardt <xypron.glpk@gmx.de>
4 *
5 * Logging function tests for CONFIG_LOG=n.
6 */
7
8/* Needed for testing log_debug() */
9#define DEBUG 1
10
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010011#include <console.h>
Simon Glass8eaaedb2021-05-08 13:46:54 -060012#include <log.h>
Simon Glass3ba929a2020-10-30 21:38:53 -060013#include <asm/global_data.h>
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010014#include <test/log.h>
15#include <test/test.h>
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010016#include <test/ut.h>
17
18DECLARE_GLOBAL_DATA_PTR;
19
20#define BUFFSIZE 32
21
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020022static int log_test_nolog_err(struct unit_test_state *uts)
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010023{
24 char buf[BUFFSIZE];
25
26 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010027 log_err("testing %s\n", "log_err");
28 gd->flags &= ~GD_FLG_RECORD;
29 ut_assertok(ut_check_console_line(uts, "testing log_err"));
Simon Glassc579bd42024-08-22 07:58:03 -060030 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010031 return 0;
32}
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020033LOG_TEST(log_test_nolog_err);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010034
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020035static int log_test_nolog_warning(struct unit_test_state *uts)
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010036{
37 char buf[BUFFSIZE];
38
39 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010040 log_warning("testing %s\n", "log_warning");
41 gd->flags &= ~GD_FLG_RECORD;
42 ut_assertok(ut_check_console_line(uts, "testing log_warning"));
Simon Glassc579bd42024-08-22 07:58:03 -060043 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010044 return 0;
45}
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020046LOG_TEST(log_test_nolog_warning);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010047
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020048static int log_test_nolog_notice(struct unit_test_state *uts)
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010049{
50 char buf[BUFFSIZE];
51
52 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010053 log_notice("testing %s\n", "log_notice");
54 gd->flags &= ~GD_FLG_RECORD;
55 ut_assertok(ut_check_console_line(uts, "testing log_notice"));
Simon Glassc579bd42024-08-22 07:58:03 -060056 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010057 return 0;
58}
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020059LOG_TEST(log_test_nolog_notice);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010060
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020061static int log_test_nolog_info(struct unit_test_state *uts)
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010062{
63 char buf[BUFFSIZE];
64
65 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010066 log_err("testing %s\n", "log_info");
67 gd->flags &= ~GD_FLG_RECORD;
68 ut_assertok(ut_check_console_line(uts, "testing log_info"));
Simon Glassc579bd42024-08-22 07:58:03 -060069 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010070 return 0;
71}
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020072LOG_TEST(log_test_nolog_info);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010073
74#undef _DEBUG
75#define _DEBUG 0
76static int nolog_test_nodebug(struct unit_test_state *uts)
77{
78 char buf[BUFFSIZE];
79
80 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010081 debug("testing %s\n", "debug");
82 gd->flags &= ~GD_FLG_RECORD;
Simon Glassc579bd42024-08-22 07:58:03 -060083 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010084 return 0;
85}
86LOG_TEST(nolog_test_nodebug);
87
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020088static int log_test_nolog_nodebug(struct unit_test_state *uts)
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010089{
90 char buf[BUFFSIZE];
91
92 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010093 log_debug("testing %s\n", "log_debug");
94 gd->flags &= ~GD_FLG_RECORD;
95 ut_assert(!strcmp(buf, ""));
Simon Glassc579bd42024-08-22 07:58:03 -060096 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +010097 return 0;
98}
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +020099LOG_TEST(log_test_nolog_nodebug);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +0100100
101#undef _DEBUG
102#define _DEBUG 1
103static int nolog_test_debug(struct unit_test_state *uts)
104{
105 char buf[BUFFSIZE];
106
107 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +0100108 debug("testing %s\n", "debug");
109 gd->flags &= ~GD_FLG_RECORD;
110 ut_assertok(ut_check_console_line(uts, "testing debug"));
Simon Glassc579bd42024-08-22 07:58:03 -0600111 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +0100112 return 0;
113}
114LOG_TEST(nolog_test_debug);
115
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +0200116static int log_test_nolog_debug(struct unit_test_state *uts)
Heinrich Schuchardtf433d502020-02-26 21:48:18 +0100117{
118 char buf[BUFFSIZE];
119
120 memset(buf, 0, BUFFSIZE);
Heinrich Schuchardtf433d502020-02-26 21:48:18 +0100121 log_debug("testing %s\n", "log_debug");
Simon Glass8eaaedb2021-05-08 13:46:54 -0600122 log(LOGC_NONE, LOGL_DEBUG, "more %s\n", "log_debug");
Heinrich Schuchardtf433d502020-02-26 21:48:18 +0100123 gd->flags &= ~GD_FLG_RECORD;
124 ut_assertok(ut_check_console_line(uts, "testing log_debug"));
Simon Glass8eaaedb2021-05-08 13:46:54 -0600125 ut_assertok(ut_check_console_line(uts, "more log_debug"));
Simon Glassc579bd42024-08-22 07:58:03 -0600126 ut_assert_console_end();
Heinrich Schuchardtf433d502020-02-26 21:48:18 +0100127 return 0;
128}
Heinrich Schuchardt8d9c4c22020-05-06 18:26:08 +0200129LOG_TEST(log_test_nolog_debug);