ceremonyclient/pebble/vfs/errorfs/errorfs_test.go

35 lines
815 B
Go
Raw Permalink Normal View History

2024-01-03 07:31:42 +00:00
// Copyright 2023 The LevelDB-Go and Pebble Authors. All rights reserved. Use
// of this source code is governed by a BSD-style license that can be found in
// the LICENSE file.
package errorfs
import (
"fmt"
"strings"
"testing"
"github.com/cockroachdb/datadriven"
)
func TestErrorFS(t *testing.T) {
var sb strings.Builder
datadriven.RunTest(t, "testdata/errorfs", func(t *testing.T, td *datadriven.TestData) string {
sb.Reset()
switch td.Cmd {
case "parse-dsl":
for _, l := range strings.Split(strings.TrimSpace(td.Input), "\n") {
inj, err := ParseDSL(l)
if err != nil {
fmt.Fprintf(&sb, "parsing err: %s\n", err)
} else {
fmt.Fprintf(&sb, "%s\n", inj.String())
}
}
return sb.String()
default:
return fmt.Sprintf("unrecognized command %q", td.Cmd)
}
})
}