Add simavr-based automated test suite #148
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Adds a cycle-accurate AVR emulator test infrastructure using simavr. Tests run actual compiled firmware hex files, providing true integration testing rather than mocked unit tests.
Quick Start
Requirements
# Ubuntu/Debian sudo apt install gcc make libelf-dev avr-libc gcc-avrTest Framework
sim/tests/anduril-test.h/c - Test API providing:
anduril_click(),anduril_multi_click(),anduril_button_set()anduril_get_pwm()returns main2, led3, led4 valuesanduril_run_ticks()advances WDT cyclesTEST_BEGIN,TEST_PASS,TEST_FAIL,ASSERTTest Suites (18 tests)
ATtiny1634 Core
Custom simavr core (sim/simavr-core/) for the ATtiny1634 MCU:
Usage
Directory Structure
Dependencies
Requires simavr with ATtiny1634 support. Until upstream merges the core:
Test Plan