MCPcopy
hub / github.com/containerd/containerd / TestGCRoots

Function TestGCRoots

core/metadata/gc_test.go:51–174  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

49}
50
51func TestGCRoots(t *testing.T) {
52 db, err := newDatabase(t)
53 require.NoError(t, err)
54
55 alters := []alterFunc{
56 addImage("ns1", "image1", dgst(1), nil),
57 addImage("ns1", "image2", dgst(2), labelmap(string(labelGCSnapRef)+"overlay", "sn2")),
58 addImage("ns2", "image3", dgst(10), labelmap(
59 string(labelGCContentRef), dgst(11).String(),
60 string(labelGCImageRef), "image4",
61 )),
62 addImage("ns2", "image4", dgst(12), labelmap(string(labelGCExpire), time.Now().Format(time.RFC3339))),
63 addImage("ns2", "image5", dgst(13), labelmap(string(labelGCExpire), time.Now().Format(time.RFC3339))),
64 addContainer("ns1", "container1", "overlay", "sn4", nil),
65 addContainer("ns1", "container2", "overlay", "sn5", labelmap(string(labelGCSnapRef)+"overlay", "sn6")),
66 addContainer("ns1", "container3", "overlay", "sn7", labelmap(
67 string(labelGCSnapRef)+"overlay/anything-1", "sn8",
68 string(labelGCSnapRef)+"overlay/anything-2", "sn9",
69 string(labelGCContentRef), dgst(7).String())),
70 addContainer("ns1", "container4", "", "", labelmap(
71 string(labelGCContentRef)+".0", dgst(8).String(),
72 string(labelGCContentRef)+".1", dgst(9).String())),
73 addContent("ns1", dgst(1), nil),
74 addContent("ns1", dgst(2), nil),
75 addContent("ns1", dgst(3), nil),
76 addContent("ns2", dgst(1), nil),
77 addContent("ns2", dgst(2), labelmap(string(labelGCRoot), "always")),
78 addContent("ns2", dgst(8), nil),
79 addContent("ns2", dgst(9), nil),
80 addIngest("ns1", "ingest-1", "", nil), // will be seen as expired
81 addIngest("ns1", "ingest-2", "", timeIn(0)), // expired
82 addIngest("ns1", "ingest-3", "", timeIn(time.Hour)),
83 addIngest("ns2", "ingest-4", "", nil),
84 addIngest("ns2", "ingest-5", dgst(8), nil),
85 addIngest("ns2", "ingest-6", "", nil), // added to expired lease
86 addIngest("ns2", "ingest-7", dgst(9), nil), // added to expired lease
87 addSnapshot("ns1", "overlay", "sn1", "", nil),
88 addSnapshot("ns1", "overlay", "sn2", "", nil),
89 addSnapshot("ns1", "overlay", "sn3", "", labelmap(string(labelGCRoot), "always")),
90 addSnapshot("ns1", "overlay", "sn4", "", nil),
91 addSnapshot("ns1", "overlay", "sn5", "", nil),
92 addSnapshot("ns1", "overlay", "sn6", "", nil),
93 addSnapshot("ns1", "overlay", "sn7", "", nil),
94 addSnapshot("ns1", "overlay", "sn8", "", nil),
95 addSnapshot("ns1", "overlay", "sn9", "", nil),
96 addLeaseSnapshot("ns2", "l1", "overlay", "sn5"),
97 addLeaseSnapshot("ns2", "l2", "overlay", "sn6"),
98 addLeaseContent("ns2", "l1", dgst(4)),
99 addLeaseContent("ns2", "l2", dgst(5)),
100 addLease("ns2", "l3", labelmap(string(labelGCExpire), time.Now().Add(time.Hour).Format(time.RFC3339))),
101 addLeaseContent("ns2", "l3", dgst(6)),
102 addLeaseSnapshot("ns2", "l3", "overlay", "sn7"),
103 addLeaseImage("ns2", "l3", "image5"),
104 addLeaseIngest("ns2", "l3", "ingest-4"),
105 addLeaseIngest("ns2", "l3", "ingest-5"),
106 addLease("ns2", "l4", labelmap(string(labelGCExpire), time.Now().Format(time.RFC3339))),
107 addLeaseContent("ns2", "l4", dgst(7)),
108 addLeaseSnapshot("ns2", "l4", "overlay", "sn8"),

Callers

nothing calls this directly

Calls 15

newDatabaseFunction · 0.85
addImageFunction · 0.85
dgstFunction · 0.85
labelmapFunction · 0.85
addContentFunction · 0.85
addIngestFunction · 0.85
timeInFunction · 0.85
addSnapshotFunction · 0.85
addLeaseSnapshotFunction · 0.85
addLeaseContentFunction · 0.85
addLeaseFunction · 0.85
addLeaseImageFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…