mirror of
https://github.com/shadowsocks/ShadowsocksX-NG.git
synced 2026-11-11 18:15:06 +00:00
Four listening-file failure cases inject InMemoryProxyListeningStore.saveError and assert saved == nil, which the fixture guarantees because save throws before assigning; the only production save call is updateListening and none of these paths reaches it. Their behavioral content is covered by sibling tests, so keep only the three assertions that were unique there (agent intent persistence, runtime stopped after the off cascade, no commit in flight) and move them into those siblings. Same pattern in testProxyExceptionsIgnoreListeningPersistenceFailure: the path calls only the non-throwing updateProxyExceptions, so its updateError injection is inert and the rest duplicates the sibling case. The plugin diagnostic test fed an unproducible fixture (user-sourced facts never carry a version, since managedInfo exists only for managed sources); assert the reachable property, the source label in the report row. FakeSettingsSaveError and the now-unused saveError seam go with them. Co-Authored-By: DeepSeek Harness <noreply@deepseek.com>