rusefi-1/unit_tests
Matthew Kennedy 932f5e1f30
cam/crank sync improvements (#4152)
* clarify getOperationMode

* wait for phase synchronize to transition to sequential mode

* one test

* encapsulate vvtSyncCounter

* test

* Add option to stop VVT sync above some RPM

* getOrZero

* Revert "synchronized Phase handling improvements fix #4099"

This reverts commit 32d46d1f09.

* Revert "m_hasSynchronizedSymmetrical handling improvements #4099"

This reverts commit d5e131b1d0.

* remove synchronizedPhase

* only crank needs this

* changelog

* needsDisambiguation()

* test

* s

* bad merge

* put the timer back

* s

* s

* changelog

* test for new behavior

* correct parameter order

* spelling

* s

* s

* s

* tests merge happy

* bad merge

Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
2022-06-09 17:21:22 -04:00
..
chibios-mock trigger signal debug pins - logic level output #2959 2021-07-15 00:50:29 -04:00
googletest@dcc92d0ab6
native JNI for test coverage #3965 2022-04-04 22:33:30 -04:00
test_basic_math refactoring 2021-12-24 16:51:31 -05:00
tests cam/crank sync improvements (#4152) 2022-06-09 17:21:22 -04:00
.cproject
.gitignore NB2 hellen-72-rev-d something is off #2958 2021-07-13 11:57:18 -04:00
.project
Makefile JNI for test coverage #3965 2022-03-15 13:05:24 -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
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 More trigger encapsulation (#4207) 2022-05-29 13:49:00 -04:00
engine_test_helper.h things are happy without gtest (#3999) 2022-03-14 15:00:02 -04:00
global.h JNI for test coverage #3965 2022-03-15 13:05:24 -04:00
global_execution_queue.cpp Timestamp Error scheduleByTimestampNt too far #3395 2022-05-14 21:24:19 -04:00
global_execution_queue.h Timestamp Error scheduleByTimestampNt too far #3395 2022-05-14 21:24:19 -04:00
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 docs 2021-07-02 22:06:08 -04:00
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 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
mocks.cpp test TS writes (#3515) 2021-11-10 07:29:40 -05:00
mocks.h Timestamp Error scheduleByTimestampNt too far #3395 2022-05-14 21:24:19 -04:00
os_access.h
readme.md docs 2021-08-31 04:22:26 -04:00
rules.mk JNI for test coverage #3965 2022-03-13 00:25:10 -05: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
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 progress 2021-06-26 00:16:41 -04:00
triggers.txt Trigger wheel definitions 2022-06-02 01:35:22 +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 spaces in JAVA_HOME usability 2022-05-24 14:42:42 -04: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.