(t *testing.T)
| 267 | } |
| 268 | |
| 269 | func TestGCRefs(t *testing.T) { |
| 270 | db, err := newDatabase(t) |
| 271 | require.NoError(t, err) |
| 272 | |
| 273 | alters := []alterFunc{ |
| 274 | addContent("ns1", dgst(1), nil), |
| 275 | addContent("ns1", dgst(2), nil), |
| 276 | addContent("ns1", dgst(3), nil), |
| 277 | addContent("ns1", dgst(4), labelmap(string(labelGCContentRef), dgst(1).String())), |
| 278 | addContent("ns1", dgst(5), labelmap( |
| 279 | string(labelGCContentRef)+".anything-1", dgst(2).String(), |
| 280 | string(labelGCContentRef)+".anything-2", dgst(3).String())), |
| 281 | addContent("ns1", dgst(6), labelmap(string(labelGCContentRef)+"bad", dgst(1).String())), |
| 282 | addContent("ns1", dgst(7), labelmap( |
| 283 | string(labelGCContentRef)+"/anything-1", dgst(2).String(), |
| 284 | string(labelGCContentRef)+"/anything-2", dgst(3).String(), |
| 285 | string(labelGCContainerBackRef), "container3")), |
| 286 | addContent("ns2", dgst(1), nil), |
| 287 | addContent("ns2", dgst(2), nil), |
| 288 | addContainer("ns1", "container1", "overlay", "sn4", nil), |
| 289 | addContainer("ns1", "container2", "overlay", "sn5", labelmap(string(labelGCSnapRef)+"overlay", "sn6")), |
| 290 | addContainer("ns1", "container3", "overlay", "sn7", labelmap( |
| 291 | string(labelGCSnapRef)+"overlay/anything-1", "sn8", |
| 292 | string(labelGCSnapRef)+"overlay/anything-2", "sn9", |
| 293 | string(labelGCContentRef), dgst(7).String())), |
| 294 | addContainer("ns1", "container4", "", "", labelmap( |
| 295 | string(labelGCContentRef)+".0", dgst(8).String(), |
| 296 | string(labelGCContentRef)+".1", dgst(9).String())), |
| 297 | addImage("ns1", "image1", dgst(3), nil), |
| 298 | addImage("ns1", "image2", dgst(4), labelmap( |
| 299 | string(labelGCImageRef)+".anything", "image1", |
| 300 | string(labelGCContentRef)+".anotherimage", dgst(5).String())), |
| 301 | addIngest("ns1", "ingest-1", "", nil), |
| 302 | addIngest("ns2", "ingest-2", dgst(8), nil), |
| 303 | addSnapshot("ns1", "overlay", "sn1", "", nil), |
| 304 | addSnapshot("ns1", "overlay", "sn2", "sn1", nil), |
| 305 | addSnapshot("ns1", "overlay", "sn3", "sn2", nil), |
| 306 | addSnapshot("ns1", "overlay", "sn4", "", labelmap( |
| 307 | string(labelGCSnapRef)+"btrfs", "sn1", |
| 308 | string(labelGCSnapRef)+"overlay", "sn1")), |
| 309 | addSnapshot("ns1", "overlay", "sn5", "", labelmap( |
| 310 | string(labelGCSnapRef)+"overlay/anything-1", "sn1", |
| 311 | string(labelGCSnapRef)+"overlay/anything-2", "sn2")), |
| 312 | addSnapshot("ns1", "btrfs", "sn1", "", nil), |
| 313 | addSnapshot("ns2", "overlay", "sn1", "", nil), |
| 314 | addSnapshot("ns2", "overlay", "sn2", "sn1", nil), |
| 315 | addSnapshot("ns2", "overlay", "sn3", "", labelmap( |
| 316 | string(labelGCContentRef), dgst(1).String(), |
| 317 | string(labelGCContentRef)+".keep-me", dgst(6).String())), |
| 318 | |
| 319 | // Test flat references don't follow label references |
| 320 | addContent("ns3", dgst(1), nil), |
| 321 | addContent("ns3", dgst(2), labelmap(string(labelGCContentRef)+".0", dgst(1).String())), |
| 322 | |
| 323 | // Back references |
| 324 | addContent("ns1", dgst(10), labelmap( |
| 325 | string(labelGCContainerBackRef), "container1", |
| 326 | string(labelGCContentBackRef), dgst(5).String(), |
nothing calls this directly
no test coverage detected
searching dependent graphs…