From 77363128e1bf8e203d621fbb1c5e6be4f5661817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20Trma=C4=8D?= Date: Tue, 15 Feb 2022 12:17:45 +0100 Subject: [PATCH 1/2] Don't expect the config blob to be listed in (skopeo inspect) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ... because it currently isn't. Signed-off-by: Miloslav Trmač --- systemtest/010-inspect.bats | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/systemtest/010-inspect.bats b/systemtest/010-inspect.bats index 5da3772e..7a04d3bf 100644 --- a/systemtest/010-inspect.bats +++ b/systemtest/010-inspect.bats @@ -27,11 +27,18 @@ load helpers # Now run inspect locally run_skopeo inspect dir:$workdir inspect_local=$output + run_skopeo inspect --raw dir:$workdir + inspect_local_raw=$output + config_digest=$(jq -r '.config.digest' <<<"$inspect_local_raw") - # Each SHA-named file must be listed in the output of 'inspect' + # Each SHA-named layer file (but not the config) must be listed in the output of 'inspect'. + # As of Skopeo 1.6, (skopeo inspect)'s output lists layer digests, + # but not the digest of the config blob ($config_digest), if any. for sha in $(find $workdir -type f | xargs -l1 basename | egrep '^[0-9a-f]{64}$'); do - expect_output --from="$inspect_local" --substring "sha256:$sha" \ - "Locally-extracted SHA file is present in 'inspect'" + if [ "sha256:$sha" != "$config_digest" ]; then + expect_output --from="$inspect_local" --substring "sha256:$sha" \ + "Locally-extracted SHA file is present in 'inspect'" + fi done # Simple sanity check on 'inspect' output. From 49d9fa9faf0d4a3acca5b627d29748d6450ad866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20Trma=C4=8D?= Date: Tue, 15 Feb 2022 16:07:54 +0100 Subject: [PATCH 2/2] Only look for the layer digests in the Layers field. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miloslav Trmač --- systemtest/010-inspect.bats | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/systemtest/010-inspect.bats b/systemtest/010-inspect.bats index 7a04d3bf..98d95f79 100644 --- a/systemtest/010-inspect.bats +++ b/systemtest/010-inspect.bats @@ -34,9 +34,10 @@ load helpers # Each SHA-named layer file (but not the config) must be listed in the output of 'inspect'. # As of Skopeo 1.6, (skopeo inspect)'s output lists layer digests, # but not the digest of the config blob ($config_digest), if any. + layers=$(jq -r '.Layers' <<<"$inspect_local") for sha in $(find $workdir -type f | xargs -l1 basename | egrep '^[0-9a-f]{64}$'); do if [ "sha256:$sha" != "$config_digest" ]; then - expect_output --from="$inspect_local" --substring "sha256:$sha" \ + expect_output --from="$layers" --substring "sha256:$sha" \ "Locally-extracted SHA file is present in 'inspect'" fi done