-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Testmerging JIT/Directed #81969
Testmerging JIT/Directed #81969
Conversation
Tagging subscribers to this area: @dotnet/area-system-reflection-metadata Issue DetailsThis another pr merging JIT tests as PR80597. It starts with these commits that prepare the directory to use later ILTransform like:
Then cs-main and ILTransform projects are used with the arguments specified on commits in the directory. This is the version of the tool I used. Some observations:
|
Before adding the wrapper, the test run looks is:
this can be get running With the last commit on this PR, the tests run look like this:
There are multiple failures on this last output:
|
2007286
to
884791e
Compare
884791e
to
782b6b5
Compare
Related issue 71732 |
There are errors building tests on different non-windows platforms but I cannot reproduce them. I tried emulating the same lines the pipeline is executing in a docker container following these steps:
That is not failing, and tests can be run then with |
@BrianBohe - I assume you're talking about the "entry point is global code" error. Unfortunately @jkoritzinsky is OOF until next Tuesday, I think he would be best suited to comment on that, I guess it's some shenanigans around Roslyn language version - as I see it, the global entrypoint is the Roslyn-generated wrapper, not some hand-written code. Having said that, it's quite weird that it only affects just a handful of tests, if the simple test wrappers generating global entry points are the real problem, it should be affecting 3/4 of our tests and I don't see that in the log. |
|
It is exactly the same as JIT/Directed/StrAccess/straccess3.cs with straccess3_cs_d.csproj
Duplicated from src\tests\JIT\Directed\shift\int16_cs_d.csproj Duplicated from src\tests\JIT\Directed\shift\int16_cs_do.csproj Duplicated from src\tests\JIT\Directed\shift\int32_cs_d.csproj Duplicated from src\tests\JIT\Directed\shift\int32_cs_do.csproj Duplicated from src\tests\JIT\Directed\shift\uint16_cs_d.csproj Duplicated from src\tests\JIT\Directed\shift\uint16_cs_do.csproj Duplicated from src\tests\JIT\Directed\shift\uint32_cs_d.csproj Duplicated from src\tests\JIT\Directed\shift\uint32_cs_do.csproj Duplicated from src\tests\JIT\Directed\shift\uint8_cs_d.csproj Duplicated from src\tests\JIT\Directed\shift\uint8_cs_do.csproj
Replacing arg string with empty string
It seems there a few cases where namespaces and clases are listed twice, like a declaration and definition. IL_Transform tool does not like it and there is no need to have this so I am removing. Related PR dotnet#64837.
IL_Transform does not like the actual include path expression. We keep the reference but rewrite as it as in PR dotnet#66157 on Methodical, TestLibraryProjectPath is defined in src/tests/Directory.Build.targets.
Actual dedup strategy groups projs by finishing _r, _d, etc. This file does not hav a _d pair and inside src/tests/JIT/Directed/coverage/importer/Desktop there is its analogous and a _d variation which won't be dedup.
This tests was modified by ILTransform -p.
This is how the test run summary looks like now (the host machine is different, so times are different):
Tests The skipped test is Directed\rvastatics\RVAOrderingTest.ilproj. |
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
RVAOrderingTest appears to be excluded in issues.targets:
I would expect it to be skipped in the current runs as well. Are you not seeing that? |
There are many tests that ended up running and passing after being renamed, I have updated those paths on issues.targets but may be a good moment to unable them back. Here is one of the targeted issues |
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsThis another pr merging JIT tests as PR80597. It starts with these commits that prepare the directory to use later ILTransform like:
Then cs-main and ILTransform projects are used with the arguments specified on commits in the directory. This is the version of the tool I used. Some observations:
|
@@ -3633,8 +3981,7 @@ | |||
IL_0006: ret | |||
} // end of method ClassImpl::.ctor | |||
|
|||
.property instance callconv(8) class BaseClass |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked the whole file change and seems to be ok but I am not sure about losing this. Do you know @jakobbotsch ?
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
e677f5e
to
1205592
Compare
/azp run runtime-coreclr outerloop |
Azure Pipelines successfully started running 1 pipeline(s). |
@trylek Also, in step Generate test wrappers of coreclr Pri0 Runtime Tests Run windows x64 checked I can see that |
Thanks Brian for the heads-up. I guess I'll need to play with this for a bit locally to see what's gone awry. For generation of the legacy wrapper, that typically signifies that not all tests have been switched over - basically, the legacy XUnit wrapper tests are generated based on the previously generated cmd / sh test execution scripts, the MSBuild script just collects them and passes them to the XUnit wrapper generator (unless they're specifically marked as out-of-process items of a merged test wrapper). |
Other failures were
This PR will be replaced by #83256 so that I can write to it. |
This another pr merging JIT tests as PR80597. It starts with these commits that prepare the directory to use later ILTransform like:
Then cs-main and ILTransform projects are used with the arguments specified on commits in the directory. This is the version of the tool I used. Some observations: