参考代码

This commit is contained in:
LokLiang
2024-03-28 12:19:52 +08:00
commit 7b86aa3362
96 changed files with 19986 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
#include "os_test.h"
static vuint test_flag = 0;
static void _os_test_queue_t3(void *arg)
{
uint64_t dst_64 = 0;
test_flag = test_flag << 4 | 1;
SYS_ASSERT_FALSE(os_queue_recv(&queue_handle[0], &dst_64, OS_WAIT_FOREVER) != OS_OK, "");
SYS_ASSERT_FALSE(dst_64 != 0x1234567890abcdef, "");
test_flag = test_flag << 4 | 2;
}
void os_test_queue(void)
{
SYS_LOG_INF("-------------------------------");
static os_thread_t t2;
uint64_t src_64 = 0x1234567890abcdef;
uint64_t dst_64 = 0;
int systime_start;
int systime_end;
os_queue_create(&queue_handle[0], 1, sizeof(src_64));
SYS_LOG_INF("测试发送和接收");
test_flag = 0;
os_test_create_thread(&t2, _os_test_queue_t3, "t3", OS_PRIORITY_HIGHEST);
SYS_ASSERT_FALSE(test_flag != 0x1, "test_flag = 0x%x", test_flag);
SYS_ASSERT_FALSE(os_queue_send(&queue_handle[0], &src_64, 100) != OS_OK, "");
SYS_ASSERT_FALSE(test_flag != 0x12, "test_flag = 0x%x", test_flag);
SYS_LOG_INF("测试发送和发送超时");
systime_start = os_get_sys_ticks();
SYS_ASSERT_FALSE(os_queue_send(&queue_handle[0], &src_64, 100) != OS_OK, "");
SYS_ASSERT_FALSE(os_queue_send(&queue_handle[0], &src_64, 100) == OS_OK, "");
systime_end = os_get_sys_ticks();
SYS_ASSERT_FALSE(systime_end - systime_start < 100 || systime_end - systime_start > 120, "systime_end - systime_start = %d", systime_end - systime_start);
SYS_LOG_INF("测试接收和接收超时");
systime_start = os_get_sys_ticks();
SYS_ASSERT_FALSE(os_queue_recv(&queue_handle[0], &dst_64, 100) != OS_OK, "");
SYS_ASSERT_FALSE(dst_64 != src_64, "");
SYS_ASSERT_FALSE(os_queue_recv(&queue_handle[0], &dst_64, 100) == OS_OK, "");
systime_end = os_get_sys_ticks();
SYS_ASSERT_FALSE(systime_end - systime_start < 100 || systime_end - systime_start > 120, "systime_end - systime_start = %d", systime_end - systime_start);
os_queue_delete(&queue_handle[0]);
}