mirror of
https://github.com/micromdm/micromdm/
synced 2026-08-14 17:41:43 +08:00
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package appmanifest
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func TestCalucalteMD5s(t *testing.T) {
|
|
ok := []string{
|
|
"f1c9645dbc14efddc7d8a322685f26eb",
|
|
"f1c9645dbc14efddc7d8a322685f26eb",
|
|
"f1c9645dbc14efddc7d8a322685f26eb",
|
|
"93b885adfe0da089cdf634904fd59f71",
|
|
}
|
|
buf := make([]byte, DefaultMD5Size*3+1)
|
|
r := bytes.NewReader(buf)
|
|
md5s, err := calculateMD5s(r, DefaultMD5Size)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(md5s) != len(ok) {
|
|
t.Fatal("expected", len(ok), "got", len(md5s))
|
|
}
|
|
for i, h := range md5s {
|
|
if ok[i] != h {
|
|
t.Fatal("expected", ok[i], "got", h)
|
|
}
|
|
}
|
|
}
|
|
|
|
/*
|
|
Benchmark10MB-8 500000 3297 ns/op 32896 B/op 3 allocs/op
|
|
Benchmark100MB-8 300000 3528 ns/op 32897 B/op 3 allocs/op
|
|
Benchmark1000MB-8 1 1967685209 ns/op 3334064 B/op 829 allocs/op
|
|
*/
|
|
|
|
func benchmarkSize(b *testing.B, size int) {
|
|
var buf = make([]byte, size)
|
|
r := bytes.NewReader(buf)
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
calculateMD5s(r, DefaultMD5Size)
|
|
}
|
|
}
|
|
|
|
func Benchmark10MB(b *testing.B) {
|
|
benchmarkSize(b, DefaultMD5Size)
|
|
}
|
|
|
|
func Benchmark100MB(b *testing.B) {
|
|
benchmarkSize(b, DefaultMD5Size*10)
|
|
}
|
|
|
|
func Benchmark1000MB(b *testing.B) {
|
|
benchmarkSize(b, DefaultMD5Size*100)
|
|
}
|