How tests can be made for Simba OS applications? There are following potential ways:
Using Simba OS testing framework
This is most desirable way, because tested code can use Simba functionality, including threads, queues, etc. However, I can’t figure out how to build native code with
framework = simbaunder Platformio. There’s no
Tested application can be built with Simba build system, but it requires supporting two build systems and I had problems with setting up Simba build system, it does not work out of the box and requires lots of
Using Platformio tests
Less desirable way, because it requires to make your code not dependent on Simba. Even if device-specific things can be relatively easily abstracted away, you can’t use threads, sync primitives and you have to target both Simba and libc for things like exact number of bytes-types and string manipulation. It’s too hard.
Running tests on MCU
Test code can be run on MCU, probably with Platformio testing system, but that has lots of issues. I would prefer native tests, however on-device tests might be the preferred way for some projects.