Skip to content

Ceedling road map #1154

@dermot-murphy

Description

@dermot-murphy

I use unit testing by using CMake and Unity, and have it integrated into the CI workflow for my work projects.

I would like to be able to use Ceedling to create the mocks and test runners, but ...

  • It's very slow - a CI build of the source on my project takes 3 minutes, while Ceedling takes around 20 minutes - they need to be equivalent times
  • Ceedling is difficult to configure - I don't want to learn Ruby - I want to use it as a tool
  • Ceedling fails for functions called via a macro - eg an API layer function calling a temperature sensor which can be implemented in a number of different sensor modules. Calling via a function macro is clean at the API layer, and a config H file defines the macro to be the driver layer function, and includes the driver layer H file, allowing a build to use the temperature sensor used on the PCB for that build
  • Ceedling fails if a function is declared in an H file but not implemented

I would suggest:

  • to add an option to allow Ceedling to run, generate the mocks and test runners only if any H file has changed, then generate CMake files, and exit. The CI could then build and run the tests faster by just running the CMake files, in the very usual case where H files had not changed.

  • convert Ceedling to use YML files for configuration.

  • a roadmap to indicate what changes are in the pipeline - to allow me to evaluate whether or not to switch to FFF

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions