xref: /aosp_15_r20/external/tpm2-tss/test/unit/log.c (revision 758e9fba6fc9adbf15340f70c73baee7b168b1c9)
1*758e9fbaSOystein Eftevaag /* SPDX-License-Identifier: BSD-2-Clause */
2*758e9fbaSOystein Eftevaag /***********************************************************************
3*758e9fbaSOystein Eftevaag  * Copyright (c) 2019, Infineon Technologies AG
4*758e9fbaSOystein Eftevaag  *
5*758e9fbaSOystein Eftevaag  * All rights reserved.
6*758e9fbaSOystein Eftevaag  ***********************************************************************/
7*758e9fbaSOystein Eftevaag #ifdef HAVE_CONFIG_H
8*758e9fbaSOystein Eftevaag #include <config.h>
9*758e9fbaSOystein Eftevaag #endif
10*758e9fbaSOystein Eftevaag 
11*758e9fbaSOystein Eftevaag #include <inttypes.h>
12*758e9fbaSOystein Eftevaag #include <stdio.h>
13*758e9fbaSOystein Eftevaag #include <stdbool.h>
14*758e9fbaSOystein Eftevaag #include <stdlib.h>
15*758e9fbaSOystein Eftevaag 
16*758e9fbaSOystein Eftevaag #include <setjmp.h>
17*758e9fbaSOystein Eftevaag #include <cmocka.h>
18*758e9fbaSOystein Eftevaag 
19*758e9fbaSOystein Eftevaag #include "tss2_tpm2_types.h"
20*758e9fbaSOystein Eftevaag 
21*758e9fbaSOystein Eftevaag #include "util/io.h"
22*758e9fbaSOystein Eftevaag #define LOGMODULE test
23*758e9fbaSOystein Eftevaag #include "util/log.h"
24*758e9fbaSOystein Eftevaag 
25*758e9fbaSOystein Eftevaag 
26*758e9fbaSOystein Eftevaag static void
execute_doLog(char * env_log_level)27*758e9fbaSOystein Eftevaag execute_doLog(char *env_log_level){
28*758e9fbaSOystein Eftevaag     setenv("TSS2_LOG", env_log_level, 1);
29*758e9fbaSOystein Eftevaag     LOG_DEBUG("test");
30*758e9fbaSOystein Eftevaag     LOG_TRACE("test");
31*758e9fbaSOystein Eftevaag     LOG_INFO("test");
32*758e9fbaSOystein Eftevaag     LOG_WARNING("test");
33*758e9fbaSOystein Eftevaag     LOG_INFO("test");
34*758e9fbaSOystein Eftevaag     /* reset log level for next test */
35*758e9fbaSOystein Eftevaag     LOGMODULE_status = LOGLEVEL_UNDEFINED;
36*758e9fbaSOystein Eftevaag }
37*758e9fbaSOystein Eftevaag 
38*758e9fbaSOystein Eftevaag static void
doLog_test(void ** state)39*758e9fbaSOystein Eftevaag doLog_test (void **state)
40*758e9fbaSOystein Eftevaag {
41*758e9fbaSOystein Eftevaag     execute_doLog("ALL+none");
42*758e9fbaSOystein Eftevaag     execute_doLog("ALL+unused");
43*758e9fbaSOystein Eftevaag     execute_doLog("ALL+error");
44*758e9fbaSOystein Eftevaag     execute_doLog("ALL+warning");
45*758e9fbaSOystein Eftevaag     execute_doLog("ALL+info");
46*758e9fbaSOystein Eftevaag     execute_doLog("ALL+debug");
47*758e9fbaSOystein Eftevaag     execute_doLog("ALL+trace");
48*758e9fbaSOystein Eftevaag     execute_doLog("ALL+xxxxx");
49*758e9fbaSOystein Eftevaag     execute_doLog("marshal+xxxxx");
50*758e9fbaSOystein Eftevaag     execute_doLog("marshal+debug");
51*758e9fbaSOystein Eftevaag     execute_doLog("test+debug");
52*758e9fbaSOystein Eftevaag     execute_doLog("test+xxxx");
53*758e9fbaSOystein Eftevaag     execute_doLog("ukn+xxxx");
54*758e9fbaSOystein Eftevaag     execute_doLog("test+xxxx");
55*758e9fbaSOystein Eftevaag     execute_doLog("TEST+trace");
56*758e9fbaSOystein Eftevaag     execute_doLog("ALL+xxxxx,mashal+xxxx,tcti+DEBug");
57*758e9fbaSOystein Eftevaag     execute_doLog("ALL+none,mashal+WARNING,tcti+DEBug");
58*758e9fbaSOystein Eftevaag }
59*758e9fbaSOystein Eftevaag 
60*758e9fbaSOystein Eftevaag int
main(int argc,char * argv[])61*758e9fbaSOystein Eftevaag main (int argc, char *argv[])
62*758e9fbaSOystein Eftevaag {
63*758e9fbaSOystein Eftevaag     const struct CMUnitTest tests[] = {
64*758e9fbaSOystein Eftevaag         cmocka_unit_test (doLog_test),
65*758e9fbaSOystein Eftevaag     };
66*758e9fbaSOystein Eftevaag     return cmocka_run_group_tests (tests, NULL, NULL);
67*758e9fbaSOystein Eftevaag }
68