ubuntuceedling

Ceedling Selectable YML File


I am using Jenkins on Ubuntu 20.04 to automate my build process. Two projects have been given to me and they are heavily coupled. I will work on separating the two but first I need some tests set up. The two projects are PNE and BLDC for reference.

The two projects share some code filtered by ifdefs. In my ceedling tests I created two yml files. bldc_project.yml and pne_project.yml. Each YML file defines the necessary variables and point to the tests to be ran for each project.

To run my tests I do

set CEEDLING_MAIN_PROJECT_FILE=pne_project.yml
ceedling clobber test:all

This works on windows, I have tested this with bldc_project.yml and pne_project.yml the correct tests are run. When I perform this on my Jenkins server I get errors that clobber and test:all commands cannot be found.

It appears set is not creating the environment variable as expected. What am I doing wrong? Should I be using a different command?


Solution

  • It seems there is an issue in ceedling. I have solved the issue using symbolic links as so.

    ln bldc_project.yml project.yml
    ceedling clobber test:all
    mv build/artifacts/test/report.xml bldc_report.xml
    rm project.yml