1
0
Fork 0
mirror of https://github.com/vbatts/go-mtree.git synced 2025-10-04 04:31:00 +00:00

test: migrate most tests to testify

testify makes most bog-standard test checks much easier to read and
maintain, and is quite widely used. It wasn't really well known back
when go-mtree was first written, but the migration is fairly
straight-forward for most tests.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
This commit is contained in:
Aleksa Sarai 2025-09-20 03:00:06 +10:00
parent f2b48a0e2f
commit 3252a4ad82
No known key found for this signature in database
GPG key ID: 2897FAD2B7E9446F
55 changed files with 22620 additions and 886 deletions

View file

@ -3,42 +3,38 @@ package mtree
import (
"os"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestWalk(t *testing.T) {
dh, err := Walk(".", nil, append(DefaultKeywords, "sha1"), nil)
if err != nil {
t.Fatal(err)
}
numEntries := countTypes(dh)
walkDh, err := Walk(".", nil, append(DefaultKeywords, "sha1"), nil)
require.NoError(t, err, "walk .")
walkEntries := countTypes(walkDh)
fh, err := os.CreateTemp(t.TempDir(), "walk.")
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
defer fh.Close()
if _, err = dh.WriteTo(fh); err != nil {
t.Fatal(err)
}
if _, err := fh.Seek(0, 0); err != nil {
t.Fatal(err)
}
if dh, err = ParseSpec(fh); err != nil {
t.Fatal(err)
}
for k, v := range countTypes(dh) {
if numEntries[k] != v {
t.Errorf("for type %s: expected %d, got %d", k, numEntries[k], v)
}
}
n, err := walkDh.WriteTo(fh)
require.NoError(t, err, "write directory hierarchy representation")
assert.NotZero(t, n, "output mtree spec should be non-empty")
_, err = fh.Seek(0, 0)
require.NoError(t, err)
specDh, err := ParseSpec(fh)
require.NoErrorf(t, err, "parse spec %s", fh.Name())
specEntries := countTypes(specDh)
assert.Equal(t, walkEntries, specEntries, "round-trip specfile should have the same set of entries")
}
func TestWalkDirectory(t *testing.T) {
dh, err := Walk(".", []ExcludeFunc{ExcludeNonDirectories}, []Keyword{"type"}, nil)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err, "walk . (ExcludeNonDirectories)")
for i := range dh.Entries {
for _, keyval := range dh.Entries[i].AllKeys() {