MCPcopy Index your code
hub / github.com/linuxkit/linuxkit / TestCleanDanglingReferences

Function TestCleanDanglingReferences

src/cmd/linuxkit/cache/push_test.go:16–166  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestCleanDanglingReferences(t *testing.T) {
17 // Create some base images to use for digest references
18 baseImg1, err := random.Image(1024, 1)
19 require.NoError(t, err)
20 baseImg1Digest, err := baseImg1.Digest()
21 require.NoError(t, err)
22
23 baseImg2, err := random.Image(1024, 1)
24 require.NoError(t, err)
25 baseImg2Digest, err := baseImg2.Digest()
26 require.NoError(t, err)
27
28 // Create valid platform manifests
29 platformManifest1 := v1.Descriptor{
30 MediaType: types.OCIManifestSchema1,
31 Digest: baseImg1Digest,
32 Platform: &v1.Platform{
33 Architecture: "amd64",
34 OS: "linux",
35 },
36 }
37
38 platformManifest2 := v1.Descriptor{
39 MediaType: types.OCIManifestSchema1,
40 Digest: baseImg2Digest,
41 Platform: &v1.Platform{
42 Architecture: "arm64",
43 OS: "linux",
44 },
45 }
46
47 // create an index with just those manifests
48
49 // Build index
50 index := mutate.AppendManifests(empty.Index,
51 mutate.IndexAddendum{Add: baseImg1, Descriptor: platformManifest1},
52 mutate.IndexAddendum{Add: baseImg2, Descriptor: platformManifest2},
53 )
54
55 // Call the function
56 cleaned, err := cleanDanglingReferences(index)
57 require.NoError(t, err)
58
59 // Get resulting manifest list
60 manifest, err := cleaned.IndexManifest()
61 require.NoError(t, err)
62
63 // Check that the same 2 manifests remain: platformManifest1 and platformManifest2
64 require.Len(t, manifest.Manifests, 2)
65
66 // next add sbom references to the index
67 sbom1, err := random.Image(1024, 1)
68 require.NoError(t, err)
69 sbom1Digest, err := sbom1.Digest()
70 require.NoError(t, err)
71
72 sbom2, err := random.Image(1024, 1)
73 require.NoError(t, err)

Callers

nothing calls this directly

Calls 4

cleanDanglingReferencesFunction · 0.85
ImageMethod · 0.65
DigestMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected