project.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. ---
  2. # Notes:
  3. # Sample project C code is not presently written to produce a release artifact.
  4. # As such, release build options are disabled.
  5. # This sample, therefore, only demonstrates running a collection of unit tests.
  6. :project:
  7. :use_exceptions: TRUE
  8. :use_mocks: TRUE
  9. :use_test_preprocessor: TRUE
  10. :use_auxiliary_dependencies: TRUE
  11. :use_deep_dependencies: TRUE
  12. :build_root: _build
  13. # :release_build: TRUE
  14. :test_file_prefix: test_
  15. :which_ceedling: vendor/ceedling
  16. :default_tasks:
  17. - test:all
  18. #:test_build:
  19. # :use_assembly: TRUE
  20. #:release_build:
  21. # :output: MyApp.out
  22. # :use_assembly: FALSE
  23. :environment:
  24. :extension:
  25. :executable: .out
  26. :paths:
  27. :test:
  28. - +:test/**
  29. - -:test/support
  30. :source:
  31. - ../src/**
  32. :support:
  33. - test/support
  34. :defines:
  35. # in order to add common defines:
  36. # 1) remove the trailing [] from the :common: section
  37. # 2) add entries to the :common: section (e.g. :test: has TEST defined)
  38. :common: &common_defines
  39. - _UNITY_TEST_
  40. :test:
  41. - *common_defines
  42. :test_preprocess:
  43. - *common_defines
  44. :cmock:
  45. :mock_prefix: mock_
  46. :when_no_prototypes: :warn
  47. :enforce_strict_ordering: TRUE
  48. :plugins:
  49. - :ignore
  50. - :ignore_arg
  51. - :return_thru_ptr
  52. - :callback
  53. - :array
  54. :treat_as:
  55. uint8: HEX8
  56. uint16: HEX16
  57. uint32: UINT32
  58. int8: INT8
  59. bool: UINT8
  60. # Add -gcov to the plugins list to make sure of the gcov plugin
  61. # You will need to have gcov and gcovr both installed to make it work.
  62. # For more information on these options, see docs in plugins/gcov
  63. :gcov:
  64. :html_report: TRUE
  65. :html_report_type: detailed
  66. :html_medium_threshold: 75
  67. :html_high_threshold: 90
  68. :xml_report: FALSE
  69. #:tools:
  70. # Ceedling defaults to using gcc for compiling, linking, etc.
  71. # As [:tools] is blank, gcc will be used (so long as it's in your system path)
  72. # See documentation to configure a given toolchain for use
  73. # LIBRARIES
  74. # These libraries are automatically injected into the build process. Those specified as
  75. # common will be used in all types of builds. Otherwise, libraries can be injected in just
  76. # tests or releases. These options are MERGED with the options in supplemental yaml files.
  77. :libraries:
  78. :placement: :end
  79. :flag: "${1}" # or "-L ${1}" for example
  80. :common: &common_libraries []
  81. :test:
  82. - *common_libraries
  83. :release:
  84. - *common_libraries
  85. :plugins:
  86. :load_paths:
  87. - vendor/ceedling/plugins
  88. :enabled:
  89. - stdout_pretty_tests_report
  90. - module_generator
  91. - raw_output_report
  92. - colour_report
  93. ...