fome-fw/unit_tests
Matthew Kennedy c47d7394c5 convert throttle model to g/s instead of kg/s 2023-03-16 01:19:03 -07:00
..
chibios-mock
googletest@39a26e12d6 update gtest 2023-02-23 12:07:55 -08:00
test_basic_math
tests convert throttle model to g/s instead of kg/s 2023-03-16 01:19:03 -07:00
.cproject
.gitignore
.project
Makefile remove jni weirdness 2023-02-20 21:18:13 -08:00
adc_inputs.h
boards.cpp
boards.h
ci_gcov.sh
clean_compile.bat
clean_compile.sh tests can have some more, I guess 2023-03-13 14:09:42 -07:00
efifeatures.h joystick, lcd 2023-02-20 21:54:10 -08:00
engine_test_helper.cpp update gtest 2023-02-23 12:07:55 -08:00
engine_test_helper.h Combine angle based event (#4884) 2022-12-10 17:07:02 -05:00
global.h switch to use gitversion.h 2023-02-22 15:39:27 -08:00
global_execution_queue.cpp
global_execution_queue.h
global_mocks.cpp
gmock-all.cpp
gtest-all.cpp update gtest 2023-02-23 12:07:55 -08:00
jenkins.sh fome-ify 2023-02-21 02:29:22 -08:00
logicdata.cpp
logicdata.h
logicdata_csv_reader.cpp invert vvt in one spot, like trigger 2023-02-28 13:13:29 -08:00
logicdata_csv_reader.h
logicdata_sandbox.cpp
main.cpp
map_resize.cpp
map_resize.h
mocks.cpp
mocks.h virtual isEtbMode 2023-02-18 23:57:53 -05:00
readme.md test coverage for antilag #4920 2022-12-30 11:53:47 -05:00
rules.mk remove jni weirdness 2023-02-20 21:18:13 -08:00
run_clean_gcov.sh use fixed number instead of nproc 2023-03-13 14:03:33 -07:00
run_gcov.bat
run_logicdata_sandbox.bat
run_sharded_tests.sh
svnversion.h
test.mk
triggers.txt Trigger wheel definitions 2023-02-20 22:04:48 +00:00
unit_test_framework.cpp
unit_test_framework.h
unit_test_rules.mk unit tests get board name 2023-03-16 01:10:02 -07:00

readme.md

TL, DR: just follow tests folder as examples.

  1. Run 'make' to build desktop binary.
  2. Execute rusefi_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 uncomment and modify main.cpp line ::testing::GTEST_FLAG(filter)

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.