You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
HtmlReporter state is not scoped per session when sessions overlap #7298
HtmlReporter keeps all its state in fields shared by every session in the process, with no session key:
_updates (src/TUnit.Engine/Reporters/Html/HtmlReporter.cs:40) is one ConcurrentDictionary<string, TestNodeUpdateMessage>.
OnTestSessionStartingAsync clears it (HtmlReporter.cs:124), and BuildReportData renders all of it (HtmlReporter.cs:613-614).
When MTP server mode runs two sessions in one process at the same time, the second session's start wipes the first session's results. Each report can also contain the other session's tests. The unobserved task exception queue added in #7296 follows the same scoping.
Either key the reporter state (updates, unobserved exceptions, activity collection) by SessionUid and build each report from its own session's entries, or document that the HTML report assumes sessions do not overlap.
Activity
fix(html-reporter): stop the detached collector under the lock and ke…
fix(tests): start reporter sessions before updates (#7298)
fix(html-reporter): preserve trace registry while reports still need …
fix(html-reporter): consume session updates before finishing (#7298)
fix(html-reporter): scope report state per session when sessions over…
fix(html-reporter): stop the detached collector under the lock and ke…
fix(tests): start reporter sessions before updates (#7298)
fix(html-reporter): preserve trace registry while reports still need …
fix(html-reporter): consume session updates before finishing (#7298)
fix(html-reporter): scope report state per session when sessions over…