Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Consume RoslynToolset via the appropriate mechanism #7032

Open
tannergooding opened this issue Feb 15, 2019 · 0 comments
Open

Consume RoslynToolset via the appropriate mechanism #7032

tannergooding opened this issue Feb 15, 2019 · 0 comments

Comments

@tannergooding
Copy link
Member

#7015 added a workaround to consume the latest RoslynToolset. Normally, this would have been consumed via BuildTools, but the tests/CoreCLR/runtests/tests.targets file uses xunit.runner.msbuild which is Desktop only. Additionally, the RoslynToolset we need to depend on now requires net472 on Desktop, which is not installed on all the Jenkins build-machines.

We should ensure this workaround (which is explicitly restoring the appropriate toolset as part of the root init-tools.cmd) is removed once we either move to Arcade or update the BuildTools dependency (presumably both will require the tests/CoreCLR folder to drop the desktop dependency).

nattress added a commit to nattress/corert that referenced this issue Apr 12, 2019
The scripts to support running downloaded CoreCLR tests are from 2017
and have received some compelling updates since then:

- No longer depend on desktop Xunit runner (`xunit.runner.msbuild`) and
instead uses `xunit.console`. This should unblock
dotnet#7032.
- Cross platform Python script to drive test execution which lets us
remove a bunch of the scripting we brought over last time.

The process here was similar to last time - drop runtest.py into this
repo and then bring over enough scripts to make it run the test tree.
Alternatively, we could have re-written this scripting to clone CoreCLR,
build the product and tests, and run them with a custom launcher that
first runs CPAOT / ILC. This takes about 25 minutes for the Pri0 tests
and would slow our CI down significantly. The Pri0 test binaries are
stored in an Azure blob which downloads and extracts in 1 minute at a
periodic cost of updating these scripts (currently a 2 year period).

The Windows test binaries are supported with this commit. Unix support
will be added once the CI looks good for Windows.

NB: The wrappers are extremely slow to generate (5 minutes on my machine) and run each time we run CoreCLR tests. If we change test exclusion file they need generating, otherwise we can re-use if it's the same test subset. An optimization here would improve quality of life.
nattress added a commit to nattress/corert that referenced this issue Apr 18, 2019
The scripts to support running downloaded CoreCLR tests are from 2017 and have received some compelling updates since then:

- No longer depend on desktop Xunit runner (`xunit.runner.msbuild`) and instead uses `xunit.console`. This should unblock dotnet#7032.
- Cross platform Python script to drive test execution which lets us remove a bunch of the scripting we brought over last time.
- All OSes now share the same test filter `*.issues.targets` files

The process here was similar to last time - drop runtest.py into this repo and then bring over enough scripts to make it run the test tree. Alternatively, we could have re-written this scripting to clone CoreCLR, build the product and tests, and run them with a custom launcher that first runs CPAOT / ILC. This takes about 25 minutes for the Pri0 tests and would slow our CI down significantly. The Pri0 test binaries are stored in an Azure blob which downloads and extracts in 1 minute.
nattress added a commit to nattress/corert that referenced this issue Apr 24, 2019
The scripts to support running downloaded CoreCLR tests are from 2017 and have received some compelling updates since then:

- No longer depend on desktop Xunit runner (`xunit.runner.msbuild`) and instead uses `xunit.console`. This should unblock dotnet#7032.
- Cross platform Python script to drive test execution which lets us remove a bunch of the scripting we brought over last time.
- All OSes now share the same test filter `*.issues.targets` files

The process here was similar to last time - drop runtest.py into this repo and then bring over enough scripts to make it run the test tree. Alternatively, we could have re-written this scripting to clone CoreCLR, build the product and tests, and run them with a custom launcher that first runs CPAOT / ILC. This takes about 25 minutes for the Pri0 tests and would slow our CI down significantly. The Pri0 test binaries are stored in an Azure blob which downloads and extracts in 1 minute.
nattress added a commit that referenced this issue Apr 24, 2019
The scripts to support running downloaded CoreCLR tests are from 2017 and have received some compelling updates since then:

- No longer depend on desktop Xunit runner (`xunit.runner.msbuild`) and instead uses `xunit.console`. This should unblock #7032.
- Cross platform Python script to drive test execution which lets us remove a bunch of the scripting we brought over last time.
- All OSes now share the same test filter `*.issues.targets` files

The process here was similar to last time - drop runtest.py into this repo and then bring over enough scripts to make it run the test tree. Alternatively, we could have re-written this scripting to clone CoreCLR, build the product and tests, and run them with a custom launcher that first runs CPAOT / ILC. This takes about 25 minutes for the Pri0 tests and would slow our CI down significantly. The Pri0 test binaries are stored in an Azure blob which downloads and extracts in 1 minute.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant