Ceedling icon indicating copy to clipboard operation
Ceedling copied to clipboard

GCOV Fails to use g++?

Open Ash-BV opened this issue 11 months ago • 4 comments

I have created a YAML configuration file to test C++ files and generate a report using Ceedling. I would like to request verification of this file to ensure it is correctly configured.

=========================================================================

Ceedling - Test-Centered Build System for C

ThrowTheSwitch.org

Copyright (c) 2010-25 Mike Karlesky, Mark VanderVoord, & Greg Williams

SPDX-License-Identifier: MIT

=========================================================================


:project:
:which_ceedling: gem :ceedling_version: 1.0.0

:use_mocks: TRUE :use_test_preprocessor: :all # options are :none, :mocks, :tests, or :all :use_backtrace: :simple # options are :none, :simple, or :gdb :use_decorators: :auto # decorate Ceedling's output text. options are :auto, :all, or :none

:use_exceptions: FALSE
:use_auxiliary_dependencies: TRUE

:build_root: UTbuild :test_file_prefix: test_
:default_tasks: - test:all

:test_threads: 8 :compile_threads: 8

:environment:

:extension: :c: c :cpp: cpp :h: h :hpp: hpp :executable: .out

:paths: :source: - app/src
- base/src
- gui/src
- test - test/support - /usr/local/bundle/gems/ceedling-1.0.0/vendor/unity/src - /usr/local/bundle/gems/ceedling-1.0.0/vendor/cmock/src - /usr/local/bundle/gems/ceedling-1.0.0/vendor/c_exception/lib

:test: - test :support: - test/support :include: - app/src
- base/src
- gui/src
- test/mocks - /usr/local/bundle/gems/ceedling-1.0.0/vendor/unity/src - /usr/local/bundle/gems/ceedling-1.0.0/vendor/cmock/src - /usr/local/bundle/gems/ceedling-1.0.0/vendor/c_exception/lib

:libraries: []

:cmock: :mock_prefix: mock_ :mock_path: 'test/mocks' :when_no_prototypes: :warn :enforce_strict_ordering: TRUE :plugins: - :ignore - :callback - :expect_any_args - :ignore_arg - :return_thru_ptr :treat_as: uint8: HEX8 uint16: HEX16 uint32: UINT32 int8: INT8 bool: UINT8 :functions: :exclude: - XIic_IsIicBusy

:defines:

:common: &common_defines - UNIT_TEST=1 :test: - *common_defines - TEST - UNIT_TEST=1 - CEXCEPTION_USE_CONFIG_FILE :test_preprocess: - *common_defines - TEST - CEXCEPTION_USE_CONFIG_FILE

:libraries: :placement: :end :flag: "-l${1}" :path_flag: "-L ${1}" :system: [] # for example, you might list 'm' to grab the math library :test: [] :release: []

:tools: :gcov: :executable: gcov :name: 'gcov' :args: - -r - . - --html - --html-details

:gcov_compiler: :executable: g++ :flags: - "-std=c++11" - "-Wall" - "-Werror" - "-fprofile-arcs" - "-ftest-coverage" - "-fno-exceptions" :includes: - "app/src" - "base/src" - "gui/src" - "test" - "test/support" - "/usr/local/bundle/gems/ceedling-1.0.0/vendor/unity/src" - "/usr/local/bundle/gems/ceedling-1.0.0/vendor/cmock/src" :gcov_linker: :executable: g++ :flags: - "-std=c++11" - "-Wall" - "-Werror" - "-lgcov"

:plugins: :enabled: - gcov # gcov must be enabled as a plugin in order to generate a coverage report - module_generator

:coverage: :tool: gcovr :gcovr: :html: true :html_details: true :html_output: "UTbuild/artifacts/gcov/coverage_report.html"

:project_root: .

:output: :coverage_html_report_path: UTbuild/coverage

:gcov: :report_types: - HTML :html_report_type: detailed

Ash-BV avatar Jan 20 '25 12:01 Ash-BV