Vorlage für Automatisiertes Testen mit der Programmiersprache C
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.

101 lines
2.4 KiB

1 year ago
1 year 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. :source:
  30. - src/main/c/**
  31. :support:
  32. - src/test/c/support
  33. :libraries: []
  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. :test:
  40. - *common_defines
  41. - TEST
  42. :test_preprocess:
  43. - *common_defines
  44. - TEST
  45. :cmock:
  46. :mock_prefix: mock_
  47. :when_no_prototypes: :warn
  48. :enforce_strict_ordering: TRUE
  49. :plugins:
  50. - :ignore
  51. - :callback
  52. :treat_as:
  53. uint8: HEX8
  54. uint16: HEX16
  55. uint32: UINT32
  56. int8: INT8
  57. bool: UINT8
  58. # Add -gcov to the plugins list to make sure of the gcov plugin
  59. # You will need to have gcov and gcovr both installed to make it work.
  60. # For more information on these options, see docs in plugins/gcov
  61. :gcov:
  62. :reports:
  63. - HtmlDetailed
  64. :gcovr:
  65. :html_medium_threshold: 75
  66. :html_high_threshold: 90
  67. #:tools:
  68. # Ceedling defaults to using gcc for compiling, linking, etc.
  69. # As [:tools] is blank, gcc will be used (so long as it's in your system path)
  70. # See documentation to configure a given toolchain for use
  71. # LIBRARIES
  72. # These libraries are automatically injected into the build process. Those specified as
  73. # common will be used in all types of builds. Otherwise, libraries can be injected in just
  74. # tests or releases. These options are MERGED with the options in supplemental yaml files.
  75. :libraries:
  76. :placement: :end
  77. :flag: "-l${1}"
  78. :path_flag: "-L ${1}"
  79. :system: [] # for example, you might list 'm' to grab the math library
  80. :test: []
  81. :release: []
  82. :plugins:
  83. :load_paths:
  84. - "#{Ceedling.load_path}"
  85. :enabled:
  86. - stdout_pretty_tests_report
  87. - module_generator
  88. ...