Skip to content

Commit d039b85

Browse files
h3n4lclaude
andcommitted
refactor(doris): use recursive directory walking for tests
Use filepath.WalkDir to recursively find all .sql test files in the examples directory, allowing for arbitrarily nested subdirectories. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent ed986d7 commit d039b85

1 file changed

Lines changed: 10 additions & 26 deletions

File tree

doris/parser_test.go

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package doris_test
22

33
import (
4+
"io/fs"
45
"io/ioutil"
5-
"os"
6-
"path"
6+
"path/filepath"
77
"strings"
88
"testing"
99

@@ -38,36 +38,20 @@ func (l *CustomErrorListener) ReportContextSensitivity(recognizer antlr.Parser,
3838
}
3939

4040
func TestDorisParser(t *testing.T) {
41-
examples, err := os.ReadDir("examples")
42-
require.NoError(t, err)
43-
44-
for _, file := range examples {
45-
if file.IsDir() {
46-
// Handle subdirectories like regression/
47-
subdir := path.Join("examples", file.Name())
48-
subFiles, err := os.ReadDir(subdir)
49-
require.NoError(t, err)
50-
for _, subFile := range subFiles {
51-
if subFile.IsDir() || !strings.HasSuffix(subFile.Name(), ".sql") {
52-
continue
53-
}
54-
filePath := path.Join(subdir, subFile.Name())
55-
t.Run(filePath, func(t *testing.T) {
56-
t.Parallel()
57-
runParserTest(t, filePath)
58-
})
59-
}
60-
continue
41+
err := filepath.WalkDir("examples", func(filePath string, d fs.DirEntry, err error) error {
42+
if err != nil {
43+
return err
6144
}
62-
if !strings.HasSuffix(file.Name(), ".sql") {
63-
continue
45+
if d.IsDir() || !strings.HasSuffix(d.Name(), ".sql") {
46+
return nil
6447
}
65-
filePath := path.Join("examples", file.Name())
6648
t.Run(filePath, func(t *testing.T) {
6749
t.Parallel()
6850
runParserTest(t, filePath)
6951
})
70-
}
52+
return nil
53+
})
54+
require.NoError(t, err)
7155
}
7256

7357
func runParserTest(t *testing.T, filePath string) {

0 commit comments

Comments
 (0)