MCPcopy Create free account
hub / github.com/bodgit/sevenzip / TestNewReader

Function TestNewReader

reader_test.go:357–416  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

355}
356
357func TestNewReader(t *testing.T) {
358 t.Parallel()
359
360 tables := []struct {
361 name, file string
362 size int64
363 err error
364 }{
365 {
366 name: testNoHeaderCompression,
367 file: testT07z,
368 },
369 {
370 name: testNoHeaderCompression,
371 file: testT07z,
372 size: -1,
373 err: sevenzip.ErrNegativeSize,
374 },
375 }
376
377 for _, table := range tables {
378 t.Run(table.name, func(t *testing.T) {
379 t.Parallel()
380
381 f, err := os.Open(filepath.Join("testdata", table.file))
382 if err != nil {
383 t.Fatal(err)
384 }
385
386 defer func() {
387 if err := f.Close(); err != nil {
388 t.Fatal(err)
389 }
390 }()
391
392 size := table.size
393 if size == 0 {
394 info, err := f.Stat()
395 if err != nil {
396 t.Fatal(err)
397 }
398
399 size = info.Size()
400 }
401
402 r, err := sevenzip.NewReader(f, size)
403 if table.err == nil {
404 require.NoError(t, err)
405 } else {
406 assert.ErrorIs(t, err, table.err)
407
408 return
409 }
410
411 if err := extractArchive(t, r, -1, crc32.NewIEEE(), iotest.OneByteReader, true); err != nil {
412 t.Fatal(err)
413 }
414 })

Callers

nothing calls this directly

Calls 6

NewReaderFunction · 0.92
extractArchiveFunction · 0.85
SizeMethod · 0.65
OpenMethod · 0.45
CloseMethod · 0.45
StatMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…