You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.4 KiB

11 months ago
  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: FALSE
  8. :use_test_preprocessor: TRUE
  9. :use_auxiliary_dependencies: TRUE
  10. :build_root: target
  11. # :release_build: TRUE
  12. :test_file_prefix: test_
  13. :which_ceedling: gem
  14. :ceedling_version: 0.31.1
  15. :default_tasks:
  16. - test:all
  17. #:test_build:
  18. # :use_assembly: TRUE
  19. #:release_build:
  20. # :output: MyApp.out
  21. # :use_assembly: FALSE
  22. :environment:
  23. :extension:
  24. :executable: .out
  25. :paths:
  26. :test:
  27. - +:src/test/c/**
  28. - -:src/test/c/support
  29. :include:
  30. - src/main/c/**
  31. :source:
  32. - src/main/c/**
  33. :support:
  34. - src/test/c/support
  35. :libraries: []
  36. :defines:
  37. # in order to add common defines:
  38. # 1) remove the trailing [] from the :common: section
  39. # 2) add entries to the :common: section (e.g. :test: has TEST defined)
  40. :common: &common_defines []
  41. :test:
  42. - *common_defines
  43. - TEST
  44. :test_preprocess:
  45. - *common_defines
  46. - TEST
  47. :cmock:
  48. :mock_prefix: mock_
  49. :when_no_prototypes: :warn
  50. :enforce_strict_ordering: TRUE
  51. :plugins:
  52. - :ignore
  53. - :callback
  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. :reports:
  65. - HtmlDetailed
  66. :gcovr:
  67. :html_medium_threshold: 75
  68. :html_high_threshold: 90
  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: "-l${1}"
  80. :path_flag: "-L ${1}"
  81. :system: [] # for example, you might list 'm' to grab the math library
  82. :test: []
  83. :release: []
  84. :plugins:
  85. :load_paths:
  86. - "#{Ceedling.load_path}"
  87. :enabled:
  88. - stdout_pretty_tests_report
  89. - module_generator
  90. ...