[cdac] Run cDAC unit + DataGenerator tests in runtime-diagnostics pipeline#129241
Closed
max-charlamb wants to merge 1 commit into
Closed
[cdac] Run cDAC unit + DataGenerator tests in runtime-diagnostics pipeline#129241max-charlamb wants to merge 1 commit into
max-charlamb wants to merge 1 commit into
Conversation
…peline Three pieces: 1. eng/Subsets.props: wire the DataGeneratorTests project (cdac/tests/DataGenerator/) under the existing tools.cdactests subset alongside the existing UnitTests project. No new subset -- one subset builds both managed-side cDAC test projects. 2. eng/pipelines/runtime-diagnostics.yml: new CdacUnitTests stage that runs tools.cdactests on linux_x64 Checked with -test. Independent of the dump/stress legs (no native runtime needed). Publishes xunit results. Now the cDAC unit tests + DataGenerator tests live in the cDAC-focused pipeline next to the dump/stress tests. 3. src/native/managed/cdac/tests/DataGenerator/TestTarget.cs: override the new Target.ReadNInt abstract method (added in e9e3c8d, dotnet#128784) so the DataGeneratorTests project compiles. Mirrors the existing ReadNUInt override. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds cDAC managed-side test coverage to the runtime-diagnostics pipeline by wiring the DataGenerator test project into an existing subset and introducing a dedicated pipeline stage to execute the subset on linux_x64 (Checked). Also updates the DataGenerator test-only TestTarget mock to implement the newly-required Target.ReadNInt override so the test project compiles.
Changes:
- Add
Microsoft.Diagnostics.DataContractReader.DataGeneratorTests.csprojto the existingtools.cdactestssubset. - Add a new
CdacUnitTestsstage toruntime-diagnostics.ymlto runtools.cdactestson linux_x64 Checked with-testand publish xUnit results. - Implement
TestTarget.ReadNIntin the DataGenerator test mock target.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
src/native/managed/cdac/tests/DataGenerator/TestTarget.cs |
Adds ReadNInt override to keep DataGenerator tests building after the Target abstraction gained the new abstract method. |
eng/Subsets.props |
Extends tools.cdactests to include the DataGenerator test project in addition to the existing cDAC unit test project. |
eng/pipelines/runtime-diagnostics.yml |
Introduces a new independent CdacUnitTests stage that runs the tools.cdactests subset and publishes xUnit test results. |
Comment on lines
532
to
535
| <ItemGroup Condition="$(_subset.Contains('+tools.cdactests+'))"> | ||
| <ProjectToBuild Include="$(SharedNativeRoot)managed\cdac\tests\UnitTests\Microsoft.Diagnostics.DataContractReader.Tests.csproj" Test="true" Category="tools"/> | ||
| <ProjectToBuild Include="$(SharedNativeRoot)managed\cdac\tests\DataGenerator\Microsoft.Diagnostics.DataContractReader.DataGeneratorTests.csproj" Test="true" Category="tools"/> | ||
| </ItemGroup> |
Member
Author
|
Superseded by #129244 -- consolidated into a single PR. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Note
This PR was prepared with assistance from GitHub Copilot CLI.
Summary
The cDAC has four test projects under
src/native/managed/cdac/tests/:UnitTests/Microsoft.Diagnostics.DataContractReader.Tests.csprojCLR_Tools_Tests(main CI)DumpTests/...DumpTests.csprojStressTests/...StressTests.csprojDataGenerator/...DataGeneratorTests.csprojThis PR puts the cDAC managed-side test projects under the cDAC-focused pipeline.
Changes
eng/Subsets.props-- DataGeneratorTests added to the existingtools.cdactestssubset (no new subset). One subset now builds both managed-side cDAC test projects.eng/pipelines/runtime-diagnostics.yml-- newCdacUnitTestsstage that runstools.cdactestson linux_x64 Checked with-test. Independent of the dump/stress legs (no native runtime needed). Publishes xunit results. Now the cDAC unit tests + DataGenerator tests live in the cDAC-focused pipeline next to the dump/stress tests.src/native/managed/cdac/tests/DataGenerator/TestTarget.cs-- override the newTarget.ReadNIntabstract method (added in [cDAC] Implement delegate inspection DacDbi APIs #128784) on the test-only TestTarget mock so the DataGeneratorTests project compiles. Mirrors the existingReadNUIntoverride (new TargetNInt(PointerSize == 8 ? Read<long> : Read<int>)).Note
runtime.yml's existingCLR_Tools_Testsleg still runs the cDAC UnitTests via the sametools.cdactestssubset, so coverage is unchanged there -- this PR is purely additive (adds DataGen coverage, and pulls everything into the cDAC pipeline for easier triage).