Suggestions for testing Simba OS applications?


How tests can be made for Simba OS applications? There are following potential ways:

  1. 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 = simba under Platformio. There’s no framework and board for native platform.

    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 #define/#include debugging.

  2. 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.

  3. 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.

Any ideas?