MCPcopy Index your code
hub / github.com/klauspost/compress / testDecoderFileBad

Function testDecoderFileBad

zstd/decoder_test.go:1135–1195  ·  view source on GitHub ↗
(t *testing.T, fn string, newDec func() (*Decoder, error), errMap map[string]string)

Source from the content-addressed store, hash-verified

1133}
1134
1135func testDecoderFileBad(t *testing.T, fn string, newDec func() (*Decoder, error), errMap map[string]string) {
1136 zr := testCreateZipReader(fn, t)
1137 var want = make(map[string][]byte)
1138 for _, tt := range zr.File {
1139 if strings.HasSuffix(tt.Name, ".zst") {
1140 continue
1141 }
1142 r, err := tt.Open()
1143 if err != nil {
1144 t.Fatal(err)
1145 return
1146 }
1147 want[tt.Name+".zst"], _ = io.ReadAll(r)
1148 }
1149
1150 dec, err := newDec()
1151 if err != nil {
1152 t.Error(err)
1153 return
1154 }
1155 defer dec.Close()
1156 for _, tt := range zr.File {
1157 t.Run(tt.Name, func(t *testing.T) {
1158 defer timeout(10 * time.Second)()
1159 r, err := tt.Open()
1160 if err != nil {
1161 t.Error(err)
1162 return
1163 }
1164 defer r.Close()
1165 err = dec.Reset(r)
1166 if err != nil {
1167 t.Error(err)
1168 return
1169 }
1170 got, err := io.ReadAll(dec)
1171 if err == ErrCRCMismatch && !strings.Contains(tt.Name, "badsum") {
1172 t.Error(err)
1173 return
1174 }
1175 if err == nil {
1176 want := errMap[tt.Name]
1177 if want == "" {
1178 want = "<error>"
1179 }
1180 t.Error("Did not get expected error", want, "- got", len(got), "bytes")
1181 return
1182 }
1183 if errMap[tt.Name] == "" {
1184 errMap[tt.Name] = err.Error()
1185 } else {
1186 want := errMap[tt.Name]
1187 if want != err.Error() {
1188 t.Errorf("error mismatch, prev run got %s, now got %s", want, err.Error())
1189 }
1190 return
1191 }
1192 t.Log("got error", err)

Callers 1

TestNewDecoderBadFunction · 0.85

Calls 7

testCreateZipReaderFunction · 0.85
timeoutFunction · 0.85
FatalMethod · 0.80
CloseMethod · 0.65
ResetMethod · 0.65
OpenMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…