Skip to content

Commit 83ff3fd

Browse files
authored
feat(cache): add close function (fanal#104)
* feat(cache): add close function * test(mock): update mock * test(analyzer): fix tests according to updated mock
1 parent aa4339c commit 83ff3fd

File tree

3 files changed

+65
-22
lines changed

3 files changed

+65
-22
lines changed

analyzer/analyzer_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
286286
getLayerExpectations: []cache.LocalImageCacheGetLayerExpectation{
287287
{
288288
Args: cache.LocalImageCacheGetLayerArgs{
289-
LayerID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
289+
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
290290
},
291291
Returns: cache.LocalImageCacheGetLayerReturns{
292292
LayerInfo: types.LayerInfo{
@@ -315,7 +315,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
315315
},
316316
{
317317
Args: cache.LocalImageCacheGetLayerArgs{
318-
LayerID: "sha256:dffd9992ca398466a663c87c92cfea2a2db0ae0cf33fcb99da60eec52addbfc5",
318+
DiffID: "sha256:dffd9992ca398466a663c87c92cfea2a2db0ae0cf33fcb99da60eec52addbfc5",
319319
},
320320
Returns: cache.LocalImageCacheGetLayerReturns{
321321
LayerInfo: types.LayerInfo{
@@ -343,7 +343,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
343343
},
344344
{
345345
Args: cache.LocalImageCacheGetLayerArgs{
346-
LayerID: "sha256:24df0d4e20c0f42d3703bf1f1db2bdd77346c7956f74f423603d651e8e5ae8a7",
346+
DiffID: "sha256:24df0d4e20c0f42d3703bf1f1db2bdd77346c7956f74f423603d651e8e5ae8a7",
347347
},
348348
Returns: cache.LocalImageCacheGetLayerReturns{
349349
LayerInfo: types.LayerInfo{
@@ -447,7 +447,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
447447
getLayerExpectations: []cache.LocalImageCacheGetLayerExpectation{
448448
{
449449
Args: cache.LocalImageCacheGetLayerArgs{
450-
LayerID: "sha256:531743b7098cb2aaf615641007a129173f63ed86ca32fe7b5a246a1c47286028",
450+
DiffID: "sha256:531743b7098cb2aaf615641007a129173f63ed86ca32fe7b5a246a1c47286028",
451451
},
452452
Returns: cache.LocalImageCacheGetLayerReturns{
453453
LayerInfo: types.LayerInfo{
@@ -565,7 +565,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
565565
getLayerExpectations: []cache.LocalImageCacheGetLayerExpectation{
566566
{
567567
Args: cache.LocalImageCacheGetLayerArgs{
568-
LayerID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
568+
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
569569
},
570570
Returns: cache.LocalImageCacheGetLayerReturns{LayerInfo: types.LayerInfo{}},
571571
},
@@ -582,7 +582,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
582582
getLayerExpectations: []cache.LocalImageCacheGetLayerExpectation{
583583
{
584584
Args: cache.LocalImageCacheGetLayerArgs{
585-
LayerID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
585+
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
586586
},
587587
Returns: cache.LocalImageCacheGetLayerReturns{LayerInfo: types.LayerInfo{}},
588588
},
@@ -602,7 +602,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
602602
getLayerExpectations: []cache.LocalImageCacheGetLayerExpectation{
603603
{
604604
Args: cache.LocalImageCacheGetLayerArgs{
605-
LayerID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
605+
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
606606
},
607607
Returns: cache.LocalImageCacheGetLayerReturns{
608608
LayerInfo: types.LayerInfo{
@@ -627,7 +627,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
627627
},
628628
{
629629
Args: cache.LocalImageCacheGetLayerArgs{
630-
LayerID: "sha256:dffd9992ca398466a663c87c92cfea2a2db0ae0cf33fcb99da60eec52addbfc5",
630+
DiffID: "sha256:dffd9992ca398466a663c87c92cfea2a2db0ae0cf33fcb99da60eec52addbfc5",
631631
},
632632
Returns: cache.LocalImageCacheGetLayerReturns{
633633
LayerInfo: types.LayerInfo{
@@ -655,7 +655,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
655655
},
656656
{
657657
Args: cache.LocalImageCacheGetLayerArgs{
658-
LayerID: "sha256:24df0d4e20c0f42d3703bf1f1db2bdd77346c7956f74f423603d651e8e5ae8a7",
658+
DiffID: "sha256:24df0d4e20c0f42d3703bf1f1db2bdd77346c7956f74f423603d651e8e5ae8a7",
659659
},
660660
Returns: cache.LocalImageCacheGetLayerReturns{
661661
LayerInfo: types.LayerInfo{
@@ -743,7 +743,7 @@ func TestApplier_ApplyLayers(t *testing.T) {
743743
getLayerExpectations: []cache.LocalImageCacheGetLayerExpectation{
744744
{
745745
Args: cache.LocalImageCacheGetLayerArgs{
746-
LayerID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
746+
DiffID: "sha256:932da51564135c98a49a34a193d6cd363d8fa4184d957fde16c9d8527b3f3b02",
747747
},
748748
Returns: cache.LocalImageCacheGetLayerReturns{
749749
LayerInfo: types.LayerInfo{

cache/cache.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ type ImageCache interface {
3737
type LocalImageCache interface {
3838
GetImage(imageID string) (imageInfo types.ImageInfo, err error)
3939
GetLayer(diffID string) (layerInfo types.LayerInfo, err error)
40+
Close() (err error)
4041
Clear() (err error)
4142
}
4243

@@ -196,10 +197,17 @@ func (fs FSCache) MissingLayers(imageID string, layerIDs []string) (bool, []stri
196197
return missingImage, missingLayerIDs, nil
197198
}
198199

199-
func (fs FSCache) Clear() error {
200+
func (fs FSCache) Close() error {
200201
if err := fs.db.Close(); err != nil {
201202
return xerrors.Errorf("unable to close DB: %w", err)
202203
}
204+
return nil
205+
}
206+
207+
func (fs FSCache) Clear() error {
208+
if err := fs.Close(); err != nil {
209+
return err
210+
}
203211
if err := os.RemoveAll(fs.directory); err != nil {
204212
return xerrors.Errorf("failed to remove cache: %w", err)
205213
}

cache/mock_local_image_cache.go

Lines changed: 46 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)