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