Exemple #1
0
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()
	}
}
Exemple #2
0
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)
}
Exemple #3
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)
	}
}
Exemple #4
0
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)
		}
	}
}
Exemple #5
0
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()
}
Exemple #6
0
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()
}
Exemple #7
0
func init() {
	onet.SimulationRegister("ByzCoinNtree", NewSimulation)
	onet.GlobalProtocolRegister("ByzCoinNtree", func(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error) { return NewNtreeProtocol(n) })
}
Exemple #8
0
func init() {
	network.RegisterPacketType(Announce{})
	network.RegisterPacketType(Reply{})
	onet.GlobalProtocolRegister("ExampleChannels", NewExampleChannels)
}
Exemple #9
0
func init() {
	network.RegisterPacketType(PrepareCount{})
	network.RegisterPacketType(Count{})
	network.RegisterPacketType(NodeIsUp{})
	onet.GlobalProtocolRegister("Count", NewCount)
}
Exemple #10
0
func init() {
	// register network messages and protocol
	network.RegisterPacketType(Message{})
	network.RegisterPacketType(SignatureReply{})
	onet.GlobalProtocolRegister("NaiveTree", NewProtocol)
}
Exemple #11
0
func init() {
	onet.GlobalProtocolRegister(Name, NewCoSimul)
}
Exemple #12
0
func init() {
	onet.GlobalProtocolRegister("JVSS", NewJVSS)
}
Exemple #13
0
func init() {
	network.RegisterPacketType(PrepareClose{})
	network.RegisterPacketType(Close{})
	onet.GlobalProtocolRegister("CloseAll", NewCloseAll)
}
Exemple #14
0
func init() {
	network.RegisterPacketType(ContactNodes{})
	network.RegisterPacketType(Done{})
	onet.GlobalProtocolRegister("Broadcast", NewBroadcastProtocol)
}
Exemple #15
0
func init() {
	onet.GlobalProtocolRegister("RandHound", NewRandHound)
}