// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 package otel import ( "testing" "github.com/stretchr/testify/assert" ) type testErrHandler struct { err error } var _ ErrorHandler = &testErrHandler{} func (eh *testErrHandler) Handle(err error) { eh.err = err } func TestGlobalErrorHandler(t *testing.T) { SetErrorHandler(GetErrorHandler()) assert.NotPanics(t, func() { Handle(assert.AnError) }, "Default assignment") e1 := &testErrHandler{} SetErrorHandler(e1) Handle(assert.AnError) assert.ErrorIs(t, e1.err, assert.AnError) e1.err = nil e2 := &testErrHandler{} SetErrorHandler(e2) GetErrorHandler().Handle(assert.AnError) assert.ErrorIs(t, e2.err, assert.AnError) }