fusen-render/start_test.go

177 lines
4.1 KiB
Go

package fusenrender_test
import (
"log"
)
func init() {
log.SetFlags(log.Llongfile)
}
// func TestStartNodeA(t *testing.T) {
// svc, err := fusenrender.LoadConfig("etc/etc_a.yaml")
// if err != nil {
// panic(err)
// }
// nh := fusenrender.StartNode(svc.ServerID, 128, svc.Address())
// raftStopper := syncutil.NewStopper()
// // ch := make(chan string, 16)
// raftStopper.RunWorker(func() {
// // this goroutine makes a linearizable read every 10 second. it returns the
// // Count value maintained in IStateMachine. see datastore.go for details.
// cs := nh.GetNoOPSession(128)
// ticker := time.NewTicker(1 * time.Millisecond)
// for {
// select {
// case <-ticker.C:
// item := &fusenrender.QueueItem{
// Group: "test",
// Wid: fusenrender.UidCreater.Get(),
// Priority: uint32(2),
// CreateAt: time.Now(),
// Data: uuid.New().String(),
// }
// cmd := &fusenrender.CmdEnqueue{Command: fusenrender.Command{Group: "test"}}
// cmd.Item = item
// data, err := fusenrender.FsPasser.PackToBytes(cmd)
// if err != nil {
// log.Println(err)
// }
// ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
// _, err = nh.SyncPropose(ctx, cs, data)
// if err != nil {
// log.Println(err)
// }
// // log.Println("enqueue", len(result.Data))
// cancel()
// case <-raftStopper.ShouldStop():
// return
// }
// }
// })
// raftStopper.Wait()
// }
// func TestStartNodeB(t *testing.T) {
// svc, err := fusenrender.LoadConfig("etc/etc_b.yaml")
// if err != nil {
// panic(err)
// }
// nh := fusenrender.StartNode(svc.ServerID, 128, svc.Address())
// raftStopper := syncutil.NewStopper()
// // ch := make(chan string, 16)
// raftStopper.RunWorker(func() {
// // this goroutine makes a linearizable read every 10 second. it returns the
// // Count value maintained in IStateMachine. see datastore.go for details.
// cs := nh.GetNoOPSession(128)
// ticker := time.NewTicker(1 * time.Millisecond)
// for {
// select {
// case <-ticker.C:
// item := &fusenrender.QueueItem{
// Group: "test",
// Priority: uint32(1),
// CreateAt: time.Now(),
// Data: uuid.New().String(),
// }
// cmd := fusenrender.CmdEnqueue{Command: fusenrender.Command{Group: "test"}}
// cmd.Item = item
// data, err := fusenrender.FsPasser.PackToBytes(&cmd)
// if err != nil {
// log.Println(err)
// }
// ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
// _, err = nh.SyncPropose(ctx, cs, data)
// if err != nil {
// log.Println(err)
// } else {
// // log.Println("enqueue", len(result.Data))
// }
// cancel()
// case <-raftStopper.ShouldStop():
// return
// }
// }
// })
// raftStopper.Wait()
// }
// func TestStartNodeC(t *testing.T) {
// svc, err := fusenrender.LoadConfig("etc/etc_c.yaml")
// if err != nil {
// panic(err)
// }
// nh := fusenrender.StartNode(svc.ServerID, 128, svc.Address())
// log.Println(nh)
// raftStopper := syncutil.NewStopper()
// raftStopper.RunWorker(func() {
// // this goroutine makes a linearizable read every 10 second. it returns the
// // Count value maintained in IStateMachine. see datastore.go for details.
// // cs := nh.GetNoOPSession(128)
// ticker := time.NewTicker(2 * time.Second)
// for {
// select {
// case <-ticker.C:
// // for {
// // ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
// // cmd := fusenrender.Command{
// // Name: "dequeue",
// // Group: "test",
// // }
// // data, err := cmd.Encode()
// // if err != nil {
// // log.Println(err)
// // }
// // result, err := nh.SyncPropose(ctx, cs, data)
// // if err != nil {
// // log.Println(err)
// // }
// // log.Println(len(result.Data), string(result.Data))
// // cancel()
// // if len(result.Data) == 0 {
// // break
// // }
// // }
// case <-raftStopper.ShouldStop():
// return
// }
// }
// })
// raftStopper.Wait()
// }