[utestcases] add cpp11 base testcase.
This commit is contained in:
parent
ef7280826f
commit
1404186602
|
@ -35,6 +35,7 @@ jobs:
|
||||||
- {UTEST: "kernel/timer", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "kernel/timer.conf", SD_FILE: "sd.bin"}
|
- {UTEST: "kernel/timer", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "kernel/timer.conf", SD_FILE: "sd.bin"}
|
||||||
- {UTEST: "kernel/thread", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "kernel/thread.conf", SD_FILE: "sd.bin"}
|
- {UTEST: "kernel/thread", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "kernel/thread.conf", SD_FILE: "sd.bin"}
|
||||||
- {UTEST: "components/utest", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "utest_self/self.conf", SD_FILE: "sd.bin"}
|
- {UTEST: "components/utest", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "utest_self/self.conf", SD_FILE: "sd.bin"}
|
||||||
|
- {UTEST: "components/cpp11", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "cpp11/cpp11.conf", SD_FILE: "sd.bin"}
|
||||||
- {UTEST: "kernel/mem/riscv64", RTT_BSP: "bsp/qemu-riscv-virt64", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", CONFIG_FILE: "kernel/mem.conf", SD_FILE: "None"}
|
- {UTEST: "kernel/mem/riscv64", RTT_BSP: "bsp/qemu-riscv-virt64", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", CONFIG_FILE: "kernel/mem.conf", SD_FILE: "None"}
|
||||||
env:
|
env:
|
||||||
TEST_QEMU_ARCH: ${{ matrix.legs.QEMU_ARCH }}
|
TEST_QEMU_ARCH: ${{ matrix.legs.QEMU_ARCH }}
|
||||||
|
@ -68,6 +69,21 @@ jobs:
|
||||||
/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/riscv64-unknown-elf-gcc --version
|
/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/riscv64-unknown-elf-gcc --version
|
||||||
echo "RTT_EXEC_PATH=/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin" >> $GITHUB_ENV
|
echo "RTT_EXEC_PATH=/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: CPP11 Preprocessing Toolchain
|
||||||
|
if: ${{ matrix.legs.QEMU_ARCH == 'arm' && matrix.legs.UTEST == 'components/cpp11' && success() }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# Delete the following files
|
||||||
|
sudo rm -f /opt/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/include/c++/10.2.1/thread
|
||||||
|
sudo rm -f /opt/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/include/c++/10.2.1/mutex
|
||||||
|
sudo rm -f /opt/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/include/c++/10.2.1/condition_variable
|
||||||
|
sudo rm -f /opt/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/include/c++/10.2.1/future
|
||||||
|
sudo rm -f /opt/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/include/pthread.h
|
||||||
|
# Clear the contents of the following files
|
||||||
|
sudo cat /dev/null > /opt/gcc-arm-none-eabi-10-2020-q4-major/arm-none-eabi/include/sys/_pthreadtypes.h
|
||||||
|
# Clear -fno-exceptions in rtconfig.py
|
||||||
|
sed -i 's/-fno-exceptions/ /g' $TEST_BSP_ROOT/rtconfig.py
|
||||||
|
|
||||||
- name: Build BSP
|
- name: Build BSP
|
||||||
run: |
|
run: |
|
||||||
echo CONFIG_RT_USING_UTESTCASES=y >> $TEST_BSP_ROOT/.config
|
echo CONFIG_RT_USING_UTESTCASES=y >> $TEST_BSP_ROOT/.config
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
CONFIG_UTEST_CPP11_THREAD_TC=y
|
||||||
|
# dependencies
|
||||||
|
CONFIG_RT_USING_CPLUSPLUS=y
|
||||||
|
CONFIG_RT_USING_CPLUSPLUS11=y
|
|
@ -9,6 +9,7 @@ if RT_USING_UTESTCASES
|
||||||
|
|
||||||
source "$RTT_DIR/examples/utest/testcases/utest/Kconfig"
|
source "$RTT_DIR/examples/utest/testcases/utest/Kconfig"
|
||||||
source "$RTT_DIR/examples/utest/testcases/kernel/Kconfig"
|
source "$RTT_DIR/examples/utest/testcases/kernel/Kconfig"
|
||||||
|
source "$RTT_DIR/examples/utest/testcases/cpp11/Kconfig"
|
||||||
source "$RTT_DIR/examples/utest/testcases/drivers/serial_v2/Kconfig"
|
source "$RTT_DIR/examples/utest/testcases/drivers/serial_v2/Kconfig"
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
menu "CPP11 Testcase"
|
||||||
|
|
||||||
|
config UTEST_CPP11_THREAD_TC
|
||||||
|
bool "Cpp11 thread test"
|
||||||
|
default n
|
||||||
|
|
||||||
|
endmenu
|
|
@ -0,0 +1,13 @@
|
||||||
|
Import('rtconfig')
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Split('''
|
||||||
|
thread_tc.cpp
|
||||||
|
''')
|
||||||
|
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
group = DefineGroup('utestcases', src, depend = ['UTEST_CPP11_THREAD_TC'], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,51 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2019, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2021-09-03 liukang the first version
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <rtthread.h>
|
||||||
|
#include "utest.h"
|
||||||
|
#include <thread>
|
||||||
|
|
||||||
|
static void test_thread(void)
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
auto func = [&]() mutable
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 100; ++i)
|
||||||
|
{
|
||||||
|
++count;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
std::thread t1(func);
|
||||||
|
t1.join();
|
||||||
|
|
||||||
|
if (count != 100)
|
||||||
|
{
|
||||||
|
uassert_false(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
uassert_true(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static rt_err_t utest_tc_init(void)
|
||||||
|
{
|
||||||
|
return RT_EOK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static rt_err_t utest_tc_cleanup(void)
|
||||||
|
{
|
||||||
|
return RT_EOK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void testcase(void)
|
||||||
|
{
|
||||||
|
UTEST_UNIT_RUN(test_thread);
|
||||||
|
}
|
||||||
|
UTEST_TC_EXPORT(testcase, "testcases.cpp11.thread_tc", utest_tc_init, utest_tc_cleanup, 10);
|
Loading…
Reference in New Issue