Thomas Papendieck
2 years ago
commit
35c7f4ef24
3 changed files with 134 additions and 0 deletions
-
31README.md
-
2create_folders.sh
-
101project.yml
@ -0,0 +1,31 @@ |
|||
# Testen in der Programmiersprache C |
|||
|
|||
## Voraussetzungen |
|||
|
|||
### Benötigte Software |
|||
#### auf ihrem privaten Rechner |
|||
- Installieren Sie das Build-Tool `ceedling` (http://www.throwtheswitch.org/ceedling) |
|||
- installieren Sie Ruby (https://www.ruby-lang.org/en/downloads/) |
|||
|
|||
#### privat oder Labor |
|||
clonen sie folgende Projekte von Github in einem Ordner parallel zu Ihren C-Projekten. |
|||
> Zielstruktur: |
|||
> |
|||
> */Projekte |
|||
> +- CMock |
|||
> +- Unity |
|||
> +- Projekt1 |
|||
> +- Projekt2 |
|||
> ... |
|||
|
|||
- *Unity* (Testing-Framework) https://github.com/ThrowTheSwitch/Unity |
|||
- *CMock* https://github.com/ThrowTheSwitch/CMock |
|||
|
|||
- im Verzeichnis CMock dieses Kommando ausführen: |
|||
`bundle install` |
|||
|
|||
### Übungsprojekt |
|||
|
|||
- dieses Projekt in ein Verzeichnis parallel zu *Unity* und *CMock* clonen |
|||
- in einer *git-bash* diesem Verzeichnis dieses Kommando ausführen: |
|||
`sh create_folders.sh` |
@ -0,0 +1,2 @@ |
|||
mkdir -p src/main/c |
|||
mkdir -p src/test/c/support |
@ -0,0 +1,101 @@ |
|||
--- |
|||
|
|||
# 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. |
|||
|
|||
: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 |
|||
:ceedling_version: 0.31.1 |
|||
:default_tasks: |
|||
- test:all |
|||
|
|||
#:test_build: |
|||
# :use_assembly: TRUE |
|||
|
|||
#:release_build: |
|||
# :output: MyApp.out |
|||
# :use_assembly: FALSE |
|||
|
|||
:environment: |
|||
|
|||
:extension: |
|||
:executable: .out |
|||
|
|||
:paths: |
|||
:test: |
|||
- +:src/test/c/** |
|||
- -:src/test/c/support |
|||
:source: |
|||
- src/main/c/** |
|||
:support: |
|||
- src/test/c/support |
|||
:libraries: [/usr/include/] |
|||
|
|||
: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 |
|||
:test_preprocess: |
|||
- *common_defines |
|||
- TEST |
|||
|
|||
:cmock: |
|||
:mock_prefix: mock_ |
|||
:when_no_prototypes: :warn |
|||
:enforce_strict_ordering: TRUE |
|||
:plugins: |
|||
- :ignore |
|||
- :callback |
|||
:treat_as: |
|||
uint8: HEX8 |
|||
uint16: HEX16 |
|||
uint32: UINT32 |
|||
int8: INT8 |
|||
bool: UINT8 |
|||
|
|||
# Add -gcov to the plugins list to make sure of the gcov plugin |
|||
# You will need to have gcov and gcovr both installed to make it work. |
|||
# For more information on these options, see docs in plugins/gcov |
|||
:gcov: |
|||
:reports: |
|||
- HtmlDetailed |
|||
:gcovr: |
|||
:html_medium_threshold: 75 |
|||
:html_high_threshold: 90 |
|||
|
|||
#: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: "-l${1}" |
|||
:path_flag: "-L ${1}" |
|||
:system: [] # for example, you might list 'm' to grab the math library |
|||
:test: [] |
|||
:release: [] |
|||
|
|||
:plugins: |
|||
:load_paths: |
|||
- "#{Ceedling.load_path}" |
|||
:enabled: |
|||
- stdout_pretty_tests_report |
|||
- module_generator |
|||
... |
Write
Preview
Loading…
Cancel
Save
Reference in new issue