Skip to content

Conversation

@Silvanoc
Copy link
Contributor

@Silvanoc Silvanoc commented Jan 28, 2026

Running the tests against a local ZOT registry it is possible to observe that the tests don't delete properly all pushed manifests and blobs. This PR introduces a list to keep track of pushed manifests and blobs to properly clean them up on test termination.

Additionally reducing code duplication through the introduction of functions for pushing and deleting manifests and blobs.

Define functions to create and delete manifests. This way multiple
issues are addressed:
- Code readability improves a lot.
- Response is strictly validated.
- Keep track of created manifests to cleanup them all during teardown.

Previously list of manifests to be cleanup was manually maintained and
was error prone. Manifests are deleted in the reverse creation order to
avoid dependency issues.

This is a pure refactoring, no external changes can be observed.

Signed-off-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>
Define functions to create and delete blobs. This way multiple issues
are addressed:
- Code readability improves a lot.
- Response is strictly validated.
- Keep track of created blobs to cleanup them all during teardown.

Previously list of blobs to be cleanup was manually maintained and was
error prone.
Blobs are deleted in the reverse creation order to avoid dependency
issues.

This is a pure refactoring, no external changes can be observed.

Signed-off-by: Silvano Cirujano Cuesta <silvano.cirujano-cuesta@siemens.com>
@sudo-bmitch
Copy link
Contributor

Hi @Silvanoc. Have you been following #588? My goal is to eventually replace all of this code, so it would be good to know if the new implementation fixes these issues, and focus the development effort there.

@Silvanoc
Copy link
Contributor Author

Hi @Silvanoc. Have you been following #588? My goal is to eventually replace all of this code, so it would be good to know if the new implementation fixes these issues, and focus the development effort there.

@sudo-bmitch no I haven't seen it. You already recommended me over 1 year ago to wait for a refactoring of the conformance tests. But not seeing any movement for months and seeing in your personal webpage that you are semi-retired, I thought it wouldn't happen. So I started it before #588 was started.

I will check if my fixes are already addressed in that PR.

How close is that PR to get merged? Because my fixes are small steps that bring something and could possibly be merged straight away if that PR is going to need some time.

@sudo-bmitch
Copy link
Contributor

@sudo-bmitch no I haven't seen it. You already recommended me over 1 year ago to wait for a refactoring of the conformance tests. But not seeing any movement for months and seeing in your personal webpage that you are semi-retired, I thought it wouldn't happen. So I started it before #588 was started.

Work on the v2 branch started over a year ago (the commit timestamps are all thrown off from rebases). I'm still an active maintainer here.

How close is that PR to get merged?

There's a list of remaining tasks in the PR. Once they are done, I'm guessing it will take time for the maintainers to review.

Because my fixes are small steps that bring something and could possibly be merged straight away if that PR is going to need some time.

Looking at this diff, we have different definitions of "small steps". 😄

@Silvanoc
Copy link
Contributor Author

@sudo-bmitch no I haven't seen it. You already recommended me over 1 year ago to wait for a refactoring of the conformance tests. But not seeing any movement for months and seeing in your personal webpage that you are semi-retired, I thought it wouldn't happen. So I started it before #588 was started.

Work on the v2 branch started over a year ago (the commit timestamps are all thrown off from rebases). I'm still an active maintainer here.

Then it's probably the same you mentioned 1 year ago, I thought it was a new one.

If it's been open for over a year, I don't see a reason for blocking other people from improving the currently available setup. It also helps reducing the time pressure on the new version. I don't expect you to invest much time of it. I'm trying to prepare the patches to simplify the review as much as possible.

Because my fixes are small steps that bring something and could possibly be merged straight away if that PR is going to need some time.

Looking at this diff, we have different definitions of "small steps". 😄

I mean "small" from a functional point of view. This step is mostly a refactoring, with a small fix (that nothing is left behind).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants