github.com/zignig/go-ipfs@v0.0.0-20141111235910-c9e5fdf55a52/net/swarm/simul_test.go (about)

     1  package swarm
     2  
     3  import (
     4  	"fmt"
     5  	"sync"
     6  	"testing"
     7  
     8  	peer "github.com/jbenet/go-ipfs/peer"
     9  
    10  	context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
    11  )
    12  
    13  func TestSimultOpen(t *testing.T) {
    14  	// t.Skip("skipping for another test")
    15  
    16  	addrs := []string{
    17  		"/ip4/127.0.0.1/tcp/1244",
    18  		"/ip4/127.0.0.1/tcp/1245",
    19  	}
    20  
    21  	ctx := context.Background()
    22  	swarms, _ := makeSwarms(ctx, t, addrs)
    23  
    24  	// connect everyone
    25  	{
    26  		var wg sync.WaitGroup
    27  		connect := func(s *Swarm, dst peer.Peer) {
    28  			// copy for other peer
    29  			cp := peer.WithID(dst.ID())
    30  			cp.AddAddress(dst.Addresses()[0])
    31  
    32  			if _, err := s.Dial(cp); err != nil {
    33  				t.Fatal("error swarm dialing to peer", err)
    34  			}
    35  			wg.Done()
    36  		}
    37  
    38  		log.Info("Connecting swarms simultaneously.")
    39  		wg.Add(2)
    40  		go connect(swarms[0], swarms[1].local)
    41  		go connect(swarms[1], swarms[0].local)
    42  		wg.Wait()
    43  	}
    44  
    45  	for _, s := range swarms {
    46  		s.Close()
    47  	}
    48  }
    49  
    50  func TestSimultOpenMany(t *testing.T) {
    51  	t.Skip("laggy")
    52  
    53  	many := 500
    54  	addrs := []string{}
    55  	for i := 2200; i < (2200 + many); i++ {
    56  		s := fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", i)
    57  		addrs = append(addrs, s)
    58  	}
    59  
    60  	SubtestSwarm(t, addrs, 10)
    61  }
    62  
    63  func TestSimultOpenFewStress(t *testing.T) {
    64  	// t.Skip("skipping for another test")
    65  
    66  	num := 10
    67  	// num := 100
    68  	for i := 0; i < num; i++ {
    69  		addrs := []string{
    70  			fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", 1900+i),
    71  			fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", 2900+i),
    72  		}
    73  
    74  		SubtestSwarm(t, addrs, 10)
    75  	}
    76  }