feat: debian versions cache
This commit is contained in:
parent
2cc84ac962
commit
70fec57d2f
@ -23,6 +23,15 @@ func (c Cache) Get(version string) (p DebianKernel, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c Cache) PutVersions(versions []string) error {
|
||||||
|
return c.store.Put("versions", versions)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c Cache) GetVersions() (versions []string, err error) {
|
||||||
|
err = c.store.Get("versions", &versions)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func (c Cache) Close() error {
|
func (c Cache) Close() error {
|
||||||
return c.store.Close()
|
return c.store.Close()
|
||||||
}
|
}
|
||||||
|
@ -70,3 +70,35 @@ func TestCache(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestVersionsCache(t *testing.T) {
|
||||||
|
dir, err := os.MkdirTemp("", "out-of-tree_cache_test_")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer os.RemoveAll(dir)
|
||||||
|
|
||||||
|
path := filepath.Join(dir, "debian.cache")
|
||||||
|
|
||||||
|
c, err := NewCache(path)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
defer c.Close()
|
||||||
|
|
||||||
|
versions := []string{"a", "b", "c"}
|
||||||
|
|
||||||
|
err = c.PutVersions(versions)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
result, err := c.GetVersions()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(versions) != len(result) {
|
||||||
|
t.Fatal("mismatch")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user