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

ceedling exited with status: [1]

Isuresh opened this issue · comments

Hello ,

My Test cases and coverage reports building an generating without any issue, but final build result failing with status[1].

Installed Ceedling Details :
Ceedling:: 0.31.1
Unity:: 2.5.4
CMock:: 2.5.4
CException:: 1.3.3

Error :

GCOV: OVERALL TEST SUMMARY

TESTED: 3
PASSED: 3
FAILED: 0
IGNORED: 0


GCOV: CODE COVERAGE SUMMARY

build/gcov/out/app_lra.gcno:cannot open notes file
build/gcov/out/app_lra.gcda:cannot open data file, assuming not executed
ERROR: Shell command failed.

Shell executed command:
'gcov.exe -n -p -b -o "build/gcov/out" "app_lra.c"'
Produced output:
No executable lines
And exited with status: [1].

Exception raised in plugin: gcov, in method post_build
C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/tool_executor.rb:88:in exec': ShellExecutionException (ShellExecutionException) from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/plugins/gcov/lib/gcov.rb:89:in block in report_per_file_coverage_results'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/plugins/gcov/lib/gcov.rb:86:in each' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/plugins/gcov/lib/gcov.rb:86:in report_per_file_coverage_results'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/plugins/gcov/lib/gcov.rb:63:in post_build' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/plugin_manager.rb:99:in block in execute_plugins'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/plugin_manager.rb:97:in each' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/plugin_manager.rb:97:in execute_plugins'
from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/plugin_manager.rb:85:in post_build' from C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/ceedling-0.31.1/lib/ceedling/rakefile.rb:78:in block in <top (requ
Test File :
I am able to fix this if .c changes to .h .
#include "app_lra.c"
#include "mock_utils.h"

Thanks
Suresh

Hi, @Isuresh. So sorry for this trouble.

This problem is due to recent updates to the GNU gcov executable. In prior versions it would only exit with an error code upon catastrophic problems. Recent work on the gcov executable updated its error handling and exit codes to be consistent with other tools and its own design intention. Now, gcov emits a variety of error codes even if the problem is only of warning status.

You're using Ceedling 0.31.1. That version is weeks away from being made obsolete by 0.32. We've made huge improvements and changes to Ceedling, including to all the plugins. Ceedling's 0.32 gcov plugin has been updated to fix the problem you're reporting here. The plugin's features have been improved, bugs fixes, and documentation has been greatly improved as well.

We will soon end any development and support for 0.31.1. If you're in a place to try the pre-release version 0.32, I'd suggest switching to it. See the 0.32 docs here. In particular, pay attention to ReleaseNotes and BreakingChanges as various features have changed with corresponding changes to the configuration file format and names. Also, see the docs for the gcov plugin here. More and better options for running 0.32 will be part of the release. At the moment, the best option is to download the pre-release gem and install it yourself.

@mkarlesky thank you for your clarification .. I will Update to 0.32 and try .

Thanks
suresh