INNER CODE UNIT · Go
TestCLI
xo/usql · cli_test.go:198
func TestCLI(t *testing.T) {
if runtime.GOOS != "linux" && runtime.GOOS != "darwin" {
t.Skipf("recording a terminal session needs a pseudo-terminal, which %s does not provide", runtime.GOOS)
}
for _, s := range sessions() {
t.Run(s.Name, func(t *testing.T) {
tr, err := capture.Record(context.Background(), usqlPath, s)
if err != nil {
t.Fatalf("recording %s: %v", s.Name, err)
}
tr.Apply(scrubbers)
got := tr.Encode()
golden := filepath.Join("testdata", "cli", s.Name+".txt")
if *update {
if err := os.MkdirAll(filepath.Dir(golden), 0o755); err != nil {
t.Fatalf("creating %s: %v", filepath.Dir(golden), err)
}
if err := os.WriteFile(golden, []byte(got), 0o644); err != nil {