-
Notifications
You must be signed in to change notification settings - Fork 0
Update repository structure to comply with updated standards #132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
cbb597f
Initial plan
Copilot cc70339
feat: update repository structure to comply with updated standards
Copilot c8eec91
fix: address review feedback on introduction, system design, and revi…
Copilot 346e498
fix: use meaningful Mermaid node IDs and reference introduction for s…
Copilot c02d2d0
fix: update pandoc definition.yaml with new design file paths
Copilot c0d6710
fix: add io.yaml to requirements.yaml and TestHelpers.cs to review-set
Copilot 0fe741c
fix: remove invalid 'text' field from docs/reqstream/io/io.yaml
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| # IO Subsystem Design | ||
|
|
||
| ## Overview | ||
|
|
||
| The IO subsystem provides serialization and deserialization of test result data | ||
| in multiple formats. It acts as the interface between the in-memory | ||
| [TestResults](../test-results.md) model and external test result files. | ||
|
|
||
| ## Subsystem Structure | ||
|
|
||
| The IO subsystem consists of the following units: | ||
|
|
||
| | Unit | File | Description | | ||
| | ---- | ---- | ----------- | | ||
| | [Serializer](serializer.md) | `IO/Serializer.cs` | Format-detection facade | | ||
| | [TrxSerializer](trx-serializer.md) | `IO/TrxSerializer.cs` | TRX format implementation | | ||
| | [JUnitSerializer](junit-serializer.md) | `IO/JUnitSerializer.cs` | JUnit XML format implementation | | ||
|
|
||
| ## Responsibilities | ||
|
|
||
| The IO subsystem is responsible for: | ||
|
|
||
| - Detecting the format of test result files automatically | ||
| - Deserializing test result files into the in-memory model | ||
| - Serializing the in-memory model to test result files | ||
| - Converting between different test result formats | ||
|
|
||
| ## Dependencies | ||
|
|
||
| The IO subsystem depends on: | ||
|
|
||
| - **Model layer**: [TestResults](../test-results.md), [TestResult](../test-result.md), | ||
| [TestOutcome](../test-outcome.md) | ||
| - **External**: `System.Xml.Linq` for XML processing | ||
|
|
||
| ## Related Requirements | ||
|
|
||
| Requirements for the IO subsystem are in | ||
| [docs/reqstream/io/](../../reqstream/io/). |
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,65 @@ | ||
| # System Design | ||
|
|
||
| ## Overview | ||
|
|
||
| The TestResults library is a .NET library for reading and writing test result | ||
| files in multiple formats. It provides a format-agnostic in-memory model and | ||
| format-specific serialization implementations. | ||
|
|
||
| ## System Architecture | ||
|
|
||
| The TestResults library uses a layered architecture: | ||
|
|
||
| ```mermaid | ||
| graph TD | ||
| CallingCode[Calling Code] | ||
|
|
||
| subgraph IO["IO Subsystem (Serialization)"] | ||
| Serializer[Serializer facade] | ||
| TrxSerializer[TrxSerializer] | ||
| JUnitSerializer[JUnitSerializer] | ||
| end | ||
|
|
||
| subgraph Model["Model Layer"] | ||
| TestResults[TestResults] | ||
| TestResult[TestResult] | ||
| TestOutcome[TestOutcome] | ||
| end | ||
|
|
||
| CallingCode --> Serializer | ||
| Serializer --> TrxSerializer | ||
| Serializer --> JUnitSerializer | ||
| TrxSerializer --> TestResults | ||
| JUnitSerializer --> TestResults | ||
| TestResults --> TestResult | ||
| TestResult --> TestOutcome | ||
| ``` | ||
|
|
||
| ## Software Items | ||
Malcolmnixon marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| The software items in the TestResults system are described in the | ||
| [introduction](introduction.md#software-structure). | ||
|
|
||
| ## External Interfaces | ||
|
|
||
| The TestResults library exposes the following public API entry points: | ||
|
|
||
| - `Serializer.Identify(string)`: Detects format of a test result file | ||
| - `Serializer.Deserialize(string)`: Reads a test result file into the model | ||
| - `TrxSerializer.Serialize(TestResults)`: Writes TRX format | ||
| - `TrxSerializer.Deserialize(string)`: Reads TRX format | ||
| - `JUnitSerializer.Serialize(TestResults)`: Writes JUnit XML format | ||
| - `JUnitSerializer.Deserialize(string)`: Reads JUnit XML format | ||
|
|
||
| ## Supported Formats | ||
|
|
||
| | Format | Description | Standard | | ||
| | ------ | ----------- | -------- | | ||
| | TRX | Visual Studio Test Results | Microsoft proprietary | | ||
| | JUnit XML | JUnit test results | Apache JUnit | | ||
|
|
||
| ## Related Requirements | ||
|
|
||
| System-level requirements are in [docs/reqstream/system.yaml](../reqstream/system.yaml). | ||
| Platform requirements are in | ||
| [docs/reqstream/platform-requirements.yaml](../reqstream/platform-requirements.yaml). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| --- | ||
| # IO Subsystem Requirements | ||
| # This file covers the IO subsystem of the TestResults library. | ||
| # Unit-level requirements are in the individual unit files: | ||
| # - serializer.yaml | ||
| # - trx-serializer.yaml | ||
| # - junit-serializer.yaml | ||
|
|
||
| sections: | ||
| - title: IO Subsystem Requirements |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,24 +1,26 @@ | ||
| --- | ||
| # TestResults Library Requirements | ||
| # | ||
| # Root requirements file - includes all unit, platform, and OTS requirements | ||
| # Root requirements file - includes all unit, platform, and OTS requirements. | ||
| # Organized by subsystem: model units, IO subsystem, system/platform, and OTS. | ||
|
|
||
| includes: | ||
| - docs/reqstream/unit-test-outcome.yaml | ||
| - docs/reqstream/unit-test-result.yaml | ||
| - docs/reqstream/unit-test-results.yaml | ||
| - docs/reqstream/unit-serializer.yaml | ||
| - docs/reqstream/unit-trx-serializer.yaml | ||
| - docs/reqstream/unit-junit-serializer.yaml | ||
| - docs/reqstream/runtime.yaml | ||
| - docs/reqstream/test-outcome.yaml | ||
| - docs/reqstream/test-result.yaml | ||
| - docs/reqstream/test-results.yaml | ||
| - docs/reqstream/io/io.yaml | ||
| - docs/reqstream/io/serializer.yaml | ||
| - docs/reqstream/io/trx-serializer.yaml | ||
| - docs/reqstream/io/junit-serializer.yaml | ||
| - docs/reqstream/system.yaml | ||
| - docs/reqstream/platform-requirements.yaml | ||
| - docs/reqstream/ots-mstest.yaml | ||
| - docs/reqstream/ots-reqstream.yaml | ||
| - docs/reqstream/ots-buildmark.yaml | ||
| - docs/reqstream/ots-versionmark.yaml | ||
| - docs/reqstream/ots-sarifmark.yaml | ||
| - docs/reqstream/ots-sonarmark.yaml | ||
| - docs/reqstream/ots-reviewmark.yaml | ||
| - docs/reqstream/ots-sonarscanner.yaml | ||
| - docs/reqstream/ots-pandoctool.yaml | ||
| - docs/reqstream/ots-weasyprinttool.yaml | ||
| - docs/reqstream/ots/mstest.yaml | ||
| - docs/reqstream/ots/reqstream.yaml | ||
| - docs/reqstream/ots/buildmark.yaml | ||
| - docs/reqstream/ots/versionmark.yaml | ||
| - docs/reqstream/ots/sarifmark.yaml | ||
| - docs/reqstream/ots/sonarmark.yaml | ||
| - docs/reqstream/ots/reviewmark.yaml | ||
| - docs/reqstream/ots/sonarscanner.yaml | ||
| - docs/reqstream/ots/pandoctool.yaml | ||
| - docs/reqstream/ots/weasyprinttool.yaml |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.