MCPcopy
hub / github.com/grafana/tempo / Test_Memberlist

Function Test_Memberlist

pkg/usagestats/seed_test.go:60–102  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

58}
59
60func Test_Memberlist(t *testing.T) {
61 stabilityCheckInterval = time.Second
62
63 objectClient, err := local.NewBackend(&local.Config{
64 Path: t.TempDir(),
65 })
66
67 require.NoError(t, err)
68 result := make(chan *ClusterSeed, 10)
69
70 // create a first memberlist to get a valid listening port.
71 initMKV := createMemberlist(t, 0, -1)
72
73 for i := 0; i < 10; i++ {
74 go func(j int) {
75 leader, err := NewReporter(Config{
76 Leader: true,
77 Enabled: true,
78 }, kv.Config{
79 Store: "memberlist",
80 StoreConfig: kv.StoreConfig{
81 MemberlistKV: func() (*memberlist.KV, error) {
82 return createMemberlist(t, initMKV.GetListeningPort(), j), nil
83 },
84 },
85 }, objectClient, objectClient, log.NewLogfmtLogger(os.Stdout), nil)
86 require.NoError(t, err)
87 leader.init(context.Background())
88 result <- leader.cluster
89 }(i)
90 }
91
92 var UID []string
93 for i := 0; i < 10; i++ {
94 cluster := <-result
95 require.NotNil(t, cluster)
96 UID = append(UID, cluster.UID)
97 }
98 first := UID[0]
99 for _, uid := range UID {
100 require.Equal(t, first, uid)
101 }
102}

Callers

nothing calls this directly

Calls 5

initMethod · 0.95
NewBackendFunction · 0.92
createMemberlistFunction · 0.85
NewReporterFunction · 0.85
EqualMethod · 0.45

Tested by

no test coverage detected