mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
adjust the tests
This commit is contained in:
parent
f1db22d48b
commit
cb5a10c6a3
|
@ -5,6 +5,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
|
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
|
||||||
|
"fmt"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestCompactFileChunks(t *testing.T) {
|
func TestCompactFileChunks(t *testing.T) {
|
||||||
|
@ -15,20 +16,50 @@ func TestCompactFileChunks(t *testing.T) {
|
||||||
{Offset: 110, Size: 200, FileId: "jkl", Mtime: 300},
|
{Offset: 110, Size: 200, FileId: "jkl", Mtime: 300},
|
||||||
}
|
}
|
||||||
|
|
||||||
compacted, garbarge := CompactFileChunks(chunks)
|
compacted, garbage := CompactFileChunks(chunks)
|
||||||
|
|
||||||
log.Printf("Compacted: %+v", compacted)
|
|
||||||
log.Printf("Garbage : %+v", garbarge)
|
|
||||||
|
|
||||||
if len(compacted) != 3 {
|
if len(compacted) != 3 {
|
||||||
t.Fatalf("unexpected compacted: %d", len(compacted))
|
t.Fatalf("unexpected compacted: %d", len(compacted))
|
||||||
}
|
}
|
||||||
if len(garbarge) != 1 {
|
if len(garbage) != 1 {
|
||||||
t.Fatalf("unexpected garbarge: %d", len(garbarge))
|
t.Fatalf("unexpected garbage: %d", len(garbage))
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func TestCompactFileChunks2(t *testing.T) {
|
||||||
|
|
||||||
|
chunks := []*filer_pb.FileChunk{
|
||||||
|
{Offset: 0, Size: 100, FileId: "abc", Mtime: 50},
|
||||||
|
{Offset: 100, Size: 100, FileId: "def", Mtime: 100},
|
||||||
|
{Offset: 200, Size: 100, FileId: "ghi", Mtime: 200},
|
||||||
|
{Offset: 0, Size: 100, FileId: "abcf", Mtime: 300},
|
||||||
|
{Offset: 50, Size: 100, FileId: "fhfh", Mtime: 400},
|
||||||
|
{Offset: 100, Size: 100, FileId: "yuyu", Mtime: 500},
|
||||||
|
}
|
||||||
|
|
||||||
|
k := 3
|
||||||
|
|
||||||
|
for n := 0; n < k; n++ {
|
||||||
|
chunks = append(chunks, &filer_pb.FileChunk{
|
||||||
|
Offset: int64(n * 100), Size: 100, FileId: fmt.Sprintf("fileId%d",n), Mtime: int64(n),
|
||||||
|
})
|
||||||
|
chunks = append(chunks, &filer_pb.FileChunk{
|
||||||
|
Offset: int64(n * 50), Size: 100, FileId: fmt.Sprintf("fileId%d",n+k), Mtime: int64(n + k),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
compacted, garbage := CompactFileChunks(chunks)
|
||||||
|
|
||||||
|
if len(compacted) != 3 {
|
||||||
|
t.Fatalf("unexpected compacted: %d", len(compacted))
|
||||||
|
}
|
||||||
|
if len(garbage) != 9 {
|
||||||
|
t.Fatalf("unexpected garbage: %d", len(garbage))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestIntervalMerging(t *testing.T) {
|
func TestIntervalMerging(t *testing.T) {
|
||||||
|
|
||||||
testcases := []struct {
|
testcases := []struct {
|
||||||
|
@ -318,31 +349,22 @@ func TestChunksReading(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkNonOverlappingVisibleIntervals(b *testing.B) {
|
func BenchmarkCompactFileChunks(b *testing.B) {
|
||||||
|
|
||||||
chunks := []*filer_pb.FileChunk{
|
var chunks []*filer_pb.FileChunk
|
||||||
{Offset: 0, Size: 2097152, FileId: "7,0294cbb9892b", Mtime: 123},
|
|
||||||
{Offset: 0, Size: 3145728, FileId: "3,029565bf3092", Mtime: 130},
|
|
||||||
{Offset: 2097152, Size: 3145728, FileId: "6,029632f47ae2", Mtime: 140},
|
|
||||||
{Offset: 5242880, Size: 3145728, FileId: "2,029734c5aa10", Mtime: 150},
|
|
||||||
{Offset: 8388608, Size: 3145728, FileId: "5,02982f80de50", Mtime: 160},
|
|
||||||
{Offset: 11534336, Size: 2842193, FileId: "7,0299ad723803", Mtime: 170},
|
|
||||||
}
|
|
||||||
|
|
||||||
k := 1024
|
k := 1024
|
||||||
|
|
||||||
for n := 0; n < k; n++ {
|
for n := 0; n < k; n++ {
|
||||||
chunks = append(chunks, &filer_pb.FileChunk{
|
chunks = append(chunks, &filer_pb.FileChunk{
|
||||||
Offset: int64(n*100), Size: 100, FileId: "7,0294cbb9892b", Mtime: int64(n),
|
Offset: int64(n * 100), Size: 100, FileId: fmt.Sprintf("fileId%d",n), Mtime: int64(n),
|
||||||
})
|
})
|
||||||
chunks = append(chunks, &filer_pb.FileChunk{
|
chunks = append(chunks, &filer_pb.FileChunk{
|
||||||
Offset: int64(n*50), Size: 100, FileId: "7,0294cbb9892b", Mtime: int64(n+k),
|
Offset: int64(n * 50), Size: 100, FileId: fmt.Sprintf("fileId%d",n+k), Mtime: int64(n + k),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// run the Fib function b.N times
|
|
||||||
for n := 0; n < b.N; n++ {
|
for n := 0; n < b.N; n++ {
|
||||||
intervals := nonOverlappingVisibleIntervals(chunks)
|
CompactFileChunks(chunks)
|
||||||
cleanupIntervals(intervals)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue