MCPcopy
hub / github.com/containerd/containerd / checkCommitErrorState

Function checkCommitErrorState

core/content/testsuite/testsuite.go:375–526  ·  view source on GitHub ↗
(ctx context.Context, t *testing.T, cs content.Store)

Source from the content-addressed store, hash-verified

373}
374
375func checkCommitErrorState(ctx context.Context, t *testing.T, cs content.Store) {
376 c1, d1 := createContent(256)
377 _, d2 := createContent(256)
378 if err := content.WriteBlob(ctx, cs, "c1", bytes.NewReader(c1), ocispec.Descriptor{Digest: d1}); err != nil {
379 t.Fatal(err)
380 }
381
382 ref := "c1-commiterror-state"
383 w, err := content.OpenWriter(ctx, cs, content.WithRef(ref))
384 if err != nil {
385 t.Fatal(err)
386 }
387 if _, err := w.Write(c1); err != nil {
388 discardWriter(t, w)
389 t.Fatal(err)
390 }
391
392 checkRefNotAvailable(ctx, t, cs, ref)
393
394 // Check exists
395 err = w.Commit(ctx, int64(len(c1)), d1)
396 if err == nil {
397 t.Fatalf("Expected already exists error")
398 } else if !errdefs.IsAlreadyExists(err) {
399 discardWriter(t, w)
400 t.Fatalf("Unexpected error: %+v", err)
401 }
402
403 w, err = content.OpenWriter(ctx, cs, content.WithRef(ref))
404 if err != nil {
405 t.Fatal(err)
406 }
407
408 checkRefNotAvailable(ctx, t, cs, ref)
409
410 if _, err := w.Write(c1); err != nil {
411 discardWriter(t, w)
412 t.Fatal(err)
413 }
414
415 // Check exists without providing digest
416 err = w.Commit(ctx, int64(len(c1)), "")
417 if err == nil {
418 t.Fatalf("Expected already exists error")
419 } else if !errdefs.IsAlreadyExists(err) {
420 discardWriter(t, w)
421 t.Fatalf("Unexpected error: %+v", err)
422 }
423 w.Close()
424
425 w, err = content.OpenWriter(ctx, cs, content.WithRef(ref))
426 if err != nil {
427 t.Fatal(err)
428 }
429
430 checkRefNotAvailable(ctx, t, cs, ref)
431
432 if _, err := w.Write(append(c1, []byte("more")...)); err != nil {

Callers

nothing calls this directly

Calls 11

WriteBlobFunction · 0.92
OpenWriterFunction · 0.92
WithRefFunction · 0.92
discardWriterFunction · 0.85
checkRefNotAvailableFunction · 0.85
FatalMethod · 0.80
createContentFunction · 0.70
WriteMethod · 0.65
CommitMethod · 0.65
CloseMethod · 0.65
TruncateMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…