(ctx context.Context, t *testing.T, cs content.Store)
| 373 | } |
| 374 | |
| 375 | func 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 { |
nothing calls this directly
no test coverage detected
searching dependent graphs…