fome-fw/unit_tests
Matthew Kennedy f3b335fe8d
all generated files in one dir (#348)
* delete existing generated source files

* ignore new generated dir

* move all the generated files

* cleanup

* jars

* makefile

* bootloader

* simulator+tests
2024-01-17 14:25:00 -08:00
..
chibios-mock
googletest@b10fad38c4 update googletest, because why not 2023-11-17 00:20:21 -08:00
test_basic_math fix tests for no shadowing 2023-11-01 17:31:08 -07:00
tests Actually separate injector model for second stage 2024-01-16 23:11:01 -08:00
.cproject
.gitignore
.project
Makefile all generated files in one dir (#348) 2024-01-17 14:25:00 -08:00
adc_inputs.h
boards.cpp
boards.h
ci_gcov.sh
clean_compile.bat
clean_compile.sh
efifeatures.h
engine_test_helper.cpp these lines just did NOTHING? 2023-11-01 17:16:14 -07:00
engine_test_helper.h
global.h
global_execution_queue.cpp
global_execution_queue.h
global_mocks.cpp
gmock-all.cpp
gtest-all.cpp
jenkins.sh
logicdata.cpp fix tests for no shadowing 2023-11-01 17:31:08 -07:00
logicdata.h
logicdata_csv_reader.cpp fix tests for no shadowing 2023-11-01 17:31:08 -07:00
logicdata_csv_reader.h fix tests for no shadowing 2023-11-01 17:31:08 -07:00
logicdata_sandbox.cpp
main.cpp
map_resize.cpp
map_resize.h
mocks.cpp
mocks.h add postState flag to airmass model calls #107 2023-05-15 17:18:35 -07:00
readme.md
rules.mk
run_clean_gcov.sh
run_gcov.bat
run_logicdata_sandbox.bat
run_sharded_tests.sh
svnversion.h
test.mk
triggers.txt triggers.txt 2023-09-14 13:59:18 -07:00
unit_test_framework.cpp
unit_test_framework.h
unit_test_rules.mk remove ccache (#288) 2023-11-02 11:28:14 -07:00

readme.md

TL, DR: just follow tests folder as examples.

  1. Run 'make' to build desktop binary.
  2. Execute fome_test binary on your PC/Mac, it's expected to say SUCCESS and not fail :) Googletest will also print results summary.
  3. To run only one test, run like this: build/fome_test --gtest_filter=MyTestName

In this folder we have rusEFI unit tests using https://github.com/google/googletest

Unit tests are not aware of ChibiOS or ARM or else, they are just plain C/C++ which you build for your desktop, not your MCU.

Code Coverage Report

See also https://github.com/rusefi/rusefi/wiki/Build-Server-and-Automation

Triggers Images

Trigger images generation is still a two-step manual process:

Step 1: Invoke unit_tests. One of the unit_tests artifacts is triggers.txt

Step 2: Once we have triggers.txt updated by unit_tests we can invoke firmware/gen_trigger_images.bat in order to generate actual trigger images.