From 94d6a3e83758b2574bb144b72c3fe89e716f264f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 19 May 2026 01:50:08 +0000 Subject: [PATCH] test(sync): retry RemoveAll on ENOTEMPTY in flaky extension test Agent-Logs-Url: https://github.com/project-zot/zot/sessions/a8131207-64f5-4461-962a-19aab205da7d Co-authored-by: rchincha <45800463+rchincha@users.noreply.github.com> --- pkg/extensions/sync/sync_test.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/extensions/sync/sync_test.go b/pkg/extensions/sync/sync_test.go index 0a11624a..307bb05d 100644 --- a/pkg/extensions/sync/sync_test.go +++ b/pkg/extensions/sync/sync_test.go @@ -17,6 +17,7 @@ import ( "reflect" "strconv" "strings" + "syscall" goSync "sync" "testing" "time" @@ -1550,7 +1551,17 @@ func TestDockerImagesAreSkipped(t *testing.T) { // trigger config blob upstream error // remove synced image - err = os.RemoveAll(path.Join(destDir, testImage)) + downstreamImagePath := path.Join(destDir, testImage) + + for retry := 0; retry < 5; retry++ { + err = os.RemoveAll(downstreamImagePath) + if err == nil || !errors.Is(err, syscall.ENOTEMPTY) { + break + } + + time.Sleep(100 * time.Millisecond) + } + So(err, ShouldBeNil) configBlobPath := path.Join(srcDir, testImage, "blobs/sha256", configBlobDigest.Encoded())