rusefi-1/unit_tests
GitHub build-unit-tests Action 630347c5e7 Trigger wheel definitions 2022-10-06 02:10:48 +00:00
..
chibios-mock Simpler thread controller (#4327) 2022-08-02 01:16:13 +03:00
googletest@dcc92d0ab6 Closed loop controller base & ETB testing (#1322) 2020-04-19 17:18:47 -04:00
native JNI for test coverage #3965 2022-04-04 22:33:30 -04:00
test_basic_math reducing confusion between library header and rusefi main repo header 2022-09-01 11:35:35 -04:00
tests 2jz test (#4638) 2022-10-05 20:48:28 -04:00
.cproject enabling parallel compilation from Eclipse 2019-01-04 00:18:08 -05:00
.gitignore NB2 hellen-72-rev-d something is off #2958 2021-07-13 11:57:18 -04:00
.project auto-sync 2015-07-10 09:01:56 -04:00
Makefile Lua CAN bus index: let's fail if invalid value specified 2022-08-21 22:31:52 -04:00
adc_inputs.h trigger_adc unit tests 2021-12-01 13:35:44 -05:00
boards.cpp remove mock adc (#3888) 2022-02-03 20:43:34 -05:00
boards.h happy new year 2020-01-08 00:02:40 -05:00
ci_gcov.sh use -C flag (#3811) 2022-01-18 19:25:59 -05:00
clean_compile.bat Review unit_tests/compile.sh fix #3349 2021-10-13 15:33:31 -04:00
clean_compile.sh Review unit_tests/compile.sh fix #3349 2021-10-13 21:09:11 -04:00
efifeatures.h JNI for test coverage #3965 2022-03-15 11:09:54 -04:00
engine_test_helper.cpp two modes trigger scheduler (#4598) 2022-09-20 05:28:23 -04:00
engine_test_helper.h two modes trigger scheduler (#4598) 2022-09-20 05:28:23 -04:00
global.h JNI for test coverage #3965 2022-03-15 13:05:24 -04:00
global_execution_queue.cpp dead code, reduce typedefs (#4566) 2022-09-11 16:08:11 -04:00
global_execution_queue.h dead code, reduce typedefs (#4566) 2022-09-11 16:08:11 -04:00
global_mocks.cpp insist on setBoardConfigOverrides fix #4614 (#4615) 2022-09-24 07:35:19 -04:00
gmock-all.cpp #35 first unit test with a mock! 2019-01-08 01:20:18 -05:00
gtest-all.cpp googletest 2019-01-03 20:14:23 -05:00
jenkins.sh auto-sync 2015-07-10 09:01:56 -04:00
logicdata.cpp Rewrite tooth logger buffer management (#4317) 2022-07-04 16:57:17 -04:00
logicdata.h Rewrite tooth logger buffer management (#4317) 2022-07-04 16:57:17 -04:00
logicdata_csv_reader.cpp Honda K cam wheels #3405 2022-09-25 00:26:42 -04:00
logicdata_csv_reader.h Honda K cam wheels #3405 2022-09-25 00:26:42 -04:00
logicdata_sandbox.cpp unit test framework improvements for smoother event execution 2020-07-20 12:45:26 -04:00
main.cpp things are happy without gtest (#3999) 2022-03-14 15:00:02 -04:00
map_resize.cpp yet more pch (#3068) 2021-08-03 22:05:01 -04:00
map_resize.h code style 2020-04-01 21:32:21 -04:00
mocks.cpp test TS writes (#3515) 2021-11-10 07:29:40 -05:00
mocks.h dead code, reduce typedefs (#4566) 2022-09-11 16:08:11 -04:00
readme.md docs 2021-08-31 04:22:26 -04:00
rules.mk Reenable sanitize (#4384) 2022-07-27 09:22:22 +03:00
run_clean_gcov.sh update all compile scripts to use available cores rather than a hardcoded value (#2425) 2021-03-06 12:55:46 -05:00
run_gcov.bat docs 2020-06-16 18:25:41 -04:00
run_logicdata_sandbox.bat let's add .logicdata for unit tests 2020-07-19 16:13:55 -04:00
run_sharded_tests.sh Fix trigger error indicator (#4185) 2022-05-19 09:43:42 -04:00
svnversion.h occasional tunerstudio CRC errors #1943 2020-11-15 11:53:09 -05:00
test.mk move math (#4353) 2022-07-17 00:16:22 -04:00
triggers.txt Trigger wheel definitions 2022-10-06 02:10:48 +00:00
unit_test_framework.cpp yet more pch (#3068) 2021-08-03 22:05:01 -04:00
unit_test_framework.h yet more pch (#3068) 2021-08-03 22:05:01 -04:00
unit_test_rules.mk Reenable sanitize (#4384) 2022-07-27 09:22:22 +03:00

readme.md

TL, DR: just follow tests folder as examples

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.

  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.

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.