You've already forked go-digest
mirror of
https://github.com/opencontainers/go-digest.git
synced 2025-11-19 02:40:54 +03:00
TestFroms: use sub-tests
Use sub-tests to not fail early if an algorithm fails.
With this change:
=== RUN TestFroms
=== RUN TestFroms/sha256
=== RUN TestFroms/sha384
=== RUN TestFroms/sha512
--- PASS: TestFroms (0.02s)
--- PASS: TestFroms/sha256 (0.01s)
--- PASS: TestFroms/sha384 (0.00s)
--- PASS: TestFroms/sha512 (0.00s)
PASS
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
@@ -83,38 +83,40 @@ func TestFroms(t *testing.T) {
|
||||
}
|
||||
|
||||
for alg := range algorithms {
|
||||
h := alg.Hash()
|
||||
h.Write(p)
|
||||
expected := Digest(fmt.Sprintf("%s:%x", alg, h.Sum(nil)))
|
||||
t.Run(string(alg), func(t *testing.T) {
|
||||
h := alg.Hash()
|
||||
h.Write(p)
|
||||
expected := Digest(fmt.Sprintf("%s:%x", alg, h.Sum(nil)))
|
||||
|
||||
var readerDgst Digest
|
||||
readerDgst, err = alg.FromReader(bytes.NewReader(p))
|
||||
if err != nil {
|
||||
t.Fatalf("error calculating hash from reader: %v", err)
|
||||
}
|
||||
|
||||
dgsts := []Digest{
|
||||
alg.FromBytes(p),
|
||||
alg.FromString(string(p)),
|
||||
readerDgst,
|
||||
}
|
||||
|
||||
if alg == Canonical {
|
||||
readerDgst, err = FromReader(bytes.NewReader(p))
|
||||
var readerDgst Digest
|
||||
readerDgst, err = alg.FromReader(bytes.NewReader(p))
|
||||
if err != nil {
|
||||
t.Fatalf("error calculating hash from reader: %v", err)
|
||||
}
|
||||
|
||||
dgsts = append(dgsts,
|
||||
FromBytes(p),
|
||||
FromString(string(p)),
|
||||
readerDgst)
|
||||
}
|
||||
for _, dgst := range dgsts {
|
||||
if dgst != expected {
|
||||
t.Fatalf("unexpected digest %v != %v", dgst, expected)
|
||||
dgsts := []Digest{
|
||||
alg.FromBytes(p),
|
||||
alg.FromString(string(p)),
|
||||
readerDgst,
|
||||
}
|
||||
}
|
||||
|
||||
if alg == Canonical {
|
||||
readerDgst, err = FromReader(bytes.NewReader(p))
|
||||
if err != nil {
|
||||
t.Fatalf("error calculating hash from reader: %v", err)
|
||||
}
|
||||
|
||||
dgsts = append(dgsts,
|
||||
FromBytes(p),
|
||||
FromString(string(p)),
|
||||
readerDgst)
|
||||
}
|
||||
for _, dgst := range dgsts {
|
||||
if dgst != expected {
|
||||
t.Errorf("unexpected digest %v != %v", dgst, expected)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user