The suite captured a stack local of initTestCase() by reference in two lambdas that outlive it. Once the function returned they wrote into a stack slot reused by later frames, corrupting the running test: a QSignalSpy reported a phantom emission, reading its recorded arguments segfaulted, and the count changed when unrelated locals were added. Both observed failures came from that, not from the plugin. The two flags are members now. Covers the two remaining claims the offline suites cannot reach: a meter slave ID of 0 opens no second connection against a real device, and losing the meter connection leaves the parent connected and the inverter data flowing, marking only the meter child disconnected. That last test drives one explicit block read first. This bench replaces the plugin timer with a null object, on purpose, so nothing would otherwise ever mark a child connected and the cut would prove nothing. Run against the bench simulator: 8 tests, 8 green. Each of the two corrections was confirmed able to fail by reintroducing its pre-F3 form. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
etm-powersync-plugins-modbus
Languages
CSS
93.6%
C++
3.3%
HTML
3%