fome-fw/unit_tests
Matthew Kennedy 761efd862c
MAP avg uses engine module callbacks (#475)
* use engine module callbacks

* happy tests

* happy small-can-board

* interact with map avg via module

* simplify map avg init

* tweaks

* omit module to disable it instead!

* unnecessary guard

* minor cleanups

* unnecessary branch - lookups for these tables are fine at 0 rpm

* oop
2024-08-29 22:38:30 -07:00
..
chibios-mock
googletest@b10fad38c4
test_basic_math wow, all of this was dead code 2024-07-03 00:37:27 -07:00
tests extend engineModules.apply_all to onEnginePhase 2024-08-28 02:26:16 -07:00
.cproject
.gitignore
.project
Makefile Engine modules participate in the build system (#452) 2024-07-23 18:05:43 -07:00
adc_inputs.h
boards.cpp
boards.h
ci_gcov.sh
efifeatures.h MAP avg uses engine module callbacks (#475) 2024-08-29 22:38:30 -07:00
engine_test_helper.cpp MAP avg uses engine module callbacks (#475) 2024-08-29 22:38:30 -07:00
engine_test_helper.h no need for getTimeNowUs on ETH 2024-04-27 01:48:02 -07:00
global.h setTimeNowUs(): replace global fiddling with a functino call 2024-04-27 01:59:38 -07:00
global_execution_queue.cpp rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
global_execution_queue.h rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
global_mocks.cpp wow, all of this was dead code 2024-07-03 00:37:27 -07:00
gmock-all.cpp
gtest-all.cpp
logicdata.cpp size_t vs int compare fix (#438) 2024-06-03 11:27:29 -07:00
logicdata.h
logicdata_csv_reader.cpp for loop formatting 2024-07-03 00:22:48 -07:00
logicdata_csv_reader.h s 2024-06-03 01:04:58 -07:00
logicdata_sandbox.cpp
main.cpp
mocks.cpp
mocks.h rename Executor -> Scheduler 2024-07-11 17:03:13 -07:00
readme.md
rules.mk
run_clean_gcov.sh
run_gcov.bat
run_logicdata_sandbox.bat
run_sharded_tests.sh
svnversion.h
test.mk
triggers.txt triggers txt 2024-08-05 22:10:45 -07:00
unit_test_framework.cpp
unit_test_framework.h
unit_test_rules.mk Engine modules participate in the build system (#452) 2024-07-23 18:05:43 -07:00

readme.md

TL, DR: just follow tests folder as examples.

  1. Run 'make' to build desktop binary.
  2. Execute fome_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, run like this: build/fome_test --gtest_filter=MyTestName

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.