MCPcopy Index your code
hub / github.com/coder/coder / TestWriteFailuresNDJSONAppliesCap

Function TestWriteFailuresNDJSONAppliesCap

scripts/gotestsummary/main_test.go:144–181  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

142}
143
144func TestWriteFailuresNDJSONAppliesCap(t *testing.T) {
145 t.Parallel()
146
147 dir := t.TempDir()
148 path := filepath.Join(dir, "failures.ndjson")
149 failures := []failure{
150 {Package: "example.com/pkg", Test: "TestA", Elapsed: 0.10, Output: strings.Repeat("a", 1000)},
151 {Package: "example.com/pkg", Test: "TestB", Elapsed: 0.20, Output: "second"},
152 }
153 summaryLine, err := marshalRecord(truncationRecord{Truncated: true, RemainingFailures: 1})
154 require.NoError(t, err)
155 minimumLine, err := marshalRecord(failureRecord{
156 Package: failures[0].Package,
157 Test: failures[0].Test,
158 ElapsedS: failures[0].Elapsed,
159 Output: "",
160 OutputTruncated: true,
161 })
162 require.NoError(t, err)
163 capBytes := len(summaryLine) + len(minimumLine) + 20
164
165 require.NoError(t, writeFailuresNDJSON(path, failures, capBytes))
166 content, err := os.ReadFile(path)
167 require.NoError(t, err)
168 require.LessOrEqual(t, len(content), capBytes)
169
170 lines := strings.Split(strings.TrimSpace(string(content)), "\n")
171 require.Len(t, lines, 2)
172 var first map[string]any
173 require.NoError(t, json.Unmarshal([]byte(lines[0]), &first))
174 require.Equal(t, true, first["output_truncated"])
175 require.Equal(t, "TestA", first["test"])
176 require.Less(t, len(first["output"].(string)), 1000)
177 var second map[string]any
178 require.NoError(t, json.Unmarshal([]byte(lines[1]), &second))
179 require.Equal(t, true, second["truncated"])
180 require.Equal(t, float64(1), second["remaining_failures"])
181}
182
183func TestRunPackageLevelFailure(t *testing.T) {
184 t.Parallel()

Callers

nothing calls this directly

Calls 8

marshalRecordFunction · 0.85
writeFailuresNDJSONFunction · 0.85
LessMethod · 0.80
TempDirMethod · 0.65
ReadFileMethod · 0.65
LenMethod · 0.45
UnmarshalMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected