rusefi_documentation/Dev-Quality-Control.md

48 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# Development Quality Control
We love our engines and we want them to live a long & happy life. That's why we have a three-tier quality assurance process:
2023-02-26 06:33:25 -08:00
* Continuous Integration: Unit testing with Github Actions with [ASan](https://github.com/google/sanitizers/wiki/AddressSanitizer)
* built-in trigger signal simulation
* [Simulator](Virtual-simulator)
For current coverage report see [the coverage page](https://rusefi.com/docs/unit_tests_coverage/)
2021-01-12 13:11:15 -08:00
## Hardware Continuous Integration
2024-02-18 14:07:04 -08:00
### STM32F407G-DISC1
Since 2015 there is always a stm32f4 board listening for VCS updates running rusEFI hardware continues integration, "HW CI" for short.
Anyone can execute real hardware test suite by invoking. This command would detect rusEFI hardware automatically and invoke
2023-02-26 06:34:50 -08:00
HwCiF4Discovery.java
``java -jar rusefi_console.jar functional_test``
2023-01-02 11:22:23 -08:00
The following jumper wires are used to test some subsystems as realistically as possible:
2023-01-02 11:22:23 -08:00
* PD1 <=> PC6
* PD2 <=> PA5
2024-02-18 14:07:04 -08:00
### Proteus F4
2024-03-10 18:00:13 -07:00
See https://github.com/rusefi/rusefi/blob/c309174fdbb6b082113ac320294066c37922f2ce/java_console/autotest/src/main/java/com/rusefi/proteus/ProteusAnalogTest.java#L22
2024-02-18 21:04:25 -08:00
2024-02-18 21:29:58 -08:00
### On setting new MXLinux runners
2024-02-18 21:06:45 -08:00
2024-02-18 21:53:03 -08:00
https://github.com/rusefi/rusefi/settings/actions/runners use ``hw-ci-f4-discovery`` or ``hw-ci-proteus-f7`` group name while adding runner.
2024-02-18 21:04:25 -08:00
``sudo mx-boot-options`` to set systemd as default
2024-03-19 10:31:07 -07:00
``ufw allow 22``
2024-02-18 21:04:25 -08:00
https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service
2024-02-29 20:26:29 -08:00
https://elinux.org/Accessing_Devices_without_Sudo
``sudo useradd -G plugdev USERNAME``
``echo 'ATTRS{idProduct}=="374b", ATTRS{idVendor}=="0483", MODE="666", GROUP="plugdev"' > /etc/udev/rules.d/10-my-openocd.rules``
``sudo udevadm trigger``