Repository navigation
Conversation
Wokwi CI needs paid credits; simavr is free, unlimited and runs locally. - New `uno_sim` environment: the tests run in simavr (platformio/tool-simavr, a bare ATmega328P at 16 MHz, UART0 on stdout) and PlatformIO parses the Unity output itself. No upload step. - Every embedded test now calls haltAfterTests() right after UNITY_END(): the suite runs once instead of being repeated by loop(), and simavr exits (it quits when the CPU sleeps with interrupts disabled). Wokwi hid the repetition by stopping at the first "OK". - CI: one "Embedded tests (simavr)" job runs every embedded test, benchmarks included (simavr is cycle-accurate), with a 15-minute timeout. The test discovery job, Wokwi CLI, JUnit conversion, test reporter and the WOKWI_CLI_TOKEN secret are no longer used. - The wokwi.toml / diagram.json files are kept for the Wokwi VS Code extension. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Wokwi CI uses paid credits, and they are nearly used up. simavr runs the same embedded tests for free: no limits, no account, no token, and it also runs locally (Linux/WSL).
The Wokwi setup only ever used a bare Arduino Uno (
diagram.jsonhas no parts and no connections). The tests only exercise the ATmega328P itself: CPU math, pin registers, UART and timers. simavr emulates all of that cycle-accurately.Changes
uno_simenvironment (platformio.ini). The tests run in simavr (platformio/tool-simavr, ATmega328P at 16 MHz, UART0 on stdout), and PlatformIO reads the Unity results itself. There is no upload step. Run it locally withpio test -e uno_sim.UNITY_END()insideloop(), so it repeated forever or spun silently. Wokwi hid this by stopping at the firstOK. A small helper,haltAfterTests()(test/embedded/halt_after_tests.h), is now called right afterUNITY_END(): the suite runs once, and simavr exits (it quits when the CPU sleeps with interrupts disabled).checks: writepermission and the use ofWOKWI_CLI_TOKEN.wokwi.tomlanddiagram.json, so the tests can still be run interactively in the Wokwi VS Code extension.test/README.mdand one outdated comment intest_voltage_accumulation.Testing
_perfbenchmarks), 93 test cases in ~1 min 40 s.test_divu2: Expected 7 Was 1 [FAILED]and exits with code 1.actionlintpasses.git merge-treeshows no conflicts with feat: support several remote load units #160, feat: decide the loads just before L1's zero crossing, on a predicted bucket #162 or perf: integer energy bucket, no float or division in the ADC ISR #163. The@dateline oftest_mult_asmis set to perf: integer energy bucket, no float or division in the ADC ISR #163's value so both branches make the same change.Notes
test_mult_asmandtest_voltage_accumulation.WOKWI_CLI_TOKENsecrets (Actions and Dependabot) are no longer used and can be deleted.🤖 Generated with Claude Code