Files
logwisp/cmd/lw/test_helpers_test.go
T
lixen bf410e1225
Test / test (push) Canceled after 0s
Test / e2e (push) Canceled after 0s
v0.23.0 color, presets, certificates made at startup, cli.go, sink flush
2026-10-04 03:44:12 -04:00

50 lines
1.2 KiB
Go

package main
import (
"bytes"
"testing"
"github.com/lixenwraith/logwisp/internal/config"
"github.com/lixenwraith/logwisp/internal/testutil"
"github.com/lixenwraith/log"
)
func testLogger(t *testing.T) {
t.Helper()
previous := logger
logger = log.NewLogger()
t.Cleanup(func() { logger = previous })
}
func loadTestConfig(t *testing.T, path string, args ...string) *config.Config {
t.Helper()
testutil.ClearEnvPrefix(t, "LOGWISP_")
inv, err := parseCommandLine(append([]string{"-c", path, "--quiet", "--status_reporter=false"}, args...))
if err != nil {
t.Fatal(err)
}
m, err := config.Load(inv.load)
if err != nil {
t.Fatal(err)
}
t.Cleanup(m.Close)
cfg, err := m.Snapshot()
if err != nil {
t.Fatal(err)
}
return cfg
}
// runCommand runs `lw NAME ARGS...` and returns its exit status and output
func runCommand(t *testing.T, name string, args ...string) (code int, stdout, stderr string) {
t.Helper()
inv, err := parseCommandLine(append([]string{name}, args...))
if err != nil || inv.command == nil {
t.Fatalf("lw %s: not a command: %v", name, err)
}
var out, errOut bytes.Buffer
code = inv.command.run(inv.args, &out, &errOut)
return code, out.String(), errOut.String()
}