1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2024-12-10 09:50:58 +02:00

SDK: Add Shutdown test for Span Processor (#169)

* SDK: Add Shutdown test for Span Processor

* SDK: Shutdown test for Span Processor. Review fixes
This commit is contained in:
Artem Kartasov 2019-10-09 00:34:19 +07:00 committed by rghetia
parent ef5d2cbb06
commit 93c667978d
3 changed files with 67 additions and 3 deletions

View File

@ -201,4 +201,20 @@ func getSpanContext() core.SpanContext {
SpanID: sid,
TraceFlags: 0x1,
}
}
}
func TestBatchSpanProcessorShutdown(t *testing.T) {
bsp, err := sdktrace.NewBatchSpanProcessor(&testBatchExporter{})
if err != nil {
t.Errorf("Unexpected error while creating processor\n")
}
if bsp == nil {
t.Fatalf("Error creating new instance of BatchSpanProcessor\n")
}
bsp.Shutdown()
// Multiple call to Shutdown() should not panic.
bsp.Shutdown()
}

View File

@ -75,3 +75,12 @@ func TestSimpleSpanProcessorOnEnd(t *testing.T) {
t.Errorf("SimplerSpanProcessor OnEnd() check: got %+v, want %+v\n", gotTraceID, wantTraceID)
}
}
func TestSimpleSpanProcessorShutdown(t *testing.T) {
ssp := sdktrace.NewSimpleSpanProcessor(&testExporter{})
if ssp == nil {
t.Errorf("Error creating new instance of SimpleSpanProcessor\n")
}
ssp.Shutdown()
}

View File

@ -109,8 +109,47 @@ func TestUnregisterSpanProcessorWhileSpanIsActive(t *testing.T) {
}
}
// TODO(rghetia): Add Shutdown test when it is implemented.
func TestShutdown(t *testing.T) {
func TestSpanProcessorShutdown(t *testing.T) {
name := "Increment shutdown counter of a span processor"
sp := NewTestSpanProcessor()
if sp == nil {
t.Fatalf("Error creating new instance of TestSpanProcessor\n")
}
wantCount := sp.shutdownCount + 1
sp.Shutdown()
gotCount := sp.shutdownCount
if wantCount != gotCount {
t.Errorf("%s: wrong counter: got %d, want %d\n", name, gotCount, wantCount)
}
}
func TestMultipleUnregisterSpanProcessorCalls(t *testing.T) {
name := "Increment shutdown counter after each UnregisterSpanProcessor call"
sp := NewTestSpanProcessor()
if sp == nil {
t.Fatalf("Error creating new instance of TestSpanProcessor\n")
}
wantCount := sp.shutdownCount + 1
sdktrace.RegisterSpanProcessor(sp)
sdktrace.UnregisterSpanProcessor(sp)
gotCount := sp.shutdownCount
if wantCount != gotCount {
t.Errorf("%s: wrong counter: got %d, want %d\n", name, gotCount, wantCount)
}
// Multiple UnregisterSpanProcessor triggers multiple Shutdown calls.
wantCount = wantCount + 1
sdktrace.UnregisterSpanProcessor(sp)
gotCount = sp.shutdownCount
if wantCount != gotCount {
t.Errorf("%s: wrong counter: got %d, want %d\n", name, gotCount, wantCount)
}
}
func NewTestSpanProcessor() *testSpanProcesor {