Skip to content

Commit b1d57e9

Browse files
authored
Add failing test for StartRootSpan (#2878)
1 parent 7ce2e4c commit b1d57e9

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

test/OpenTelemetry.Tests/Trace/TracerTest.cs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
// </copyright>
1616

1717
using System;
18+
using System.Collections.Generic;
1819
using System.Diagnostics;
20+
using System.Threading.Tasks;
1921
using Xunit;
2022

2123
namespace OpenTelemetry.Trace.Tests
@@ -74,6 +76,45 @@ public void Tracer_StartRootSpan_BadArgs_NullSpanName()
7476
Assert.Null(span3.Activity.DisplayName);
7577
}
7678

79+
[Fact(Skip = "See https://github.com/open-telemetry/opentelemetry-dotnet/issues/2803")]
80+
public async Task Tracer_StartRootSpan_StartsNewTrace()
81+
{
82+
var exportedItems = new List<Activity>();
83+
84+
using var tracer = Sdk.CreateTracerProviderBuilder()
85+
.AddSource("tracername")
86+
.AddInMemoryExporter(exportedItems)
87+
.Build();
88+
89+
async Task DoSomeAsyncWork()
90+
{
91+
await Task.Delay(10);
92+
using (tracer.GetTracer("tracername").StartRootSpan("RootSpan2"))
93+
{
94+
await Task.Delay(10);
95+
}
96+
}
97+
98+
using (tracer.GetTracer("tracername").StartActiveSpan("RootSpan1"))
99+
{
100+
await DoSomeAsyncWork();
101+
}
102+
103+
Assert.Equal(2, exportedItems.Count);
104+
105+
var rootSpan2 = exportedItems[0];
106+
var rootSpan1 = exportedItems[1];
107+
Assert.Equal("RootSpan2", rootSpan2.DisplayName);
108+
Assert.Equal("RootSpan1", rootSpan1.DisplayName);
109+
Assert.Equal(default(ActivitySpanId), rootSpan1.ParentSpanId);
110+
111+
// This is where this test currently fails
112+
// rootSpan2 should be a root span of a new trace and not a child of rootSpan1
113+
Assert.Equal(default(ActivitySpanId), rootSpan2.ParentSpanId);
114+
Assert.NotEqual(rootSpan2.TraceId, rootSpan1.TraceId);
115+
Assert.NotEqual(rootSpan2.ParentSpanId, rootSpan1.SpanId);
116+
}
117+
77118
[Fact]
78119
public void Tracer_StartSpan_BadArgs_NullSpanName()
79120
{

0 commit comments

Comments
 (0)