fix: kernel接口融合,添加/修改kernel函数

kernel接口融合,添加/修改kernel函数

BREAKING CHANGE:
新增接口:
LOS_TaskResRecycle
LOS_CurrNanosec
LOS_MDelay
接口修改:
LOS_QueueCreate:第一个入参添加const修饰并增加一种异常情况处理
los_memory.c中 OS_ERROR 修改为LOS_NOK,重定义LOS_NOK为(UINT32)-1。
接口位置转移:
LOS_UDelay 由los_task.h/.c 转移到los_tick.h/.c 
宏修改:
LOS_ERRNO_MUX_PEND_INTERR 改名为 LOS_ERRNO_MUX_IN_INTERR
增加宏:

Signed-off-by: LiteOS2021 <dinglu@huawei.com>
This commit is contained in:
LiteOS2021
2022-02-14 11:28:19 +08:00
parent b423d9f7bb
commit cee9714a90
48 changed files with 1306 additions and 88 deletions

View File

@@ -150,6 +150,11 @@ static_library("test_task") {
"It_los_task_121.c",
"It_los_task_122.c",
"It_los_task_123.c",
"It_los_task_124.c",
"It_los_task_125.c",
"It_los_task_126.c",
"It_los_task_127.c",
"It_los_task_128.c",
]
configs += [ "//kernel/liteos_m/testsuites:include" ]

View File

@@ -123,7 +123,11 @@ VOID ItSuiteLosTask()
ItLosTask121();
ItLosTask122();
ItLosTask123();
ItLosTask124();
ItLosTask125();
ItLosTask126();
ItLosTask127();
ItLosTask128();
#if (LOS_KERNEL_TEST_FULL == 1)
ItLosTask039();
ItLosTask040();

View File

@@ -178,6 +178,11 @@ extern VOID ItLosTask120(VOID);
extern VOID ItLosTask121(VOID);
extern VOID ItLosTask122(VOID);
extern VOID ItLosTask123(VOID);
extern VOID ItLosTask124(VOID);
extern VOID ItLosTask125(VOID);
extern VOID ItLosTask126(VOID);
extern VOID ItLosTask127(VOID);
extern VOID ItLosTask128(VOID);
#ifdef __cplusplus
#if __cplusplus

View File

@@ -0,0 +1,90 @@
/*
* 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 UINT32 GetfreeMemSize(void *pool)
{
return LOS_MemPoolSizeGet(pool) - LOS_MemTotalUsedGet(pool);
}
static VOID TaskF01(UINT32 arg)
{
g_testCount++;
return;
}
static UINT32 TestCase(VOID)
{
UINT32 freeMem;
UINT32 freeMem1;
UINT32 freeMem2;
UINT32 freeMem3;
UINT32 freeMem4;
UINT32 ret;
TSK_INIT_PARAM_S task1 = { 0 };
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task1.uwStackSize = TASK_STACK_SIZE_TEST;
task1.pcName = "Tsk124A";
task1.usTaskPrio = 8; // 8, set task priortiy value.
g_testCount = 0;
freeMem = GetfreeMemSize(m_aucSysMem0);
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
ICUNIT_ASSERT_EQUAL(g_testCount, 1, g_testCount);
freeMem1 = GetfreeMemSize(m_aucSysMem0);
LOS_TaskDelete(g_testTaskID01);
freeMem2 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem2, freeMem1, freeMem2);
LOS_TaskResRecycle();
freeMem3 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem3, freeMem, freeMem3);
LOS_TaskDelay(10); // 10, task delay times.
freeMem4 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem4, freeMem, freeMem4);
return LOS_OK;
}
VOID ItLosTask124(VOID) // IT_Layer_ModuleORFeature_No
{
TEST_ADD_CASE("ItLosTask124", TestCase, TEST_LOS, TEST_TASK, TEST_LEVEL0, TEST_FUNCTION);
}

View File

@@ -0,0 +1,92 @@
/*
* 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 UINT32 GetfreeMemSize(void *pool)
{
return LOS_MemPoolSizeGet(pool) - LOS_MemTotalUsedGet(pool);
}
static VOID TaskF01(UINT32 arg)
{
g_testCount++;
return;
}
static UINT32 TestCase(VOID)
{
UINT32 freeMem;
UINT32 freeMem1;
UINT32 freeMem2;
UINT32 freeMem3;
UINT32 freeMem4;
UINT32 ret;
TSK_INIT_PARAM_S task1 = { 0 };
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task1.uwStackSize = TASK_STACK_SIZE_TEST;
task1.pcName = "Tsk125A";
task1.usTaskPrio = 8; // 8, set task priortiy value.
g_testCount = 0;
freeMem = GetfreeMemSize(m_aucSysMem0);
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
ICUNIT_ASSERT_EQUAL(g_testCount, 1, g_testCount);
freeMem1 = GetfreeMemSize(m_aucSysMem0);
LOS_TaskDelete(g_testTaskID01);
freeMem2 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem2, freeMem1, freeMem2);
LOS_TaskDelay(10); // 10, task delay times.
freeMem3 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem3, freeMem, freeMem3);
LOS_TaskResRecycle();
freeMem4 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem4, freeMem, freeMem4);
return LOS_OK;
}
VOID ItLosTask125(VOID) // IT_Layer_ModuleORFeature_No
{
TEST_ADD_CASE("ItLosTask125", TestCase, TEST_LOS, TEST_TASK, TEST_LEVEL0, TEST_FUNCTION);
}

View File

@@ -0,0 +1,87 @@
/*
* 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 UINT32 GetfreeMemSize(void *pool)
{
return LOS_MemPoolSizeGet(pool) - LOS_MemTotalUsedGet(pool);
}
static VOID TaskF01(UINT32 arg)
{
g_testCount++;
return;
}
static UINT32 TestCase(VOID)
{
UINT32 freeMem;
UINT32 freeMem1;
UINT32 freeMem2;
UINT32 freeMem3;
UINT32 freeMem4;
UINT32 ret;
TSK_INIT_PARAM_S task1 = { 0 };
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task1.uwStackSize = TASK_STACK_SIZE_TEST;
task1.pcName = "Tsk016A";
task1.usTaskPrio = 8; // 8, set task priortiy value.
g_testCount = 0;
freeMem = GetfreeMemSize(m_aucSysMem0);
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
ICUNIT_ASSERT_EQUAL(g_testCount, 1, g_testCount);
freeMem1 = GetfreeMemSize(m_aucSysMem0);
LOS_TaskDelay(10); // 10, task delay times.
freeMem2 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem2, freeMem, freeMem2);
LOS_TaskResRecycle();
freeMem3 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem3, freeMem, freeMem3);
return LOS_OK;
}
VOID ItLosTask126(VOID) // IT_Layer_ModuleORFeature_No
{
TEST_ADD_CASE("ItLosTask126", TestCase, TEST_LOS, TEST_TASK, TEST_LEVEL0, TEST_FUNCTION);
}

View File

@@ -0,0 +1,94 @@
/*
* 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 UINT32 GetfreeMemSize(void *pool)
{
return LOS_MemPoolSizeGet(pool) - LOS_MemTotalUsedGet(pool);
}
static VOID TaskF01(UINT32 arg)
{
ICUNIT_GOTO_EQUAL(g_testCount, 0, g_testCount, EXIT);
g_testCount++;
EXIT:
LOS_TaskDelete(g_testTaskID01);
}
static UINT32 TestCase(VOID)
{
UINT32 freeMem;
UINT32 freeMem1;
UINT32 freeMem2;
UINT32 freeMem3;
UINT32 ret;
TSK_INIT_PARAM_S task1 = { 0 };
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task1.uwStackSize = TASK_STACK_SIZE_TEST;
task1.pcName = "Tsk127A";
task1.usTaskPrio = 8; // 8, set task priortiy value.
task1.uwResved = LOS_TASK_ATTR_JOINABLE;
g_testCount = 0;
freeMem = GetfreeMemSize(m_aucSysMem0);
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
freeMem1 = GetfreeMemSize(m_aucSysMem0);
LOS_TaskResRecycle();
freeMem2 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem2, freeMem1, freeMem2);
ret = LOS_TaskJoin(g_testTaskID01, NULL);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
ICUNIT_GOTO_EQUAL(g_testCount, 1, g_testCount, EXIT);
freeMem3 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem3, freeMem, freeMem3);
return LOS_OK;
EXIT:
LOS_TaskDelete(g_testTaskID01);
return LOS_OK;
}
VOID ItLosTask127(VOID) // IT_Layer_ModuleORFeature_No
{
TEST_ADD_CASE("ItLosTask127", TestCase, TEST_LOS, TEST_TASK, TEST_LEVEL0, TEST_FUNCTION);
}

View File

@@ -0,0 +1,103 @@
/*
* 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 UINT32 g_freeMem1 = 0;
static UINT32 g_freeMem2 = 0;
static UINT32 GetfreeMemSize(void *pool)
{
return LOS_MemPoolSizeGet(pool) - LOS_MemTotalUsedGet(pool);
}
static VOID TaskF02(VOID)
{
g_testCount++;
return;
}
static VOID TaskF01(VOID)
{
g_testCount++;
return;
}
static UINT32 TestCase(VOID)
{
UINT32 freeMem;
UINT32 freeMem1;
UINT32 freeMem2;
UINT32 ret;
TSK_INIT_PARAM_S task1 = { 0 };
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF01;
task1.uwStackSize = TASK_STACK_SIZE_TEST;
task1.pcName = "Tsk128A";
task1.usTaskPrio = TASK_PRIO_TEST - 1;
task1.uwResved = LOS_TASK_STATUS_DETACHED;
g_testCount = 0;
freeMem = GetfreeMemSize(m_aucSysMem0);
LOS_TaskLock();
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
ICUNIT_ASSERT_EQUAL(g_testCount, 0, g_testCount);
task1.pfnTaskEntry = (TSK_ENTRY_FUNC)TaskF02;
task1.pcName = "Tsk128B";
task1.usTaskPrio = TASK_PRIO_TEST - 3; // TASK_PRIO_TEST - 3, Set task prio.
ret = LOS_TaskCreate(&g_testTaskID01, &task1);
ICUNIT_ASSERT_EQUAL(ret, LOS_OK, ret);
ICUNIT_ASSERT_EQUAL(g_testCount, 0, g_testCount);
LOS_TaskUnlock();
ICUNIT_ASSERT_EQUAL(g_testCount, 2, g_testCount); // 2, Here, assert that g_testCount is equal to 2.
LOS_TaskResRecycle();
freeMem2 = GetfreeMemSize(m_aucSysMem0);
ICUNIT_ASSERT_EQUAL(freeMem2, freeMem, freeMem2);
return LOS_OK;
}
VOID ItLosTask128(VOID) // IT_Layer_ModuleORFeature_No
{
TEST_ADD_CASE("ItLosTask128", TestCase, TEST_LOS, TEST_TASK, TEST_LEVEL0, TEST_FUNCTION);
}