rusefi-1/unit_tests
Matthew Kennedy a718f3a30a
Remove fsio part 1 (#3871)
* dead includes

* move last logic out of fsio

* dead functions
2022-02-01 15:42:04 -05:00
..
chibios-mock
googletest@dcc92d0ab6
test_basic_math refactoring 2021-12-24 16:51:31 -05:00
tests Remove fsio part 1 (#3871) 2022-02-01 15:42:04 -05:00
.cproject
.gitignore
.project
Makefile mk files refactoring 2022-01-06 22:19:00 -05:00
adc_inputs.h trigger_adc unit tests 2021-12-01 13:35:44 -05:00
boards.cpp remove engine pointer passing (#3556) 2021-11-16 04:15:29 -05:00
boards.h
ci_gcov.sh use -C flag (#3811) 2022-01-18 19:25:59 -05:00
clean_compile.bat
clean_compile.sh
efifeatures.h main relay doesn't use fsio (#3580) 2021-11-24 07:47:51 -05:00
engine_test_helper.cpp migrating to SensorType::Rpm API 2022-01-20 23:32:59 -05:00
engine_test_helper.h Code style for methods with zero arguments #3535 2022-01-11 22:40:52 -05:00
global.h refactoring 2021-12-24 16:51:31 -05:00
global_execution_queue.cpp
global_execution_queue.h
global_mocks.cpp Code style for methods with zero arguments #3535 2022-01-11 22:40:52 -05:00
globalaccess.h Final cleanup of ENGINE macros (#3567) 2021-11-17 13:45:10 -05:00
gmock-all.cpp
gtest-all.cpp
jenkins.sh
logicdata.cpp
logicdata.h
logicdata_csv_reader.cpp refactoring 2021-12-07 17:00:42 -05:00
logicdata_csv_reader.h trigger_adc unit tests 2021-12-01 13:35:44 -05:00
logicdata_sandbox.cpp
main.cpp
map_resize.cpp
map_resize.h
mocks.cpp test TS writes (#3515) 2021-11-10 07:29:40 -05:00
mocks.h XY Idle VE Table (#3781) 2022-01-20 14:08:54 -05:00
os_access.h
readme.md
rules.mk don't do things that don't work in clang (#3584) 2021-11-20 02:40:41 -05:00
run_clean_gcov.sh
run_gcov.bat
run_logicdata_sandbox.bat
run_sharded_tests.sh
svnversion.h
test.mk
triggers.txt Trigger wheel definitions 2022-01-31 23:31:07 +00:00
unit_test_framework.cpp
unit_test_framework.h
unit_test_rules.mk only c++ because lua does some things asan doesn't like, but don't actually cause overruns. 2021-11-20 03:04:52 -05: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.