ThrowTheSwitch / Ceedling

Ruby-based unit testing and build system for C projects

Home Page:http://throwtheswitch.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GCOV at test/ceedling_0_32_rc

claudiiolima opened this issue · comments

I start to test the test/ceedling_0_32_rc branch and when I try to run gcov plugin, ceedling gcov:all, during the objects building process, rake does not recognize build task:

Log:

Determining Artifacts to Be Built...

Building Objects
----------------
RuntimeError ==> Don't know how to build task 'test_converter_properties+build/gcov/out/test_converter_properties/test_converter_properties.o' (See the list of available tasks with `rake --tasks`)

NOTE: The same process using task ceedling test:all, works as expected.

Hi, @claudiiolima. Thanks for testing out the release candidate of 0.32 and sorry for this glitch.

I can't replicate what you're seeing. Which of the various pre-release builds of 0.32 are you using? Could you provide your project file?

I am using 0.32.0-4e4c66b rc, tomorrow I will publish here the project file and the full output command

project.log
input.yml

I modify some at input.yml to hide some sensitive information, some assume the texts with ? are filled correctly

image

I tried to check all details objects to compare with the same objects during test:all, it seems to be the same, except the build path, as expected.

image

@claudiiolima Thank you for sending all this. This has really got me stumped. The two projects we use to validate Ceedling — one simple and one quite sophisticated — run with gcov:all just fine.

I can't think of anything that would break the Rake rule that is executing compilation for the .o file. It's quite a simple linkage, and the rake Rule itself hasn't changed from the last version of Ceedling. I even tried replicating your project structure with the same directories and test file names. Everything worked fine.

I had an idea that it might have been due to a versioning conflict of old and new Ceedling, but I quickly disproved that idea.

Questions:

  1. Does this happen for any test run individually with gcov? What happens if you run ceedling gcov:test_converter_properties and what happens for any other test that is not test_converter_properties?
  2. How did you install the pre-release version of 0.32? Gem install? Downloading the repo and running it directly? How were you running the previous version?

@mkarlesky Thanks for the help and comments, I discovered what was messing up some things, it was an old plugin that I was using to merge YML files, when I merged these files manually and discarded the old plugin, everything worked fine

@deltalejo thank you too.