1. preload busybox image to fix: https://github.com/project-zot/zot/actions/runs/18614431126/job/53077015870?pr=3465 2. stabilize test coverage in by using different error type: https://app.codecov.io/gh/project-zot/zot/pull/3444/indirect-changes 3. attempt to fx an intermitent sync test failure: Failures: * /home/andaaron/zot/pkg/extensions/sync/sync_test.go Line 4857: Expected: digest.Digest("sha256:dc1377539a9db8bf077100bfa3118052feb6b5c67509ca09bdd841e4ac14c4cc") Actual: digest.Digest("sha256:3a3fb31a422846a680f0a07b8b666bdcb1122d912d1adca79523c7bf2715996e") (Should equal)! 4. fix a race condition in sync by, I don't have a link, but this is the failure: * zotregistry.dev/zot/pkg/extensions/sync/sync_test.go Line 5963: Expected: 1 Actual: 2 (Should equal)! 1426 total assertions --- FAIL: TestOnDemandPullsOnce (0.42s) sync_test.go:5921: Goroutine 0: Sending request to http://127.0.0.1:36421/v2/zot-test/manifests/0.0.1 sync_test.go:5921: Goroutine 1: Sending request to http://127.0.0.1:36421/v2/zot-test/manifests/0.0.1 sync_test.go:5921: Goroutine 4: Sending request to http://127.0.0.1:36421/v2/zot-test/manifests/0.0.1 sync_test.go:5921: Goroutine 3: Sending request to http://127.0.0.1:36421/v2/zot-test/manifests/0.0.1 sync_test.go:5921: Goroutine 2: Sending request to http://127.0.0.1:36421/v2/zot-test/manifests/0.0.1 FAIL coverage: 21.4% of statements in ./... FAIL zotregistry.dev/zot/pkg/extensions/sync 255.189s 5. Fix flaky coverage in https://app.codecov.io/gh/project-zot/zot/pull/3465/indirect-changes 6. Stability fix for https://github.com/project-zot/zot/actions/runs/18632536285/job/53119244557?pr=3465 Signed-off-by: Andrei Aaron <andreifdaaron@gmail.com>
BATS Port Allocations
The ports.json file in this directory tracks the port ranges provided for each BATS test that runs concurrently to avoid overlaps.
IANA registered ports range - 1024 to 49151
Adding a new BATS Test file
For the range, use a gap of 10 ports (e.g. 9000 to 9009) and leave a gap of 10 ports between the new range and the last range.
Avoid ranges in the 4000, 8000, and 10000 series as these may overlap with other services such as localstack, fixed port zot, and clustered zot.
For a new BATS test file, add a new entry to ports.json as follows:
replace TEST_DIR with just the directory name of the directory containing your test file.
replace FILENAME with the name of the test file along with its extension e.g. new_test.bats
"TEST_DIR/FILENAME": {
"svc1": {
"begin": 20020,
"end": 20029
},
"svc2": {
"begin": 20040,
"end": 20049
}
}
A test file may have multiple services defined by a unique key. You can use any key for the service identifier, however, ensure that the same key is used in the BATS test file as an argument to the get_free_port_for_service function.