You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to pass defines to Ceedling using variables like in my project file below:
---
# Notes:# Sample project C code is not presently written to produce a release artifact.# As such, release build options are disabled.# This sample, therefore, only demonstrates running a collection of unit tests.:environment:
- my_test_define: "{`echo | set /p= %MY_DEFINE%`}":project:
:use_exceptions: FALSE:use_test_preprocessor: TRUE:use_auxiliary_dependencies: TRUE:build_root: build# :release_build: TRUE:test_file_prefix: test_:which_ceedling: gem:default_tasks:
- test:all#:release_build:# :output: MyApp.out# :use_assembly: FALSE:environment:
:extension:
:executable: .out:paths:
:test:
- +:test/**
- -:test/support:source:
- src/**:support:
- test/support:defines:
# in order to add common defines:# 1) remove the trailing [] from the :common: section# 2) add entries to the :common: section (e.g. :test: has TEST defined):common: &common_defines []:test:
- *common_defines
- TEST
- "#{ENV['MY_TEST_DEFINE']}":test_preprocess:
- *common_defines
- TEST
- "#{ENV['MY_TEST_DEFINE']}":cmock:
:mock_prefix: mock_:when_no_prototypes: :warn:enforce_strict_ordering: TRUE:plugins:
- :ignore
- :callback:treat_as:
uint8: HEX8uint16: HEX16uint32: UINT32int8: INT8bool: UINT8:gcov:
:html_report: true # Enables the output of an HTML report for utils:gcov:html_report_type: basic # Options are 'basic' or 'detailed'.:xml_report: false # Enables the output of an XML report for utils:gcov#:tools:# Ceedling defaults to using gcc for compiling, linking, etc.# As [:tools] is blank, gcc will be used (so long as it's in your system path)# See documentation to configure a given toolchain for use# LIBRARIES# These libraries are automatically injected into the build process. Those specified as# common will be used in all types of builds. Otherwise, libraries can be injected in just# tests or releases. These options are MERGED with the options in supplemental yaml files.:libraries:
:placement: :end:flag: "${1}"# or "-L ${1}" for example:common: &common_libraries []:test:
- *common_libraries:release:
- *common_libraries:plugins:
:load_paths:
- "#{Ceedling.load_path}":enabled:
- stdout_pretty_tests_report
- module_generator
...
But when I call the command ceedling on this I get the following error message, where we can see the define was not resolved by ceedling and it is still -D#{ENV['MY_TEST']} and not the content of the Environment Variable as I expected like -DMY_DEFINE_A.
Test 'test_check_define.c'
--------------------------
<command-line>: error: macro names must be identifiers
<command-line>: error: macro names must be identifiers
ERROR: Shell command failed.
> Shell executed command:
'gcc.exe -E -MM -MG -I"C:/Ruby25/lib/ruby/gems/2.5.0/gems/ceedling-0.31.1/vendor/unity/src" -I"C:/Ruby25/lib/ruby/gems/2.5.0/gems/ceedling-0.31.1/vendor/cmock/src" -I"build/test/mocks" -I"test" -I"test/support" -I"src" -DTEST -D#{ENV['MY_TEST']} -DTEST -D#{ENV['MY_TEST']} -DGNU_COMPILER "build/temp/_test_check_define.c"'
> Produced output:
_test_check_define.o: build/temp/_test_check_define.c \
C:/Ruby25/lib/ruby/gems/2.5.0/gems/ceedling-0.31.1/vendor/unity/src/unity.h \
C:/Ruby25/lib/ruby/gems/2.5.0/gems/ceedling-0.31.1/vendor/unity/src/unity_internals.h \
@@@@unity.h
> And exited with status: [1].
rake aborted!
ShellExecutionException: ShellExecutionException
c:/Ruby25/bin/ceedling:23:in `load'
c:/Ruby25/bin/ceedling:23:in `<main>'
Tasks: TOP => default => test:all
(See full trace by running task with --trace)
ERROR: Ceedling Failed
For other sections line project or paths it the same approach with variables works, but for the defines not. How can I get it working for the defines?
The text was updated successfully, but these errors were encountered:
I want to pass defines to Ceedling using variables like in my project file below:
But when I call the command ceedling on this I get the following error message, where we can see the define was not resolved by ceedling and it is still -D#{ENV['MY_TEST']} and not the content of the Environment Variable as I expected like -DMY_DEFINE_A.
For other sections line project or paths it the same approach with variables works, but for the defines not. How can I get it working for the defines?
The text was updated successfully, but these errors were encountered: