func Aligned8Byte(fields []FieldOffset, out io.Writer) bool
Aligned8Byte returns if all fields are aligned modulo 8-bytes.
Error messaging is printed to out for any field determined misaligned.
func NewTestError(s string) error
type Env struct { Name string Value string Exists bool }
EnvStore stores and recovers environment variables.
type EnvStore interface { // Records the environment variable into the store. Record(key string) // Restore recovers the environment variables in the store. Restore() error }
func NewEnvStore() EnvStore
func SetEnvVariables(env map[string]string) (EnvStore, error)
FieldOffset is a preprocessor representation of a struct field alignment.
type FieldOffset struct { // Name of the field. Name string // Offset of the field in bytes. // // To compute this at compile time use unsafe.Offsetof. Offset uintptr }
Harness is a testing harness used to test implementations of the OpenTelemetry API.
type Harness struct {
// contains filtered or unexported fields
}
func NewHarness(t *testing.T) *Harness
NewHarness returns an instantiated *Harness using t.
func (h *Harness) TestTracer(subjectFactory func() trace.Tracer)
TestTracer runs validation tests for an implementation of the OpenTelemetry Tracer API.
func (h *Harness) TestTracerProvider(subjectFactory func() trace.TracerProvider)
TestTracerProvider runs validation tests for an implementation of the OpenTelemetry TracerProvider API.
type TestError string
func (e TestError) Error() string
TextMapCarrier is a storage medium for a TextMapPropagator used in testing. The methods of a TextMapCarrier are concurrent safe.
type TextMapCarrier struct {
// contains filtered or unexported fields
}
func NewTextMapCarrier(data map[string]string) *TextMapCarrier
NewTextMapCarrier returns a new *TextMapCarrier populated with data.
func (c *TextMapCarrier) Get(key string) string
Get returns the value associated with the passed key.
func (c *TextMapCarrier) GotKey(t *testing.T, key string) bool
GotKey tests if c.Get has been called for key.
func (c *TextMapCarrier) GotN(t *testing.T, n int) bool
GotN tests if n calls to c.Get have been made.
func (c *TextMapCarrier) Keys() []string
Keys returns the keys for which this carrier has a value.
func (c *TextMapCarrier) Reset(data map[string]string)
Reset zeros out the recording state and sets the carried values to data.
func (c *TextMapCarrier) Set(key, value string)
Set stores the key-value pair.
func (c *TextMapCarrier) SetKeyValue(t *testing.T, key, value string) bool
SetKeyValue tests if c.Set has been called for the key-value pair.
func (c *TextMapCarrier) SetN(t *testing.T, n int) bool
SetN tests if n calls to c.Set have been made.
TextMapPropagator is a propagation.TextMapPropagator used for testing.
type TextMapPropagator struct {
// contains filtered or unexported fields
}
func NewTextMapPropagator(name string) *TextMapPropagator
NewTextMapPropagator returns a new TextMapPropagator for testing. It will use name as the key it injects into a TextMapCarrier when Inject is called.
func (p *TextMapPropagator) Extract(ctx context.Context, carrier propagation.TextMapCarrier) context.Context
Extract reads cross-cutting concerns for p from carrier into ctx.
func (p *TextMapPropagator) ExtractedN(t *testing.T, ctx context.Context, n int) bool
ExtractedN tests if p has made n extractions from the lineage of ctx. nolint (context is not first arg)
func (p *TextMapPropagator) Fields() []string
Fields returns the name of p as the key who's value is set with Inject.
func (p *TextMapPropagator) Inject(ctx context.Context, carrier propagation.TextMapCarrier)
Inject sets cross-cutting concerns for p from ctx into carrier.
func (p *TextMapPropagator) InjectedN(t *testing.T, carrier *TextMapCarrier, n int) bool
InjectedN tests if p has made n injections to carrier.