func TestThreshold(t *testing.T) { const TestProtocolName = "DummyBFTCoSiThr" // Register test protocol using BFTCoSi onet.GlobalProtocolRegister(TestProtocolName, func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewBFTCoSiProtocol(n, verify) }) local := onet.NewLocalTest() defer local.CloseAll() tests := []struct{ h, t int }{ {1, 1}, {2, 2}, {3, 2}, {4, 3}, {5, 4}, {6, 4}, } for _, s := range tests { hosts, thr := s.h, s.t log.Lvl3("Hosts is", hosts) _, _, tree := local.GenBigTree(hosts, hosts, 2, true) log.Lvl3("Tree is:", tree.Dump()) // Start the protocol node, err := local.CreateProtocol(TestProtocolName, tree) log.ErrFatal(err) bc := node.(*ProtocolBFTCoSi) assert.Equal(t, thr, bc.threshold, "hosts was %d", hosts) local.CloseAll() } }
func TestBftCoSi(t *testing.T) { const TestProtocolName = "DummyBFTCoSi" // Register test protocol using BFTCoSi onet.GlobalProtocolRegister(TestProtocolName, func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewBFTCoSiProtocol(n, verify) }) log.Lvl2("Simple count") runProtocol(t, TestProtocolName, 0) }
func TestCheckRefuse(t *testing.T) { const TestProtocolName = "DummyBFTCoSiRefuse" // Register test protocol using BFTCoSi onet.GlobalProtocolRegister(TestProtocolName, func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewBFTCoSiProtocol(n, verifyRefuse) }) for refuseCount := 1; refuseCount <= 3; refuseCount++ { log.Lvl2("Refuse at", refuseCount) runProtocol(t, TestProtocolName, refuseCount) } }
func TestCheckRefuseMore(t *testing.T) { const TestProtocolName = "DummyBFTCoSiRefuseMore" // Register test protocol using BFTCoSi onet.GlobalProtocolRegister(TestProtocolName, func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewBFTCoSiProtocol(n, verifyRefuseMore) }) for _, n := range []int{3, 4, 13} { for refuseCount := 1; refuseCount <= 3; refuseCount++ { log.Lvl2("RefuseMore at", refuseCount) runProtocolOnce(t, n, TestProtocolName, refuseCount, refuseCount < (n+1)*2/3) } } }
func TestCheckRefuseParallel(t *testing.T) { //t.Skip("Skipping and hoping it will be resolved with #467") const TestProtocolName = "DummyBFTCoSiRefuseParallel" // Register test protocol using BFTCoSi onet.GlobalProtocolRegister(TestProtocolName, func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewBFTCoSiProtocol(n, verifyRefuseBit) }) wg := sync.WaitGroup{} n := 3 for fc := 0; fc < 8; fc++ { wg.Add(1) go func(fc int) { log.ErrFatal(runProtocolOnceGo(n, TestProtocolName, fc, bitCount(fc) < (n+1)*2/3)) log.Lvl3("Done with", n, fc) wg.Done() }(fc) //wg.Wait() } wg.Wait() }
func TestCheckRefuseBit(t *testing.T) { const TestProtocolName = "DummyBFTCoSiRefuseBit" // Register test protocol using BFTCoSi onet.GlobalProtocolRegister(TestProtocolName, func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewBFTCoSiProtocol(n, verifyRefuseBit) }) wg := sync.WaitGroup{} for _, n := range []int{3} { for refuseCount := 0; refuseCount < 1<<uint(n); refuseCount++ { wg.Add(1) go func(n, fc int) { log.Lvl1("RefuseBit at", n, fc) log.ErrFatal(runProtocolOnceGo(n, TestProtocolName, fc, bitCount(fc) < (n+1)*2/3)) log.Lvl3("Done with", n, fc) wg.Done() }(n, refuseCount) } } wg.Wait() }
func init() { onet.SimulationRegister("ByzCoinNtree", NewSimulation) onet.GlobalProtocolRegister("ByzCoinNtree", func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewNtreeProtocol(n) }) }
func init() { network.RegisterPacketType(Announce{}) network.RegisterPacketType(Reply{}) onet.GlobalProtocolRegister("ExampleChannels", NewExampleChannels) }
func init() { network.RegisterPacketType(PrepareCount{}) network.RegisterPacketType(Count{}) network.RegisterPacketType(NodeIsUp{}) onet.GlobalProtocolRegister("Count", NewCount) }
func init() { // register network messages and protocol network.RegisterPacketType(Message{}) network.RegisterPacketType(SignatureReply{}) onet.GlobalProtocolRegister("NaiveTree", NewProtocol) }
func init() { onet.GlobalProtocolRegister(Name, NewCoSimul) }
func init() { onet.GlobalProtocolRegister("JVSS", NewJVSS) }
func init() { network.RegisterPacketType(PrepareClose{}) network.RegisterPacketType(Close{}) onet.GlobalProtocolRegister("CloseAll", NewCloseAll) }
func init() { network.RegisterPacketType(ContactNodes{}) network.RegisterPacketType(Done{}) onet.GlobalProtocolRegister("Broadcast", NewBroadcastProtocol) }
func init() { onet.GlobalProtocolRegister("RandHound", NewRandHound) }