Skip to content
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

.NET 8: Design E2E testing solution for source-build/VMR #3015

Closed
8 tasks done
mmitche opened this issue Aug 30, 2022 · 5 comments
Closed
8 tasks done

.NET 8: Design E2E testing solution for source-build/VMR #3015

mmitche opened this issue Aug 30, 2022 · 5 comments

Comments

@mmitche
Copy link
Member

mmitche commented Aug 30, 2022

Describe the Problem

.NET does not currently have a unified set of automated scenario tests that are run against the product. We do have testing provided by vendors, we do have a wide variety of unit tests run against product repositories, and we do have SDK tests the closely mimic the product. However, we are missing general scenario tests.

This is not great for the source-built Linux product. Aside from a series of smoke tests, partners do not have a great way to verify that what they build meets a quality bar. The unit tests that are also present in the product repos do not generally work against the end product, and often require resources that our partners are not able to use in their testing environments.

Describe the Solution

.NET should have a series of automated scenario tests that can run against the end product. These scenario tests and their infrastructure should be designed in such a way that:

  • They are more 'complex' scenario tests that are cross-cutting rather than repository specific. These are not unit tests.
  • They test large surface areas of the products.
  • They can be run against an installed product. Installed might mean extracted from an archive, installed from a distribution package manager, or installed from an msi, for example.
  • They can be run automatically on each check-in to the VMR/VMR-lite (source-built repo)
  • The tests that are run, and potentially the tests themselves, can adapt to the test environment requirements of our partners. For instance, internet may not be available.

This issue covers three aspects:

  • Design or identification of an appropriate test harness
  • Design of the CI/PR pipeline(s) that will run these tests regularly against the source-built product.
  • Identification of sets of tests that should be created or repurposed and placed within the E2E test infra.
@mmitche
Copy link
Member Author

mmitche commented Aug 30, 2022

@richaverma1 Is this something you might be interested in helping work on for .NET 8?

@mmitche
Copy link
Member Author

mmitche commented Aug 30, 2022

@MichaelSimons
Copy link
Member

I view support for running in an offline mode part of this work.

@MichaelSimons
Copy link
Member

Linking to the scenario testing design document - https://github.com/dotnet/arcade/blob/main/Documentation/UnifiedBuild/Scenario-Testing.md

@mmitche - what design work remains for this issue?

@MichaelSimons MichaelSimons moved this from Backlog to 8.0 GA in .NET Source Build Aug 4, 2023
@MichaelSimons
Copy link
Member

@mmitche - Can this be closed? What work remains? TIA

@mmitche mmitche closed this as completed Sep 18, 2023
@github-project-automation github-project-automation bot moved this from 8.0 GA to Done in .NET Source Build Sep 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants