// MakeMeta returns a new meta struct with sensible defaults: logging at // InfoLevel, development mode off, and writing to standard error and standard // out. func MakeMeta(enc Encoder, options ...Option) Meta { m := Meta{ lvl: atomic.NewInt32(int32(InfoLevel)), Encoder: enc, Output: newLockedWriteSyncer(os.Stdout), ErrorOutput: newLockedWriteSyncer(os.Stderr), } for _, opt := range options { opt.apply(&m) } return m }
"time" "github.com/uber/tchannel-go" "github.com/uber/tchannel-go/raw" "github.com/uber/tchannel-go/relay/relaytest" "github.com/uber/tchannel-go/testutils/goroutines" "github.com/davecgh/go-spew/spew" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/atomic" "golang.org/x/net/context" ) // Has a previous test already leaked a goroutine? var _leakedGoroutine = atomic.NewInt32(0) // A TestServer encapsulates a TChannel server, a client factory, and functions // to ensure that we're not leaking resources. type TestServer struct { testing.TB // relayIdx is the index of the relay channel, if any, in the channels slice. relayIdx int // relayHosts is the relayer's SimpleRelayHosts (if any). relayHosts *SimpleRelayHosts // relayStats is the channel's relaying stats (if any). relayStats *relaytest.MockStats