How to unsbcribe? Pierre-Noël Bouteville Envoyé de mon iPhone
> Le 22 déc. 2025 à 19:13, raiden00pl <[email protected]> a écrit : > > Cmocka tests can run on any target. It doesn't matter if it's sim, qemu or > real hardware. > You just need to prepare a defconfig and have the right amount of FLASH. > > For small systems we can always try to reduce the size of the cmock, e.g. > by disabling > unnecessary prints. I doubt that the logic of running tests in cmoka is > heavy, running > test cases are not a complicated operation, I think most of the required > FLASH is wasted > on strings. > > NTFC supports serial port communication and sample test scenario based on > nucleo-h743z > with cmocka tests enabled. The only thing missing for full test automation > (compile, flash, > test, result) is cmake support for testsuites. > > pon., 22 gru 2025 o 18:08 Matteo Golin <[email protected]> napisał(a): > >> Hello everyone, >> >> Thanks for all the feedback! I'm glad I discussed this here first. I'll try >> to address everything that was brought up. >> >> Thanks Guiding for the input! I must just be missing some library on my >> machine if you're able to compile it just fine. Maybe I'll track down that >> error and see if you can recognize what's wrong. >> >> I don't intend to replace OS test anymore. I think it serves its purpose as >> a minimal sanity check. Instead, I think we need something a little more >> involved to test PRs since OS test can't catch many issues. It is currently >> the standard everyone uses for verifying their patches and it would be >> better to have more complete, alternate options. I do think that we can all >> agree that OS test needs a revision of its console output so that it is >> much easier to see pass/fail results, but that is just a matter of print >> statements and can be done in a different effort. >> >> I think the overwhelming concern here is mixing two unit testing frameworks >> and no longer having one resource where we can go for tests. I share raiden >> and Guiding's concern about that, which is why I'm glad I opened for >> discussion here. On the one hand, Xiaomi has a pretty substantial >> collection of tests in the `testsuite` application which they are using >> internally I believe (in their CI). These run well on virtual machines, >> which I assume is why the only configurations with that test suite included >> is sim and rv-virt. I do not know nearly enough about cmocka to make any >> claim that it *wouldn't* work on smaller hardware devices, but it also >> definitely looks to be less light-weight from the feature set in the >> documentation. On the other hand, the Xiaomi test suites are also not a >> complete silver bullet since they seem not to be intended to run on >> hardware, and there are *a lot *of tests that need hardware verification. >> In PRs we often request more than just a simulator test for certain >> changes. For instance, sim isn't able to have `/dev/rand`, so that needs to >> be tested on a different target. >> >> Maybe someone more familiar with Xiaomi's testing practices can weigh in on >> whether cmocka has been run on hardware. Going purely based off of their >> PRs, which almost exclusively cite tests on simulators, my guess is that >> cmocka was not designed with embedded in mind when it was written. >> >> As for size: unit testing can get large with Unity or cmocka (as raiden >> mentioned) as more tests are added. Hence my effort to enable/disable >> individual test suites from getting compiled. It might not be possible to >> ever get good testing ability for AVR just because the devices are so >> small. Whatever solution is used there is probably going to involve >> flashing the device multiple times with different tests. The size goal >> should just be to target the most NuttX devices possible. >> >> Then there are the pros and cons of each framework (again, I don't know >> much about cmocka so take it with a grain of salt): >> >> Unity's cons: >> - Designed for each test-suite to be a standalone binary. This is clunky on >> NuttX, so `nest` is currently implemented as a mega-suite where test cases >> just follow a naming convention to make it clear what is being tested >> - setUp/tearDown can't really be leveraged because of the above >> - I've noticed some funky behaviour using TEST_IGNORE in certain scenarios >> but that's possibly my own configuration issue >> - Would be in conflict with existing cmocka tests >> >> Unity's pros: >> - Highly configurable, like NuttX >> - Light-weight and works for embedded devices >> - Significantly larger user base than cmocka >> >> Cmocka's cons: >> - Possibly (?) not light-weight >> - No documentation for existing test cases in NuttX >> - Small user base >> >> Cmocka's pros: >> - Seems to have a larger set of features, including setup/teardown >> functions per-test case >> - Existing tests in NuttX >> >> Irrespective of whether we go with Unity or cmocka, the collection of tests >> that we write will be intended to run on the actual hardware devices >> themselves for the purposes of testing patches and doing regression tests. >> As a result, the tests will be separate from the Xiaomi 'testsuite' >> application which is intended for CI testing. I think this realistically >> nullifies choosing which framework to use on the basis of consistency, >> since the tests are not coexisting with the cmocka tests Xiaomi has >> written. Instead, the choice should be based on what best achieves the goal >> from a functionality perspective. Unity seems like a really great choice >> for this in my opinion, but I am bothered by the fact that it's designed >> with multiple test binaries in mind. >> >> Let me know what you think, >> Matteo >> >>> On Mon, Dec 22, 2025 at 11:02 AM Alan C. Assis <[email protected]> wrote: >>> >>> Yes, I agree! We need data size from each solution for comparison, this >> is >>> the first step. >>> >>> Maybe the conversion could be facilitated if we create equivalent >> functions >>> like those used in the apps/testing/testsuites: >>> >>> cmocka_run_group_tests -> unity_run_group_tests >>> cmocka_unit_test_setup_teardown -> unity_unit_test_setup_teardown >>> etc... >>> >>> This way we avoid end up with two unit test framework, we already have >> the >>> Makefile vs CMake precedent! :-D >>> >>> On Mon, Dec 22, 2025 at 11:27 AM raiden00pl <[email protected]> >> wrote: >>> >>>> The discussion about small systems doesn't make much sense without >>>> data comparing resources of the same test cases for cmock and unity. >>>> >>>> But let's assume that Unity is better. Should we use two frameworks >>>> to implement unit tests for OS? Or choose one framework? If we choose >>> only >>>> Unity, who >>>> will migrate the current cmocka tests to Unity? Remember that cmoka >> tests >>>> are used in CI, so all CI tools must be also migrated. >>>> Or should we use two different frameworks to test different things and >>> make >>>> even >>>> more mess in apps/testing as it is now? >>>> >>>> No one is forcing anyone to do anything. This is an open-source >> project, >>>> everyone >>>> should do what they feel is right. But whether the change should be >>> merged >>>> is >>>> a different question. In this case, it's a very important question, >>> because >>>> unit testing >>>> isn't just about test cases. It's about the entire infrastructure that >>>> runs, captures and >>>> handles test results later. Writing the test cases is the least of the >>>> problems. >>>> The infrastructure for cmoka testing is already in place, the >>>> infrastructure for Unity >>>> testing isn't. >>>> >>>> pon., 22 gru 2025 o 14:16 Alan C. Assis <[email protected]> >> napisał(a): >>>> >>>>> Mateusz, >>>>> but some chips like AVR DA have big flash, but not so much RAM. >>>>> >>>>> It is better to have some possible way to test on a small system, >> using >>>>> cmocka we are removing this option from the table. >>>>> >>>>> I liked the test Matteo did with Unity and I think we should let him >>>>> continue. Forcing him to migrate to cmocka just because there's a >> test >>>>> suite from Xiaomi doesn't seem prudent to me. >>>>> >>>>> This is the advantage of an open mind open-source project: "the >>>> possibility >>>>> to test new ideas", if someone had said to Michal Lenc he couldn't >>> create >>>>> NXBoot because where is already MCUBoot integrated on NuttX, we >> didn't >>>> have >>>>> the option to use NXBoot today. ;-) >>>>> >>>>> BR, >>>>> >>>>> Alan >>>>> >>>>> On Mon, Dec 22, 2025 at 10:02 AM raiden00pl <[email protected]> >>>> wrote: >>>>> >>>>>> Unit testing by itself isn't suitable for small systems. Ostest is >>>>>> something >>>>>> different (system level testing), so running it on small systems >>> makes >>>>>> sense. >>>>>> Running unit tests on small systems is pointless because you won't >>> fit >>>> in >>>>>> FLASH >>>>>> either way. You can run the same on large targets (preferably on >>> host: >>>>> sim, >>>>>> qemu) >>>>>> and achieve the same result. >>>>>> >>>>>> pon., 22 gru 2025 o 13:35 Alan C. Assis <[email protected]> >>>> napisał(a): >>>>>> >>>>>>> Is it too complicated to rewrite the cmocka tests in Unity? >>>>>>> >>>>>>> If cmoka is not feasible for small microcontrollers, like AVRs >> and >>>>>> others, >>>>>>> our test coverage will be faulty. >>>>>>> >>>>>>> BR, >>>>>>> >>>>>>> Alan >>>>>>> >>>>>>> On Mon, Dec 22, 2025 at 6:14 AM raiden00pl <[email protected] >>> >>>>> wrote: >>>>>>> >>>>>>>> I'm a fan of Unity and have been using it in my projects for >>> years, >>>>>> but I >>>>>>>> think >>>>>>>> we should stick with one testing framework. Currently, Cmocka >> is >>>> used >>>>>> in >>>>>>>> nuttx-apps, and we should stick with it. The only question is >> how >>>>> well >>>>>>>> Cmocka >>>>>>>> is suitable for running on small systems? Will ostest still be >>> able >>>>> to >>>>>>> run >>>>>>>> on small MCUs? >>>>>>>> With Unity this would be quite likely, so maybe an exception >> for >>>>> Unity >>>>>>> and >>>>>>>> ostest would >>>>>>>> be acceptable, but using it for other test cases will only >> cause >>>>> chaos. >>>>>>>> >>>>>>>> pon., 22 gru 2025 o 10:05 Guiding Li <[email protected]> >>>> napisał(a): >>>>>>>> >>>>>>>>> Hi Matteo, >>>>>>>>> >>>>>>>>> Good idea ! >>>>>>>>> >>>>>>>>> But it is best to stick with a single testing framework. >>>> Currently, >>>>>>> many >>>>>>>>> test cases are using cmocka, so I suggest reusing cmocka for >>>>>>> consistency. >>>>>>>>> >>>>>>>>> ostest is a minimal basic test suite, typically used for CT >>>>>> (continuous >>>>>>>>> testing) of each patch. >>>>>>>>> If we move ostest to cmocka, it would make ostest dependent >> on >>> a >>>>>>> specific >>>>>>>>> framework before it can be run. >>>>>>>>> And It may increase the code size, which is not very friendly >>> for >>>>>>>>> configurations with small flash memory. >>>>>>>>> >>>>>>>>> As Greg mentioned: the answer depends on a tradeoff between >>>> effort >>>>>> and >>>>>>>> test >>>>>>>>> coverage. >>>>>>>>> >>>>>>>>> We need to clarify whether we define ostest as a lightweight, >>>>>>>> ready-to-run >>>>>>>>> test set for quick verification, or as part of the full test >>>> suite. >>>>>>>>> >>>>>>>>> >>>>>>>>> The follow is my compiling for cmocka: >>>>>>>>> >>>>>>>>> *ligd@BAI:~/platform/mainline/nuttx$ ./tools/configure.sh >>>>> sim:citest >>>>>>>> -j8* >>>>>>>>> Copy files >>>>>>>>> Select CONFIG_HOST_LINUX=y >>>>>>>>> Refreshing... >>>>>>>>> CP: arch/dummy/Kconfig to >>>>>>>>> /home/ligd/platform/mainline/nuttx/arch/dummy/dummy_kconfig >>>>>>>>> CP: boards/dummy/Kconfig to >>>>>>>>> /home/ligd/platform/mainline/nuttx/boards/dummy/dummy_kconfig >>>>>>>>> LN: include/arch to arch/sim/include >>>>>>>>> LN: drivers/platform to >>>>>>> /home/ligd/platform/mainline/nuttx/drivers/dummy >>>>>>>>> LN: arch/sim/src/chip to >>>>>>>>> /home/ligd/platform/mainline/nuttx/arch/sim/src/sim >>>>>>>>> LN: arch/sim/src/board to >>>>>>>>> /home/ligd/platform/mainline/nuttx/boards/sim/sim/sim/src >>>>>>>>> LN: include/arch/board to >>>>>>>>> /home/ligd/platform/mainline/nuttx/boards/sim/sim/sim/include >>>>>>>>> LN: include/arch/chip to >>>>>>>>> /home/ligd/platform/mainline/nuttx/arch/sim/include/sim >>>>>>>>> LN: platform/board to >>>>>> /home/ligd/platform/mainline/apps/platform/dummy >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/audioutils >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/benchmarks >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/boot >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/canutils >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/crypto >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/database >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/examples/rust >>>>>>>>> mkkconfig in >> /home/ligd/platform/mainline/apps/examples/sotest >>>>>>>>> mkkconfig in >> /home/ligd/platform/mainline/apps/examples/module >>>>>>>>> mkkconfig in >> /home/ligd/platform/mainline/apps/examples/mcuboot >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/examples >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/fsutils >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/games >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/graphics >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/industry >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/inertial >>>>>>>>> mkkconfig in >>>>>> /home/ligd/platform/mainline/apps/interpreters/luamodules >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/interpreters >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/logging >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/lte >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/math >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/mlearning >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/netutils >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/sdr >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/system >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/tee >>>>>>>>> mkkconfig in >> /home/ligd/platform/mainline/apps/testing/drivers >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/testing/sched >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/testing/fs >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/testing/mm >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/testing/libc >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/testing/arch >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/testing/cxx >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/testing >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/videoutils >>>>>>>>> mkkconfig in >>> /home/ligd/platform/mainline/apps/wireless/bluetooth >>>>>>>>> mkkconfig in >>>> /home/ligd/platform/mainline/apps/wireless/ieee802154 >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps/wireless >>>>>>>>> mkkconfig in /home/ligd/platform/mainline/apps >>>>>>>>> Loaded configuration '.config' >>>>>>>>> Configuration saved to '.config' >>>>>>>>> ligd@BAI:~/platform/mainline/nuttx$ >>>>>>>>> *ligd@BAI:~/platform/mainline/nuttx$ make* >>>>>>>>> Create version.h >>>>>>>>> Downloading: libcxx-17.0.6.src.tar.xz LN: platform/board to >>>>>>>>> /home/ligd/platform/mainline/apps/platform/dummy >>>>>>>>> Downloading: v1.46.0.zip >>>>>>>>> ... >>>>>>>>> patching file >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> testcases/open_posix_testsuite/conformance/interfaces/pthread_sigmask/18-1.c >>>>>>>>> Hunk #1 succeeded at 160 with fuzz 2 (offset -8 lines). >>>>>>>>> >>>>>>>>> CP: >> /home/ligd/platform/mainline/nuttx/include/nuttx/config.h >>>>>>>>> CP: >>> /home/ligd/platform/mainline/nuttx/include/nuttx/fs/hostfs.h >>>>>>>>> LD: nuttx >>>>>>>>> Pac SIM with dynamic libs.. >>>>>>>>> '/lib/x86_64-linux-gnu/libz.so.1' -> 'sim-pac/libs/libz.so.1' >>>>>>>>> '/lib/x86_64-linux-gnu/libstdc++.so.6' -> >>>>>> 'sim-pac/libs/libstdc++.so.6' >>>>>>>>> '/lib/x86_64-linux-gnu/libc.so.6' -> 'sim-pac/libs/libc.so.6' >>>>>>>>> '/lib/x86_64-linux-gnu/libm.so.6' -> 'sim-pac/libs/libm.so.6' >>>>>>>>> '/lib/x86_64-linux-gnu/libgcc_s.so.1' -> >>>>> 'sim-pac/libs/libgcc_s.so.1' >>>>>>>>> '/lib64/ld-linux-x86-64.so.2' -> >> 'sim-pac/ld-linux-x86-64.so.2' >>>>>>>>> SIM elf with dynamic libs archive in nuttx.tgz >>>>>>>>> ligd@BAI:~/platform/mainline/nuttx$ >>>>>>>>> ligd@BAI:~/platform/mainline/nuttx$ >>>>>>>>> ligd@BAI:~/platform/mainline/nuttx$ >>>>>>>>> *ligd@BAI:~/platform/mainline/nuttx$ ./nuttx * >>>>>>>>> CHelloWorld: Constructor: mSecret=42 >>>>>>>>> nsh: init: open failed: 2 >>>>>>>>> >>>>>>>>> NuttShell (NSH) NuttX-12.11.0 >>>>>>>>> MOTD: username=admin password=Administrator >>>>>>>>> nsh> >>>>>>>>> nsh> help >>>>>>>>> help usage: help [-v] [<cmd>] >>>>>>>>> >>>>>>>>> . df ifconfig mkfifo readlink >>>>>> umount >>>>>>>>> [ dmesg ifdown mkrd rm >>>>> unset >>>>>>>>> ? echo ifup mount rmdir >>>>>> uptime >>>>>>>>> alias env insmod mv rmmod >>>>>> usleep >>>>>>>>> unalias exec kill nslookup set >>>>> watch >>>>>>>>> basename exit pkill pidof sleep >>>> xd >>>>>>>>> break expr losetup pmconfig source >>>>> wait >>>>>>>>> cat false ln poweroff test >>>>>>>>> cd fdinfo ls quit time >>>>>>>>> cp free lsmod printf true >>>>>>>>> cmp help mkdir ps truncate >>>>>>>>> dirname hexdump mkfatfs pwd uname >>>>>>>>> >>>>>>>>> Builtin Apps: >>>>>>>>> cmocka >>>>>>>>> cmocka_driver_block >>>>>>>>> cmocka_driver_gpio >>>>>>>>> cmocka_driver_pm >>>>>>>>> cmocka_driver_pm_runtime >>>>>>>>> cmocka_driver_regulator >>>>>>>>> >>>>>>>>> Matteo Golin <[email protected]> 于2025年12月22日周一 >> 10:15写道: >>>>>>>>> >>>>>>>>>> I think so. Best to leave OS test alone and slowly replace >> it >>>>> with >>>>>> a >>>>>>>> new >>>>>>>>>> tool that has improvements. The only reason I can see to >>> modify >>>>> OS >>>>>>> test >>>>>>>>> now >>>>>>>>>> would just be to have clearer output about what >>> passed/failed. >>>>>>>>>> >>>>>>>>>> I'll come up with an improved proof of concept for a new >> tool >>>> to >>>>>>> share >>>>>>>> in >>>>>>>>>> the next few days. >>>>>>>>>> >>>>>>>>>> Matteo >>>>>>>>>> >>>>>>>>>> On Sun, Dec 21, 2025, 9:13 PM Tomek CEDRO < >> [email protected]> >>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Small steps with measurable results may be the best >>> approach >>>>>> here, >>>>>>> to >>>>>>>>>>> create some new solution next to existing ostest but not >>>>>> replacing >>>>>>> it >>>>>>>>>>> until ready? :-) >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >>>>>>>>>>> >>>>>>>>>>> On Mon, Dec 22, 2025 at 3:06 AM Matteo Golin < >>>>>>> [email protected] >>>>>>>>> >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> I agree, I think it would take a long time to have >> proper >>>>>>> coverage >>>>>>>> of >>>>>>>>>>> NuttX >>>>>>>>>>>> as a whole. Perhaps even impossible, since Unity is >> more >>>> of a >>>>>>> unit >>>>>>>>>>> testing >>>>>>>>>>>> framework and thus there are definitely test cases for >>>> NuttX >>>>>> that >>>>>>>>> would >>>>>>>>>>> be >>>>>>>>>>>> outside of its realm of "applicability". There is >> still a >>>>> need >>>>>>> for >>>>>>>> a >>>>>>>>>>>> variety of testing applications and bench-marking >>>>> applications >>>>>>> for >>>>>>>>>> those >>>>>>>>>>>> scenarios. >>>>>>>>>>>> >>>>>>>>>>>> That makes sense, prerequisites would need to be >>>> considered. >>>>> I >>>>>>>> think >>>>>>>>>>>> targeting the low-hanging fruit of unit-testable code >>> would >>>>> be >>>>>>> easy >>>>>>>>> in >>>>>>>>>>> that >>>>>>>>>>>> case, since prerequisites are mostly encoded in the >>> Kconfig >>>>>>>>> definitions >>>>>>>>>>>> existing or not for features to be tested. Any complex >>>>>> behaviour >>>>>>>>>>>> (interrupts, multi-threading, etc.) might be out of the >>>> realm >>>>>> of >>>>>>>>> what's >>>>>>>>>>>> testable by Unity in the first place. We'll always have >>> OS >>>>> test >>>>>>> in >>>>>>>>> that >>>>>>>>>>>> case, but maybe then it's better to do what Alan >>> suggested >>>>> and >>>>>> at >>>>>>>>> least >>>>>>>>>>>> make its output more clear in the meantime. I suppose >>> RTOS >>>>>>> testing >>>>>>>>> is a >>>>>>>>>>>> whole field in itself. >>>>>>>>>>>> >>>>>>>>>>>> On Sun, Dec 21, 2025 at 8:40 PM Gregory Nutt < >>>>>>> [email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> I think that the answer depends on a tradeoff between >>>>> effort >>>>>>> and >>>>>>>>> test >>>>>>>>>>>>> coverage. I could imagine that a proper job could be >>>>>> man-years >>>>>>>> of >>>>>>>>>>> effort. >>>>>>>>>>>>> >>>>>>>>>>>>> My only concern with a re-design is to be certain >> that >>>>> tests >>>>>>> are >>>>>>>>>>>>> arranged so that the prerequisites of later test are >>>> tested >>>>>>>> first. >>>>>>>>>> If >>>>>>>>>>>>> tests are grouped by, for example, functional area, >>> then >>>>>>> failures >>>>>>>>> can >>>>>>>>>>> be >>>>>>>>>>>>> difficult to understand if there is a failure in an >>>>>> unverified >>>>>>>> test >>>>>>>>>>>>> prerequisite. >>>>>>>>>>>>> >>>>>>>>>>>>> Some of the "tests" are bogus and only exist to >> provide >>>>> some >>>>>>>>> minimum >>>>>>>>>>>>> confidence that we have the functionality to run the >>>> test. >>>>>> For >>>>>>>>>>>>> example: Can I start tasks? Can I pass parameters? >>> Can >>>> I >>>>>>>> survive >>>>>>>>> a >>>>>>>>>>>>> context switch. Some of the tests were intended only >>> to >>>>>>> support >>>>>>>>>> debug. >>>>>>>>>>>>> Some were created only to track down specific bugs. >>>>>>>>>>>>> >>>>>>>>>>>>> On 12/21/25 18:39, Matteo Golin wrote: >>>>>>>>>>>>>> LTS being the Long-Term-Stable release of NuttX? >>>>>>>>>>>>>> >>>>>>>>>>>>>> I'm starting to think that it would be best to >> create >>>> new >>>>>>> suite >>>>>>>>> of >>>>>>>>>>> tests >>>>>>>>>>>>>> using Unity, using what's in OS Test as a basis and >>>> then >>>>>>>>> expanding >>>>>>>>>> it >>>>>>>>>>>>>> further. Greg has pointed out that OS test is not >>>>> intended >>>>>> to >>>>>>>> be >>>>>>>>> a >>>>>>>>>>>>> complete >>>>>>>>>>>>>> test, so maybe a more solid testing framework base >>> in a >>>>> new >>>>>>>> form >>>>>>>>>>> would be >>>>>>>>>>>>>> in order. At that point it would also be good to >>>> document >>>>>> and >>>>>>>>>> educate >>>>>>>>>>>>> users >>>>>>>>>>>>>> about other test options, since OS test is a >> current >>>>>>> favourite >>>>>>>>> for >>>>>>>>>>>>> showing >>>>>>>>>>>>>> PRs haven't broken anything. Maybe that's not the >>> best >>>>>> choice >>>>>>>>>> anymore >>>>>>>>>>>>> with >>>>>>>>>>>>>> this information. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I don't want to re-invent the wheel of what's >> already >>>> in >>>>>>>>>> `testsuite`, >>>>>>>>>>>>> but I >>>>>>>>>>>>>> think Unity might end up being lighter-weight in >> the >>>> long >>>>>>> run? >>>>>>>>> And >>>>>>>>>>> it is >>>>>>>>>>>>>> also not a Xiaomi owned/maintained framework so it >>> may >>>>>>> receive >>>>>>>>>> better >>>>>>>>>>>>>> external support (i.e. more users rely on it?). I >>> tried >>>>> to >>>>>>>>> compile >>>>>>>>>>> the >>>>>>>>>>>>>> sim:citest configuration to run the testsuite >> example >>>> and >>>>>> see >>>>>>>>> what >>>>>>>>>>> it was >>>>>>>>>>>>>> like, but I was met with a long list of C++ >>> compilation >>>>>>> errors >>>>>>>>> that >>>>>>>>>>> I'd >>>>>>>>>>>>>> rather not deal with. There also seems to be zero >>> docs >>>>>> about >>>>>>> it >>>>>>>>> or >>>>>>>>>>> cmocka >>>>>>>>>>>>>> in our NuttX docs at the moment. >>>>>>>>>>>>>> >>>>>>>>>>>>>> What do you think? Start a Unity test suite, add >> some >>>>>>> switches >>>>>>>> to >>>>>>>>>>> choose >>>>>>>>>>>>>> which test cases get compiled into the binary, open >>> for >>>>>>>>> extensions >>>>>>>>>> by >>>>>>>>>>>>> users >>>>>>>>>>>>>> who know more about different subsystems? This way >> we >>>> can >>>>>>> keep >>>>>>>> OS >>>>>>>>>>> test >>>>>>>>>>>>> how >>>>>>>>>>>>>> it is for a quick, low-resource sanity check of >>> "board >>>>>>> bringup" >>>>>>>>>> while >>>>>>>>>>>>>> having a dedicated testing application for patches? >>>>> Someone >>>>>>>>>> changing >>>>>>>>>>> file >>>>>>>>>>>>>> system stuff can just compile to include file >> system >>>> test >>>>>>> cases >>>>>>>>> and >>>>>>>>>>> run >>>>>>>>>>>>>> that suite only as proof that their PR works. The >>>> output >>>>> is >>>>>>>>> really >>>>>>>>>>> easy >>>>>>>>>>>>> to >>>>>>>>>>>>>> glance at to determine pass/fail results. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Anyways, here's my draft demonstrating how Unity >>> works >>>>> with >>>>>>> the >>>>>>>>> FPU >>>>>>>>>>> test >>>>>>>>>>>>>> suite from OS test: >>>>>>>>> https://github.com/apache/nuttx-apps/pull/3259 >>>>>>>>>>>>>> >>>>>>>>>>>>>> Matteo >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Sun, Dec 21, 2025 at 7:13 PM Tomek CEDRO < >>>>>>> [email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Mon, Dec 22, 2025 at 1:02 AM Gregory Nutt < >>>>>>>>> [email protected] >>>>>>>>>>> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>> (..) >>>>>>>>>>>>>>>> Starting with bits and pieces of something like >> the >>>> LTS >>>>>>> might >>>>>>>>>> make >>>>>>>>>>> more >>>>>>>>>>>>>>>> sense other than its licensing problems. Since >> it >>>>> would >>>>>>>> never >>>>>>>>> be >>>>>>>>>>>>>>>> included in a distributed binary, the licensing >>>> really >>>>>>> should >>>>>>>>> not >>>>>>>>>>>>> matter >>>>>>>>>>>>>>>> much in practice. >>>>>>>>>>>>>>> Unless its GPL and some company would like to have >>>> their >>>>>> own >>>>>>>>>>> internal >>>>>>>>>>>>>>> bits and pieces.. luckily its MIT and the whole >>> thing >>>> is >>>>>>>>>> open-source >>>>>>>>>>>>>>> anyways :-) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Yes we had many discussions about the LTS and this >>>> could >>>>>> be >>>>>>>>> great >>>>>>>>>>> start! >>>>>>>>>>>>>>> :-) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >>>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>
