feat: 支持任务栈可配置

支持liteos_m 任务栈可配置
支持pthread 任务栈可配置
支持cmsis 任务栈可配置

BREAKING CHANGE:
pthread_create 支持任务栈设置
osThreadNew 支持任务栈设置
TSK_INIT_PARAM_S 结构体添加stackAddr 字段

Signed-off-by: zhushengle <zhushengle@huawei.com>
Change-Id: Ifa2a3581b705631cc83cbde6182a39c28d66de2a
This commit is contained in:
zhushengle
2022-02-21 09:08:05 +08:00
parent 4983542b46
commit 96cc92d035
35 changed files with 387 additions and 106 deletions

View File

@@ -67,7 +67,7 @@ static UINT32 Testcase(VOID)
HwiIrqParam irqParam;
(void)memset_s(&irqParam, sizeof(HwiIrqParam), 0, sizeof(HwiIrqParam));
irqParam.pDevId = 0;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task.pcName = "Tsk015A";

View File

@@ -102,7 +102,7 @@ static UINT32 Testcase(VOID)
(void)memset_s(&irqParam, sizeof(HwiIrqParam), 0, sizeof(HwiIrqParam));
irqParam.pDevId = 0;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task.pcName = "HwiTsk016A";

View File

@@ -66,7 +66,7 @@ EXIT:
static VOID HwiF01(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
TestHwiClear(HWI_NUM_TEST);

View File

@@ -73,7 +73,7 @@ static UINT32 Testcase(VOID)
(void)memset_s(&irqParam, sizeof(HwiIrqParam), 0, sizeof(HwiIrqParam));
irqParam.pDevId = 0;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task.pcName = "HwiTsk018A";

View File

@@ -82,7 +82,7 @@ static UINT32 Testcase(VOID)
(void)memset_s(&irqParam, sizeof(HwiIrqParam), 0, sizeof(HwiIrqParam));
irqParam.pDevId = 0;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task.pcName = "HwiTsk019A";

View File

@@ -52,7 +52,7 @@ EXIT:
static VOID HwiF01(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
TestHwiClear(HWI_NUM_TEST);
@@ -100,7 +100,7 @@ static UINT32 Testcase(VOID)
(void)memset_s(&irqParam, sizeof(HwiIrqParam), 0, sizeof(HwiIrqParam));
irqParam.pDevId = 0;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task.pcName = "HwiTsk020A";

View File

@@ -47,7 +47,7 @@ EXIT:
static VOID HwiF01(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
TestHwiClear(HWI_NUM_TEST);
@@ -92,7 +92,7 @@ static UINT32 Testcase(VOID)
(void)memset_s(&irqParam, sizeof(HwiIrqParam), 0, sizeof(HwiIrqParam));
irqParam.pDevId = 0;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task.pcName = "HwiTsk021A";

View File

@@ -86,7 +86,7 @@ static UINT32 Testcase(VOID)
(void)memset_s(&irqParam, sizeof(HwiIrqParam), 0, sizeof(HwiIrqParam));
irqParam.pDevId = 0;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
task.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task.pcName = "HwiTask024A";

View File

@@ -74,8 +74,8 @@ static VOID TaskF02(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task2;
TSK_INIT_PARAM_S task = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount = 0;

View File

@@ -46,7 +46,7 @@ static VOID TaskF01(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
ret = LOS_MuxCreate(&g_mutexTest);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);

View File

@@ -55,7 +55,7 @@ static VOID TaskF01(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
ret = LOS_MuxCreate(&g_mutexTest);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);

View File

@@ -59,7 +59,7 @@ static VOID TaskF01(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
ret = LOS_MuxCreate(&g_mutexTest);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);

View File

@@ -54,8 +54,8 @@ static VOID TaskF01(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task2;
TSK_INIT_PARAM_S task = {0};
TSK_INIT_PARAM_S task2 = {0};
ret = LOS_MuxCreate(&g_mutexTest);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);

View File

@@ -61,7 +61,7 @@ static VOID TaskF01(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
ret = LOS_MuxCreate(&g_mutexTest);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);

View File

@@ -56,7 +56,7 @@ static VOID TaskF01(void)
VOID TaskF02(void)
{
UINT32 ret;
TSK_INIT_PARAM_S task1;
TSK_INIT_PARAM_S task1 = {0};
g_testCount++;
@@ -83,7 +83,7 @@ VOID TaskF02(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;

View File

@@ -57,7 +57,7 @@ static VOID TaskF01(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;

View File

@@ -47,7 +47,7 @@ static VOID TaskF01(void)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;

View File

@@ -85,7 +85,8 @@ static VOID TaskFuncB(VOID)
static VOID TaskFuncA(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1, task2;
TSK_INIT_PARAM_S task1 = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount++;
@@ -144,7 +145,7 @@ static VOID TaskFuncA(VOID)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;

View File

@@ -78,7 +78,8 @@ static VOID TaskFuncB(VOID)
static VOID TaskFuncA(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1, task2;
TSK_INIT_PARAM_S task1 = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount++;
ICUNIT_ASSERT_EQUAL_VOID(g_testCount, 1, g_testCount); // 1, Here, assert that g_testCount is equal to 1.
@@ -123,7 +124,7 @@ static VOID TaskFuncA(VOID)
static UINT32 Testcase(void)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;
ret = LOS_MuxCreate(&g_mutexTest1);

View File

@@ -78,7 +78,8 @@ static VOID TaskFuncC(VOID)
static VOID TaskFuncA(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1, task2;
TSK_INIT_PARAM_S task1 = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount++;
ICUNIT_ASSERT_EQUAL_VOID(g_testCount, 1, g_testCount); // 1, Here, assert that g_testCount is equal to 1.
@@ -128,7 +129,7 @@ static VOID TaskFuncA(VOID)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;
ret = LOS_MuxCreate(&g_mutexTest1);

View File

@@ -73,7 +73,8 @@ static VOID TaskFuncB(VOID)
static VOID TaskFuncA(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1, task2;
TSK_INIT_PARAM_S task1 = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount++;
ICUNIT_ASSERT_EQUAL_VOID(g_testCount, 1, g_testCount); // 1, Here, assert that g_testCount is equal to 1.
@@ -121,7 +122,7 @@ static VOID TaskFuncA(VOID)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;
ret = LOS_MuxCreate(&g_mutexTest1);

View File

@@ -76,7 +76,8 @@ static VOID TaskFuncB(VOID)
static VOID TaskFuncA(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1, task2;
TSK_INIT_PARAM_S task1 = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount++;
ICUNIT_ASSERT_EQUAL_VOID(g_testCount, 1, g_testCount); // 1, Here, assert that g_testCount is equal to 1.
@@ -127,7 +128,7 @@ static VOID TaskFuncA(VOID)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;
ret = LOS_MuxCreate(&g_mutexTest1);

View File

@@ -81,7 +81,8 @@ static VOID TaskFuncB(VOID)
static VOID TaskFuncA(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1, task2;
TSK_INIT_PARAM_S task1 = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount++;
ICUNIT_ASSERT_EQUAL_VOID(g_testCount, 1, g_testCount); // 1, Here, assert that g_testCount is equal to 1.
@@ -123,7 +124,7 @@ static VOID TaskFuncA(VOID)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;
ret = LOS_MuxCreate(&g_mutexTest1);

View File

@@ -79,7 +79,8 @@ static VOID TaskFuncB(VOID)
static VOID TaskFuncA(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1, task2;
TSK_INIT_PARAM_S task1 = {0};
TSK_INIT_PARAM_S task2 = {0};
g_testCount++;
ICUNIT_ASSERT_EQUAL_VOID(g_testCount, 1, g_testCount); // 1, Here, assert that g_testCount is equal to 1.
@@ -121,7 +122,7 @@ static VOID TaskFuncA(VOID)
static UINT32 Testcase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task;
TSK_INIT_PARAM_S task = {0};
g_testCount = 0;
ret = LOS_MuxCreate(&g_mutexTest1);

View File

@@ -69,7 +69,7 @@ static UINT32 Testcase(VOID)
CHAR buff1[8] = "UniDSP";
TSK_INIT_PARAM_S task1 = { 0 };
TSK_INIT_PARAM_S task2;
TSK_INIT_PARAM_S task2 = { 0 };
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)ItQueueHead032F01;
task1.pcName = "TskName1";

View File

@@ -155,6 +155,8 @@ static_library("test_task") {
"It_los_task_126.c",
"It_los_task_127.c",
"It_los_task_128.c",
"It_los_task_129.c",
"It_los_task_130.c",
]
configs += [ "//kernel/liteos_m/testsuites:include" ]

View File

@@ -128,6 +128,9 @@ VOID ItSuiteLosTask()
ItLosTask126();
ItLosTask127();
ItLosTask128();
ItLosTask129();
ItLosTask130();
#if (LOS_KERNEL_TEST_FULL == 1)
ItLosTask039();
ItLosTask040();

View File

@@ -183,6 +183,8 @@ extern VOID ItLosTask125(VOID);
extern VOID ItLosTask126(VOID);
extern VOID ItLosTask127(VOID);
extern VOID ItLosTask128(VOID);
extern VOID ItLosTask129(VOID);
extern VOID ItLosTask130(VOID);
#ifdef __cplusplus
#if __cplusplus

View File

@@ -0,0 +1,78 @@
/*
* Copyright (c) 2021-2021 Huawei Device Co., Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its contributors may be used
* to endorse or promote products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "osTest.h"
#include "It_los_task.h"
static VOID *TaskDeatchf01(void *argument)
{
g_testCount++;
return NULL;
}
static UINT32 TestCase(VOID)
{
UINT32 ret;
UINT32 taskID;
TSK_INIT_PARAM_S osTaskInitParam = { 0 };
VOID *taskStack = NULL;
g_testCount = 0;
osTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskDeatchf01;
osTaskInitParam.uwStackSize = OS_TSK_TEST_STACK_SIZE;
osTaskInitParam.pcName = "deatch";
osTaskInitParam.usTaskPrio = TASK_PRIO_TEST - 5; /* 5: Relatively high priority */
osTaskInitParam.uwResved = LOS_TASK_ATTR_JOINABLE;
taskStack = LOS_MemAlloc(OS_TASK_STACK_ADDR, osTaskInitParam.uwStackSize);
osTaskInitParam.stackAddr = (UINTPTR)taskStack;
ICUNIT_ASSERT_NOT_EQUAL(osTaskInitParam.stackAddr, 0, osTaskInitParam.stackAddr);
ret = LOS_TaskCreate(&taskID, &osTaskInitParam);
ICUNIT_ASSERT_EQUAL(ret, 0, ret);
ICUNIT_ASSERT_EQUAL(g_testCount, 1, g_testCount);
ret = LOS_TaskJoin(taskID, NULL);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
ret = LOS_TaskDelete(taskID);
ICUNIT_ASSERT_EQUAL(ret, LOS_ERRNO_TSK_NOT_CREATED, ret);
ret = LOS_MemFree(OS_TASK_STACK_ADDR, taskStack);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
return LOS_OK;
}
VOID ItLosTask129(VOID) // IT_Layer_ModuleORFeature_No
{
TEST_ADD_CASE("ItLosTask129", TestCase, TEST_LOS, TEST_TASK, TEST_LEVEL0, TEST_FUNCTION);
}

View File

@@ -0,0 +1,139 @@
/*
* Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved.
* Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its contributors may be used
* to endorse or promote products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "osTest.h"
#include "It_los_task.h"
static VOID TaskF02(VOID)
{
UINT32 ret;
ICUNIT_GOTO_EQUAL(g_testCount, 2, g_testCount, EXIT1); // 2, Here, assert that g_testCount is equal to 2.
g_testCount++;
ret = LOS_TaskResume(g_testTaskID01);
ICUNIT_ASSERT_EQUAL_VOID(ret, LOS_OK, ret);
ICUNIT_GOTO_EQUAL(g_testCount, 4, g_testCount, EXIT2); // 4, Here, assert that g_testCount is equal to 4.
g_testCount++;
LOS_TaskDelete(g_testTaskID02);
return;
EXIT1:
LOS_TaskDelete(g_testTaskID01);
EXIT2:
LOS_TaskDelete(g_testTaskID02);
return;
}
static VOID TaskF01(VOID)
{
UINT32 ret;
ICUNIT_GOTO_EQUAL(g_testCount, 0, g_testCount, EXIT2);
g_testCount++;
ret = LOS_TaskSuspend(g_testTaskID01);
ICUNIT_ASSERT_EQUAL_VOID(ret, LOS_OK, ret);
ICUNIT_GOTO_EQUAL(g_testCount, 3, g_testCount, EXIT1); // 3, Here, assert that g_testCount is equal to 3.
g_testCount++;
LOS_TaskDelete(g_testTaskID01);
return;
EXIT1:
LOS_TaskDelete(g_testTaskID02);
EXIT2:
LOS_TaskDelete(g_testTaskID01);
return;
}
static UINT32 TestCase(VOID)
{
UINT32 ret;
TSK_INIT_PARAM_S task1 = { 0 };
VOID *taskStack1 = NULL;
VOID *taskStack2 = NULL;
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task1.uwStackSize = TASK_STACK_SIZE_TEST;
task1.pcName = "Tsk058A";
task1.usTaskPrio = TASK_PRIO_TEST - 2; // 2, set new task priority, it is higher than the current task.
g_testCount = 0;
taskStack1 = LOS_MemAlloc(OS_TASK_STACK_ADDR, task1.uwStackSize);
task1.stackAddr = (UINTPTR)taskStack1;
ICUNIT_ASSERT_NOT_EQUAL(task1.stackAddr, 0, task1.stackAddr);
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT);
ICUNIT_GOTO_EQUAL(g_testCount, 1, g_testCount, EXIT);
g_testCount++;
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF02;
task1.pcName = "Tsk058B";
task1.usTaskPrio = TASK_PRIO_TEST - 1;
taskStack2 = LOS_MemAlloc(OS_TASK_STACK_ADDR, task1.uwStackSize);
task1.stackAddr = (UINTPTR)taskStack2;
ICUNIT_GOTO_NOT_EQUAL(task1.stackAddr, 0, task1.stackAddr, EXIT);
ret = LOS_TaskCreate(&g_testTaskID02, &task1);
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT);
ICUNIT_GOTO_EQUAL(g_testCount, 5, g_testCount, EXIT); // 5, Here, assert that g_testCount is equal to 5.
ret = LOS_MemFree(OS_TASK_STACK_ADDR, taskStack1);
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT);
ret = LOS_MemFree(OS_TASK_STACK_ADDR, taskStack2);
ICUNIT_GOTO_EQUAL(ret, LOS_OK, ret, EXIT);
return LOS_OK;
EXIT:
LOS_TaskDelete(g_testTaskID01);
(VOID)LOS_MemFree(OS_TASK_STACK_ADDR, taskStack1);
(VOID)LOS_MemFree(OS_TASK_STACK_ADDR, taskStack2);
return LOS_OK;
}
VOID ItLosTask130(VOID) // IT_Layer_ModuleORFeature_No
{
TEST_ADD_CASE("ItLosTask130", TestCase, TEST_LOS, TEST_TASK, TEST_LEVEL1, TEST_FUNCTION);
}