rusefi/unit_tests
rusefillc 86a2d1e8e9 better output file name 2023-08-08 20:09:18 -04:00
..
chibios-mock Simpler thread controller (#4327) 2022-08-02 01:16:13 +03:00
googletest@797b0ad2a3 make unit tests compatible with latest googletest fix #2064 2023-06-15 16:46:35 -04:00
native Technical debt: ENUM_32_BITS #3874 2023-06-01 01:45:53 -04:00
test-framework half dead 2023-08-08 18:58:48 -04:00
test_basic_math reducing confusion between library header and rusefi main repo header 2022-09-01 11:35:35 -04:00
tests better output file name 2023-08-08 20:09:18 -04:00
.cproject
.gitignore
.project
Makefile sensor_chart into unit tests 2022-11-06 11:28:25 -05:00
adc_inputs.h
boards.cpp
boards.h
ci_gcov.sh
clean_compile.bat
clean_compile.sh
efifeatures.h encapsulation 2023-08-08 06:59:00 -04:00
engine_test_helper.cpp "Single Tooth" renamed to "Half Moon", more proper "Single Tooth" crank trigger as a new trigger fix #5488 2023-08-06 00:46:33 -04:00
engine_test_helper.h Combine angle based event (#4884) 2022-12-10 17:07:02 -05:00
global.h fix warnings (#4840) 2022-11-27 10:11:14 -05: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 CLI encapsulation preparing for libfirmware move 2023-08-08 18:58:16 -04:00
gmock-all.cpp only:spelling 2023-06-15 14:53:38 -04:00
gtest-all.cpp make unit tests compatible with latest googletest #2064 2023-06-15 16:29:28 -04:00
jenkins.sh
logicdata.cpp What is "Aux PID"? #4807 2022-11-21 00:10:35 -05:00
logicdata.h Rewrite tooth logger buffer management (#4317) 2022-07-04 16:57:17 -04:00
logicdata_csv_reader.cpp change ObdCode to enum class builds firmware 2023-04-29 00:44:00 -04:00
logicdata_csv_reader.h Honda K cam wheels #3405 2022-09-25 00:26:42 -04:00
main.cpp random dev fix 2023-02-21 17:28:14 -05:00
map_resize.cpp
map_resize.h
mocks.cpp
mocks.h Dashpot for return-to-idle from coasting #5303 2023-06-11 18:09:36 -04:00
readme.md Update readme.md 2023-02-26 09:24:59 -05:00
rules.mk Reenable sanitize (#4384) 2022-07-27 09:22:22 +03:00
run_clean_gcov.sh
run_gcov.bat
run_logicdata_sandbox.bat
run_sharded_tests.sh Fix trigger error indicator (#4185) 2022-05-19 09:43:42 -04:00
svnversion.h
test.mk move math (#4353) 2022-07-17 00:16:22 -04:00
trigger_meta_generated.h better output file name 2023-08-08 20:09:18 -04:00
triggers.txt only:Vadim is asking for SyncEdge to be reflected on trigger images #5472 2023-07-29 14:12:10 -04:00
unit_test_framework.cpp
unit_test_framework.h
unit_test_rules.mk JAVA_HOME jni issue 2023-08-06 07:45:42 -04:00

readme.md

See https://github.com/rusefi/rusefi/wiki/Dev-Quality-Control

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.