Open
Description
Host tests (src/installer/tests
) currently run directly on the build machine.
- CI failure investigation is different from that for libraries/runtime tests (which use Helix)
- Results/artifacts aren't associated in the same way - accessing in AzureDevOps or querying in Kusto is inconsistent with rest of repo
- Tests are run on a limited set of platforms
- No arm64 coverage - only x64 and x86
Test projects
- AppHost.Bundle.Tests
- HostActivation.Tests
Microsoft.NET.HostModel
- Microsoft.DotNet.CoreSetup.Packaging.Tests
- Not actually hosting tests - inspects built NuGet packages
- Could probably use some investigation into whether these are still valuable, should be done a different way, etc.
Work
- Audit/reduce amount of host tests/assets that would need to be added to a helix workload
- Remove SharedFxLookup tests #77858
- Switch
LightupAppActivation
tests to component tests targeting additional deps #78139 - Delete host test targeting old xunit packages #79177
- Collapse/remove projects under src/installer/tests/Assets/TestProjects #77807
- Move startup hook tests targeting
StartupHookProvider
out of hosting tests #77805 - Remove testing of both build and publish outputs
- Various tests run both build and publish outputs - shouldn't really be interesting to target both for host testing.
- Remove building of test projects as part of test run
- Tests don't actually care about the build itself - they just want something built and redirected to use the live build.
- Currently relies on
GenerateTestRestoreSourcesNuGetConfig
to point at live built packages
- Currently relies on
- Build all test projects before the test run and copy them as test assets.
- Delete TestProjectFixture and associated helpers #99847
- Remove requirement for building packs to run host tests and infrastructure around restoring test project assets #100324
- Tests don't actually care about the build itself - they just want something built and redirected to use the live build.
- Remove assumption in tests that they are run from within the runtime repo
RepoDirectoriesProvider
builds paths based on repo structure / output directory- Also currently reads settings from a file created by
SetupTestContextVariables
- Also currently reads settings from a file created by
- Construct layout for whatever assets are necessary to carry with the test (separate from the runtime repo)
RefreshProjectTestAssets
currently sets up asharedFrameworkPublish
folder and test projects that will be run- Maybe add a
host.pretest
subset, similar tolibs.pretest
- Ensure tests can run successfully on other platforms
- Likely don't run properly on arm64 right now
- Fix HostApiInvokerApp test app setting DllImportResolver for hostfxr #108954
- Add support for creating/sending Helix payload/job for host tests
- Equivalent of src/tests/Common/helixpublishwitharcade.proj and src/libraries/sendtohelix.proj, but for host tests
- Add project to create helix work items for host tests #108529
- Update pipeline to send tests to Helix
- eng/pipelines/installer/jobs/build-job.yml
- Current test platfroms - Send host tests to helix #114187
- Platforms without coverage: arm64, linux_musl
Metadata
Metadata
Assignees
Type
Projects
Status
No status