check / check (push) Waiting to run
Takes .golangci.yml, .dockerignore, .gitignore, .editorconfig, the workflow and REPO_POLICIES.md from sneak/prompts dd4027b, keeping this repository's own entries after the shared content. Lint (golangci-lint v2.14.0) and test become Dockerfile phases that script/lint and script/test build alone and uncached; the image build depends on both, and script/cibuild bootstraps, runs script/check, then builds the image. The agent guidance file moves to AGENTS.md. The Go code is fixed for what the new configuration finds; reads that iterate rows now also report an iteration error. Model: opus-5-5
28 lines
657 B
Go
28 lines
657 B
Go
package metrics_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.eeqj.de/sneak/routewatch/internal/metrics"
|
|
)
|
|
|
|
// TestReconnectCount connects three times with a disconnect between each, the
|
|
// way the streamer does, and expects every connection after the first to count
|
|
// one reconnect.
|
|
func TestReconnectCount(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
tracker := metrics.New()
|
|
|
|
tracker.SetConnected(true)
|
|
tracker.SetConnected(false)
|
|
tracker.SetConnected(true)
|
|
tracker.SetConnected(false)
|
|
tracker.SetConnected(true)
|
|
|
|
const wantReconnects = 2
|
|
if got := tracker.GetReconnectCount(); got != wantReconnects {
|
|
t.Fatalf("reconnect count = %d, want %d", got, wantReconnects)
|
|
}
|
|
}
|