X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=service%2Fsystem%2Ftask_manager%2Fserver%2Fsrc%2Ftskm_debug.cpp;fp=service%2Fsystem%2Ftask_manager%2Fserver%2Fsrc%2Ftskm_debug.cpp;h=5881f9afeceb95f20ecbcf474e7a12f21f418f3d;hb=17cf21bcf8a2e29d2cbcf0a313474d2a4ee44f5d;hp=0000000000000000000000000000000000000000;hpb=9e86046cdb356913ae026f616e5bf17f6f238aa5;p=staging%2Fbasesystem.git diff --git a/service/system/task_manager/server/src/tskm_debug.cpp b/service/system/task_manager/server/src/tskm_debug.cpp new file mode 100755 index 0000000..5881f9a --- /dev/null +++ b/service/system/task_manager/server/src/tskm_debug.cpp @@ -0,0 +1,286 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "tskm_debug.h" + +const char* +tskm_convState2Str(TSKM_STATE_t state) { + const char* ret = "UNKNONW"; + switch (state) { // LCOV_EXCL_BR_LINE 7:debug code + case TSKM_ST_ACCOFF: + ret = "ACCOFF"; + break; + case TSKM_ST_ACCON: + ret = "ACCON"; + break; + case TSKM_ST_WAKEUP: + ret = "WAKEUP"; + break; + case TSKM_ST_RUNNING: + ret = "RUNNING"; + break; + case TSKM_ST_DOWN: + ret = "DOWN"; + break; + } + return ret; +} + +const char* +tskm_convEvent2Str(TSKM_EVENT_t event) { + switch (event) { // LCOV_EXCL_BR_LINE 7:debug code + case TSKM_EV_NOP: + return "NOP"; + case TSKM_EV_PRI_REQ_WAKEUP: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REQ_WAKEUP"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REQ_DOWN: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REQ_DOWN"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REQ_TOUCH: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REQ_TOUCH"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REQ_DEBUGDUMP: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REQ_DEBUGDUMP"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REP_LOWMEM: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REP_LOWMEM"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REP_WAKEUP_COMP: + return "PRI_REP_WAKEUP_COMP"; + case TSKM_EV_PRI_REP_DOWN_COMP: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REP_DOWN_COMP"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REP_CONNECT: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REP_CONNECT"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REP_DISCONNECT: + return "PRI_REP_DISCONNECT"; + case TSKM_EV_PRI_RES_WAKEUP: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_RES_WAKEUP"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_RES_DOWN: + return "PRI_RES_DOWN"; + case TSKM_EV_PRI_RES_DEBUGDUMP: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_RES_DEBUGDUMP"; + // LCOV_EXCL_STOP + case TSKM_EV_PRI_REQ_EXIT: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "PRI_REQ_EXIT"; + // LCOV_EXCL_STOP + case TSKM_EV_SVC_REP_TERM: + return "SVC_REP_TERM"; + case TSKM_EV_API_REQ_REBOOT: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "API_REQ_REBOOT"; + // LCOV_EXCL_STOP + case TSKM_EV_API_REQ_SVC_CTL: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "API_REQ_SVC_CTL"; + // LCOV_EXCL_STOP + case TSKM_EV_API_REQ_SVC_DISABLE: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "API_REQ_SVC_DISABLE"; + // LCOV_EXCL_STOP + case TSKM_EV_LCL_REQ_STOP: + return "API_REQ_STOP"; + case TSKM_EV_LCL_CHG_SVC_STATE: + return "LCL_CHG_SVC_STATE"; + case TSKM_EV_LCL_REQ_SDUMP: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "LCL_REQ_SDUMP"; + // LCOV_EXCL_STOP + case TSKM_EV_LCL_REP_TIMEOUT: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "LCL_REP_TIMEOUT"; + // LCOV_EXCL_STOP + case TSKM_EV_LCL_REP_POLLING: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "LCL_REP_POLLING"; + // LCOV_EXCL_STOP + case TSKM_EV_LCL_REP_LOWMEM: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "LCL_REP_LOWMEM"; + // LCOV_EXCL_STOP + case TSKM_EV_LCL_REQ_TRANS_STEP: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "LCL_REQ_TRANS_STEP"; + // LCOV_EXCL_STOP + default: + break; + } + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "UNKNOWN"; + // LCOV_EXCL_STOP +} + +const char* +tskm_convInitCompId2Str(uint64_t compId) { + switch (compId) { // LCOV_EXCL_BR_LINE 7:debug code + case INI_INITCOMP_NONE: + return "NONE"; + case INI_INITCOMP_ON_START: + return "ONSTART"; + case INI_INITCOMP_NVM_ACCESS: + return "NVM_ACCESS"; + case INI_INITCOMP_TEST0: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST0"; + // LCOV_EXCL_STOP + case INI_INITCOMP_TEST1: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST1"; + // LCOV_EXCL_STOP + case INI_INITCOMP_TEST2: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST2"; + // LCOV_EXCL_STOP + case INI_INITCOMP_TEST3: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST3"; + // LCOV_EXCL_STOP + } + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "UNKNONW"; + // LCOV_EXCL_STOP +} + +const char* +tskm_convTermCompId2Str(uint64_t compId) { + switch (compId) { // LCOV_EXCL_BR_LINE 7:debug code + case INI_TERMCOMP_NONE: + return "NONE"; + case INI_TERMCOMP_ACTIVITYMGR: + return "ACTIVITYMGR"; + case INI_TERMCOMP_RESIDENT: + return "RESIDENT"; + case INI_TERMCOMP_TRANSIENT: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TRANSIENT"; + // LCOV_EXCL_STOP + case INI_TERMCOMP_TEST0: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST0"; + // LCOV_EXCL_STOP + case INI_TERMCOMP_TEST1: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST1"; + // LCOV_EXCL_STOP + case INI_TERMCOMP_TEST2: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST2"; + // LCOV_EXCL_STOP + case INI_TERMCOMP_TEST3: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "TEST3"; + // LCOV_EXCL_STOP + } + return "UNKNONW"; +} + +const char* +tskm_convSvcState2Str(TSKM_SVC_STATE_t state) { + switch (state) { // LCOV_EXCL_BR_LINE 7:debug code + case TSKM_SVC_DORMANT: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "DORMANT"; + // LCOV_EXCL_STOP + case TSKM_SVC_WAITCONNECT: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "WAITCONNECT"; + // LCOV_EXCL_STOP + case TSKM_SVC_WAKEUP: + return "WAKEUP"; + case TSKM_SVC_RUNNING: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "RUNNING"; + // LCOV_EXCL_STOP + case TSKM_SVC_DOWN: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "DOWN"; + // LCOV_EXCL_STOP + case TSKM_SVC_FINDOWN: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "FINDOWN"; + // LCOV_EXCL_STOP + case TSKM_SVC_DISABLE: + // LCOV_EXCL_START 7:debug code + AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert + return "DISABLE"; + // LCOV_EXCL_STOP + default: + break; + } + return "UNKNONW"; +} + +TSKM_STATIC void svcDump(TSKM_SVC_CTX_t* p_svc) { + TSKM_PRINTF(TSKM_LOG_STATE, "<%s>", p_svc->attr->name); + TSKM_PRINTF(TSKM_LOG_STATE, " pid:%d svcId:%#x state:%s waitResCnt:%d", + p_svc->pid, p_svc->attr->svcId, + tskm_convSvcState2Str(p_svc->state), p_svc->waitResCnt); +} + +void tskm_svcsDump(TSKM_SVCS_CTX_t* p_svcs) { + uint32_t ii; + for (ii = 0; ii < p_svcs->svcNum; ii++) { + svcDump(&p_svcs->svcList[ii]); + } +} +