Files
rtnetmon/internal/cli/root_test.go
T
clawbot 7dd4ac798d
check / check (push) Failing after 0s
Adopt repo standards: scaffold, policies, lint-clean (closes #1)
Standard scaffold: script/ entrypoints with the Makefile as thin shims, a Dockerfile whose lint and test phases gate the build, a Gitea CI workflow running script/cibuild, REPO_POLICIES.md, TODO.md, .editorconfig, .dockerignore, LICENSE, wider .gitignore. .golangci.yml is byte-identical to the canonical copy in the prompts repo.

211 lint findings fixed in code: package globals became functions/fields and a cobra command constructor, magic numbers became named constants, ctx is threaded into the probes, monitor loops split. Tests moved to external _test packages with export_test.go. Behavior unchanged.

Readers will trip over: make lint/test/check now need a Docker daemon; the personal rsync copy/run targets are gone and make run runs locally.
Disclosure: four //nolint:gosec remain on the fixed-argv ping/curl calls and the operator-chosen log file, as the reference repo annotates the same class.
Disclosure: module path left as-is.

Model: opus-4-8 (implementation); fable-5-1 (merge)
2026-09-21 09:22:28 +02:00

26 lines
465 B
Go

//go:build linux
package cli_test
import (
"testing"
"git.eeqj.de/sneak/rtnetmon/internal/cli"
)
func TestNewRootCmd(t *testing.T) {
t.Parallel()
cmd := cli.NewRootCmd()
if cmd.Use != "rtnetmon" {
t.Errorf("Use = %q, want %q", cmd.Use, "rtnetmon")
}
names := []string{"ifaceA", "labelA", "ifaceB", "labelB", "hosts", "logfile"}
for _, name := range names {
if cmd.Flags().Lookup(name) == nil {
t.Errorf("flag %q not registered", name)
}
}
}