summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-11-10docs(utest): Add standardized documentation for core.irq (irq_tc.c) (#10913)lhxj
* docs(utest): Add standardized documentation for core.irq (irq_tc.c) Most test cases in `src/utest` lack standardized functional documentation, as tracked in issue #10895. This leads to high maintenance costs, difficulty for new contributors, and inefficient code reviews. Solution: This patch adds the full, standardized documentation block to `src/utest/irq_tc.c`, following the approved template. The documentation details: - Test Objectives and tested APIs - Test Scenarios (for `irq_test` and `interrupt_test`) - Verification Metrics (the `uassert` criteria) - Dependencies (Kconfig options and hardware) - Test Execution command and Expected Results This makes the test case's purpose and behavior immediately clear to future maintainers and reviewers. Relates to #10895 Signed-off-by: lhxj <[email protected]> * Update src/utest/irq_tc.c Co-authored-by: Copilot <[email protected]> --------- Signed-off-by: lhxj <[email protected]> Co-authored-by: Copilot <[email protected]>
2025-11-10action:Fixed assertion failure when running utest/messagequeue_tc multiple ↵Rbb666
times.
2025-11-08utest:Fix signal info node leak in signal_tc when running multiple times.Rbb666
2025-11-07[klibc] 将函数签名与标准 libc 对齐以修复类型冲突 #10890Copilot
2025-10-23[kernel][object]: update the default value of RT_NAME_MAX to 12kurisaw
2025-10-16utest: UTEST_MEMPOOL_TC -> RT_UTEST_MEMPOOLChen Wang
Which is missed in PR #10808 "utest: unify configname", add it. Signed-off-by: Chen Wang <[email protected]>
2025-10-16utest: Improve the strings displayed in the menuChen Wang
Use "Test" instead of "Unit Testcases" to make string shorter. Use uppercase to make it look more eye-catching. Signed-off-by: Chen Wang <[email protected]>
2025-10-16utest: reorg menu itemsChen Wang
The original project display was completely flat, now it is organized into a tree-like hierarchical structure based on the layout of the code. mm & tmpfs test are still keep as pervious bcos we have not move the source for these two components. Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SMP_THREAD_PREEMPTION_TC -> RT_UTEST_SMP_THREAD_PREEMPTIONChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SMP_SPINLOCK_TC -> RT_UTEST_SMP_SPINLOCKChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SMP_INTERRUPT_PRI_TC -> RT_UTEST_SMP_INTERRUPT_PRIChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SMP_ASSIGNED_IDLE_CORE_TC -> RT_UTEST_SMP_ASSIGNED_IDLE_COREChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SMP_AFFFINITY_TC -> RT_UTEST_SMP_AFFFINITYChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SCHEDULER_TC -> RT_UTEST_SCHEDULERChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_MTSAFE_KPRINT_TC -> RT_UTEST_MTSAFE_KPRINTChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_HOOKLIST_TC -> RT_UTEST_HOOKLISTChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_ATOMIC_TC -> RT_UTEST_ATOMICChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_THREAD_TC -> RT_UTEST_THREADChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_MAILBOX_TC -> RT_UTEST_MAILBOXChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_MUTEX_TC -> RT_UTEST_MUTEXChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SIGNAL_TC -> RT_UTEST_SIGNALChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_MESSAGEQUEUE_TC -> RT_UTEST_MESSAGEQUEUEChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_TIMER_TC -> RT_UTEST_TIMERChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_EVENT_TC -> RT_UTEST_EVENTChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SEMAPHORE_TC -> RT_UTEST_SEMAPHOREChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_IRQ_TC -> RT_UTEST_IRQChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SLAB_TC -> RT_UTEST_SLABChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_OBJECT_TC -> RT_UTEST_OBJECTChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_SMALL_MEM_TC -> RT_UTEST_SMALL_MEMChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-15utest: UTEST_MEMHEAP_TC -> RT_UTEST_MEMHEAPChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-10-11utest: core: move perf testcase from example to srcChen Wang
Also: - Add "RT_" prefix for the UTEST config options. - Follow the naming rules to update the case name. Signed-off-by: Chen Wang <[email protected]>
2025-09-30doxygen: cleanup code for group_thread_managementChen Wang
The cleanup involved three parts: - Merging the standalone "/**@{*/" into "@addtogroup group_thread_management" - Changing "/**@}*/" to "/** @} group_thread_management */", adding the group name makes it easier to find the matching "@{" part. - Deleting the "@addtogroup" directive in "include/rtthread.h" because this header file doesn't have doxygen comments. All doxygen comments for function bodies are defined in other .c files. Note, we remian two doxygen comments for rt_thread_inited_hookproto_t and rt_thread_idle_sethook in the "include/rtthread.h". rt_thread_inited_hookproto_t is really defined here. For rt_thread_idle_sethook, please see FIXME comment for reason. Signed-off-by: Chen Wang <[email protected]>
2025-09-29doxygen: cleanup code for group_object_managementChen Wang
The cleanup involved three parts: - Merging the standalone "/**@{*/" into "@addtogroup group_object_management" - Changing "/**@}*/" to "/** @} group_object_management */", adding the group name makes it easier to find the matching "@{" part. - Deleting the "@addtogroup" directive in "include/rtthread.h" because this header file doesn't have doxygen comments. All doxygen comments for function bodies are defined in "src/object.c". Plus minor cleanup for group_hook in src/object.c. Signed-off-by: Chen Wang <[email protected]>
2025-09-28improve[ci]: integrate utest run ci (#10748)Yuqiang Wang
2025-09-26utest: move driver related case under to driversChen Wang
src/utest/device_tc.c is testing API: rt_device_find(), which is a function defined in components/drivers/core/device.c. So it should be a testcase for drivers core, not for core. Move it to under components/drivers/core. Signed-off-by: Chen Wang <[email protected]>
2025-09-26utest: core: unify case namesChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-09-26utest: move core tesetcases under to directiry "src"Chen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-09-26utest: remove RT_UTEST_USING_ALL_CASESChen Wang
Many modules' utests currently don't support enabling all tests at once. Furthermore, some modules' tests are complex, for example due to their numerous dependencies on other modules. This makes it nearly impossible to enable all tests with a single global switch. Consequently, the previously defined `RT_UTEST_USING_ALL_CASES` has lost its original meaning. We recommend deprecating this configuration switch. If a module needs to enable a group of functional tests through its own configuration, this local enable all switch should be implemented by the module itself, and a global RTT enable switch will no longer be provided. If such a requirement arises in the future, we recommend careful design, especially considering how to ensure that turning on a single switch enables all dependencies for all involved modules for ease of use. Signed-off-by: Chen Wang <[email protected]>
2025-09-24RT_TIMER_CTRL_SET_TIME only accept rt_tick_t, pass rt_tick_t instead ↵Yonggang Luo
int/rt_int32_t
2025-09-21[kernel]fix scheduling exception caused by interrupt preemption in rt_schedulewdfk-prog
2025-09-15utest: update naems using new ruleChen Wang
The names of the utest cases defined in their respective modules have been updated. Some utest case names are not yet in their respective modules because their paths need to be finalized before their unique names can be determined. Currently, these names do not appear to conflict with the unified names. These include: - utest cases still in examples - bsp/qemu-virt64-riscv/applications/test/test_vector/test_vector.c. The entire test case should probably be placed in libcpu/risc-v rather than bsp. Signed-off-by: Chen Wang <[email protected]>
2025-09-12移除已经废弃的CPU使用率相关的字段和初始化代码蒙蒙plus
2025-09-09doxygen: fixed duplicated comments for scheduler APIsChen Wang
Similar to PR #10674, `src/scheduler_mp.c` and `src/scheduler_up.c` also have similar issues. After investigation, we found: in commit 2c98ce4605 "[HUST CSE][document] Fix some comments, invalid grouping commands and warnings in Doxygen." This patch excluded `src/scheduler_mp.c` and `src/scheduler_up.c` from the Doxygen build and include `documentation/doxygen/thread.h` (the new file path after adjustment is `documentation/0.doxygen/core/thread.h`), placing the Doxygen comments for some functions in this file. However, this approach has its problems: - The comments in `documentation/0.doxygen/core/thread.h` are separated from the source code, making them difficult to maintain. This also results in the comments for the newly added functions in `src/scheduler_mp.c` and `src/scheduler_up.c` not being updated in a timely manner and failing to be compiled into Doxygen (becoming HTML). - For the average programmer, it's unlikely that they'll consider the `documentation/0.doxygen/` directory for function declarations and comments, let alone the need to maintain the Doxygen comments in that directory. Currently, the header files under `documentation/0.doxygen/` should strictly be used only to define Doxygen groups and should not include Doxygen comments for the code itself. (Similar issues exist in documentation/0.doxygen/3.hardware.h and documentation/0.doxygen/core/systeminit.h, which require further cleanup.) The solution is similar to PR #10674, where only MP documentation is generated by default. For functions defined in MP but not in UP, we use the "@note" directive in the function's doxygen comment to indicate whether the function is supported in both UP and MP, or only in MP. After implementing this solution, the file `documentation/0.doxygen/core/thread.h` can be deleted. Signed-off-by: Chen Wang <[email protected]>
2025-09-09[add][thread]Add api:rt_thread_suspend_force allow suspend other threads.Rbb666
2025-09-08doxygen: fixed duplicated comments for cpu APIsChen Wang
Refer to the issue described in PR #10599. This was a temporary fix at that time. After further research, we discovered that this issue can be addressed using the "@cond" command supported by Doxygen. Since we currently do not intend to generate two sets of documentation for UP and MP when generating Doxygen documentation, the current solution is to generate only MP documentation by default. For functions defined in MP but not in UP, we will use the "@note" command in the function's Doxygen comment to indicate whether the function supports both UP and MP, or only MP. Signed-off-by: Chen Wang <[email protected]>
2025-09-02doxygen: updated doc for thread management subsystemChen Wang
Signed-off-by: Chen Wang <[email protected]>
2025-09-02[Add][kernel/thread]Add thread overflow hook and testcases:thread_overflow_tc.c.Rbb666
2025-09-01fix(klibc): also check `__clang__` when detecting gccHaojin Tang
2025-09-01fix: warnings generated by Kconfig.maosql
2025-08-30[Add][kservice]Add thread usage support.Rbb666