2020-08-17 13:26:18 +00:00
|
|
|
package sectorstorage
|
2020-05-07 23:38:05 +00:00
|
|
|
|
|
|
|
import (
|
2020-07-27 11:20:18 +00:00
|
|
|
"fmt"
|
2020-05-07 23:38:05 +00:00
|
|
|
"testing"
|
|
|
|
|
2020-08-17 13:26:18 +00:00
|
|
|
"github.com/filecoin-project/lotus/extern/sector-storage/sealtasks"
|
2020-05-07 23:38:05 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestRequestQueue(t *testing.T) {
|
|
|
|
rq := &requestQueue{}
|
|
|
|
|
2020-07-27 11:20:18 +00:00
|
|
|
rq.Push(&workerRequest{taskType: sealtasks.TTAddPiece})
|
|
|
|
rq.Push(&workerRequest{taskType: sealtasks.TTPreCommit1})
|
|
|
|
rq.Push(&workerRequest{taskType: sealtasks.TTPreCommit2})
|
|
|
|
rq.Push(&workerRequest{taskType: sealtasks.TTPreCommit1})
|
|
|
|
rq.Push(&workerRequest{taskType: sealtasks.TTAddPiece})
|
2020-05-07 23:38:05 +00:00
|
|
|
|
2020-07-27 11:20:18 +00:00
|
|
|
dump := func(s string) {
|
|
|
|
fmt.Println("---")
|
|
|
|
fmt.Println(s)
|
|
|
|
|
|
|
|
for sqi := 0; sqi < rq.Len(); sqi++ {
|
|
|
|
task := (*rq)[sqi]
|
|
|
|
fmt.Println(sqi, task.taskType)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dump("start")
|
|
|
|
|
|
|
|
pt := rq.Remove(0)
|
|
|
|
|
|
|
|
dump("pop 1")
|
2020-05-07 23:38:05 +00:00
|
|
|
|
|
|
|
if pt.taskType != sealtasks.TTPreCommit2 {
|
|
|
|
t.Error("expected precommit2, got", pt.taskType)
|
|
|
|
}
|
|
|
|
|
2020-07-27 11:20:18 +00:00
|
|
|
pt = rq.Remove(0)
|
|
|
|
|
|
|
|
dump("pop 2")
|
|
|
|
|
|
|
|
if pt.taskType != sealtasks.TTPreCommit1 {
|
|
|
|
t.Error("expected precommit1, got", pt.taskType)
|
|
|
|
}
|
|
|
|
|
|
|
|
pt = rq.Remove(1)
|
|
|
|
|
|
|
|
dump("pop 3")
|
|
|
|
|
|
|
|
if pt.taskType != sealtasks.TTAddPiece {
|
|
|
|
t.Error("expected addpiece, got", pt.taskType)
|
|
|
|
}
|
|
|
|
|
|
|
|
pt = rq.Remove(0)
|
|
|
|
|
|
|
|
dump("pop 4")
|
2020-05-07 23:38:05 +00:00
|
|
|
|
|
|
|
if pt.taskType != sealtasks.TTPreCommit1 {
|
|
|
|
t.Error("expected precommit1, got", pt.taskType)
|
|
|
|
}
|
|
|
|
}
|