linguini1 opened a new issue, #3258: URL: https://github.com/apache/nuttx-apps/issues/3258
### Is your feature request related to a problem? Please describe. OS Test is the primary testing mechanism for NuttX. It is used on virtually all PRs to check for regressions in kernel code changes, and is also used as a basis for verifying that a new board has successfully gotten NuttX ported and running. However, the output from OS test is a little cryptic when looking at it for the first time. It is often difficult to determine what tests have been run, what the output means and which tests have even passed/failed. There are many components to OS test, provided by different contributors, and they all have different outputs in the console which lead to more confusion. It is also difficult to determine what the tests are right away by looking at the code. For instance, the `aio.c` test file contains a large code block with tests separated by comments that say "Case 1", "Case 2", etc. It requires effort to read and understand, but could be easier. ### Describe the solution you'd like My proposal is that OS Test be re-factored to use the Unity testing framework already supported by NuttX. This is a very lightweight testing framework that provides a structured approach to adding, writing and running test cases, as well as a nice summary output in the console that makes it clear which tests have passed or failed. Since Unity is lightweight, works well and is supported by NuttX, I think moving to this approach would provide a clearly defined way for devs to add test cases and review the results of running the tests easily. The separated structure of test cases also means it will be easy to look at the test modules like `aio.c` and determine what tests already exist, what they do and maybe help to identify gaps that could use more tests. ### Describe alternatives you've considered I have considered just re-factoring the tests to have a more unified and structured output in the console, which would improve the ability of judging pass/fail results from logs, but that would require maintaining our own standard and I think it would be more work in the long run. Same for code-structure wise. ### Verification - [x] I have verified before submitting the report. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
