ProtoTest.Traces
1.1.0
See the version list below for details.
dotnet add package ProtoTest.Traces --version 1.1.0
NuGet\Install-Package ProtoTest.Traces -Version 1.1.0
<PackageReference Include="ProtoTest.Traces" Version="1.1.0" />
<PackageVersion Include="ProtoTest.Traces" Version="1.1.0" />
<PackageReference Include="ProtoTest.Traces" />
paket add ProtoTest.Traces --version 1.1.0
#r "nuget: ProtoTest.Traces, 1.1.0"
#:package ProtoTest.Traces@1.1.0
#addin nuget:?package=ProtoTest.Traces&version=1.1.0
#tool nuget:?package=ProtoTest.Traces&version=1.1.0
ProtoTest.Traces
Reads .prototrace archives without a dependency on ProtoTest.Core.
dotnet add package ProtoTest.Traces
var archive = ProtoTraceArchive.Open("TestResults/Shop.prototrace");
foreach (var test in archive.Tests.Where(test => !test.Succeeded))
{
Console.WriteLine($"{test.Outcome}: {test.Name} ({test.Failure?.Kind})");
}
One failure selector serves the CLI, the tools and the viewer: ProtoTraceTest.Failure picks the
deepest failing operation, lets an assert.* check outrank anything with an error and ranks phase
spans (test.*) last. A failed operation outranks a cancelled one whatever their depth, so a
cancelled child that recorded an error never hides the failure above it. Ancestors, CallAncestor
and ProtoTraceOperation.ReadMismatches expose what ProtoTest.Diagnosis and the tools build on.
The reader also exposes each operation's sections, moments and recorded evidence (observations,
attachments, findings), the run's attributes and run-level events, the declared artifacts and the
embedded sources with their content on request, the tracked state (ReadState) and the embedded JSON
report (ProtoTraceReport.TryRead).
ProtoTraceDiscovery.Discover(folder) finds the readable runs a folder holds: its TestResults/
first, then, when that yields no readable run, the tree with obj, .git and node_modules pruned
and only the TestResults folders read inside bin, newest first by the run's recorded start time. An archive that cannot be read comes back with
the reason it was skipped instead of failing the scan.
Limits
- The reader supports span format 2.x archives; older formats are rejected with a clear message.
- It reads
manifest.jsonand the spans document named by the manifest; the state document is loaded only whenReadStateasks for it. - It declares the run- and test-level artifacts an archive carries, and reads a declared artifact's or embedded source's content on request from the file it was opened from. An archive read from a stream has no content or state to read and says so.
- The embedded report is a projection of the JSON a
ProtoTest.Reportingsink wrote, capped at 64 MB; the coverage arithmetic stays the sink's.
Learn more
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ProtoTest.Traces:
| Package | Downloads |
|---|---|
|
ProtoTest.Verification
Cross-run verification over ProtoTest reports and traces: coverage deltas, specification identity, run comparison and a verdict a PR gate can use. |
|
|
ProtoTest.Diagnosis
Deterministic diagnosis of a .prototrace run: the causal failure summary, its context package, and the digest the CLI, the MCP tools and the feedback channels share. |
GitHub repositories
This package is not used by any popular GitHub repositories.