MCPcopy Create free account
hub / github.com/ajitpratap0/GoSQLX / TestIntegration_AllDialects

Function TestIntegration_AllDialects

pkg/sql/integration_test.go:118–214  ·  view source on GitHub ↗

TestIntegration_AllDialects tests all SQL files across all dialects

(t *testing.T)

Source from the content-addressed store, hash-verified

116
117// TestIntegration_AllDialects tests all SQL files across all dialects
118func TestIntegration_AllDialects(t *testing.T) {
119 // Get the project root (go up from pkg/sql to project root)
120 projectRoot, err := filepath.Abs(filepath.Join("..", ".."))
121 if err != nil {
122 t.Fatalf("Failed to determine project root: %v", err)
123 }
124
125 files := loadSQLTestFiles(t, projectRoot)
126
127 if len(files) == 0 {
128 t.Skip("No SQL test files found - testdata directory may not exist")
129 }
130
131 t.Logf("Found %d SQL test files to process", len(files))
132
133 var results []TestResult
134 successCount := 0
135 failCount := 0
136
137 // Group tests by dialect for better organization
138 dialectGroups := make(map[string][]SQLTestFile)
139 for _, file := range files {
140 dialectGroups[file.Dialect] = append(dialectGroups[file.Dialect], file)
141 }
142
143 // Run tests for each dialect
144 for dialect, dialectFiles := range dialectGroups {
145 t.Run(dialect, func(t *testing.T) {
146 dialectSuccess := 0
147 dialectFail := 0
148
149 for _, file := range dialectFiles {
150 t.Run(file.Name, func(t *testing.T) {
151 result := testSQLFile(t, file)
152 results = append(results, result)
153
154 if result.Success {
155 dialectSuccess++
156 successCount++
157 } else {
158 dialectFail++
159 failCount++
160 t.Logf("Failed to parse %s: %v", file.Name, result.Error)
161 }
162 })
163 }
164
165 t.Logf("Dialect %s: %d passed, %d failed (%.1f%% success rate)",
166 dialect, dialectSuccess, dialectFail,
167 100.0*float64(dialectSuccess)/float64(dialectSuccess+dialectFail))
168 })
169 }
170
171 // Summary statistics
172 t.Logf("\n=== Integration Test Summary ===")
173 t.Logf("Total files tested: %d", len(files))
174 t.Logf("Successful parses: %d", successCount)
175 t.Logf("Failed parses: %d", failCount)

Callers

nothing calls this directly

Calls 4

loadSQLTestFilesFunction · 0.85
testSQLFileFunction · 0.85
RunMethod · 0.80
FatalfMethod · 0.65

Tested by

no test coverage detected