You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[mono] instructions for running tests on windows using Mono with release/6.0 branch #63189
changed the title [-]hi, how can I run test on windows use Mono runtime with release/6.0 branch[/-][+][mono] instructions for running tests on windows using Mono with release/6.0 branch[/+]on Dec 30, 2021
The field in question is System.Drawing.Imaging.MetafileHeaderEmf:EmfHeader which has type Nullable<SafeNativeMethods.ENHMETAHEADER>. So ftype->data.klass is wrong (it's a generic instance, so it should be mono_class_from_mono_type_internal (ftype) because ftype->data.generic_class is the active field in the union). Although in this case ftype->data.generic_class would be NULL too, it's a union! So there might be something else going on.
This is probably not really Windows specific - seems like a genuine bug in the marshalling code.
If the runtime tests fail the same way, we should repurpose this issue to fix the marshalling. Otherwise we should open a new issue.
ok, so to answer @srxqds: the infrastructure for running libraries and runtime tests is working. Some of the tests, however, are currently failing on Windows. This is expected. We just started building .NET 7 Mono on Windows a few weeks ago - we haven't started to work on the bugs. We will open issues for the tests that fail.
The CoreCLR runtime tests have never been running on Mono Windows on CI (but libraries tests do). I had a PR for it a while back, trying to get it at least into the staging lane, #47526, but since it needed additional work (mainly walking through and evaluate failures and exclude tests), it was put on hold until we had some time to do that work, so there will be failures when running the runtime tests as is, I expect most failures to be similar to other Mono platforms, except they either don't run on other platforms or have already been excluded.
CoreCLR runtime tests is currently running on CI for Mono Linux/MacOS as well as iOS/Android.
So we run 2804 runtime tests on Mono Windows and we currently have 55 failures. I briefly looked at several of the failures and many of them are either running things not supported on Mono, but since its Windows it will still try to execute some of these since they where never explicitly excluded on Mono (just relying on the fact that they are Windows specific and won't run on other platforms). There are also some tests failing due to issues resolving a dll import using ordinal, pretty much all 14 failures in JIT.jit64.XUnitWrapper fails due to that.
I will probably take a look at this in main and see if I we can either fix or explicitly exclude these tests on Mono. Once that is done I believe we should aim at getting the runtime tests CI lane running on Mono Windows in main.
Activity
lambdageek commentedon Dec 30, 2021
/cc @lateralusX @steveisok Is there anything special that needs to be done to run the runtime tests on mono on Windows?
[-]hi, how can I run test on windows use Mono runtime with release/6.0 branch[/-][+][mono] instructions for running tests on windows using Mono with release/6.0 branch[/+]srxqds commentedon Dec 30, 2021
I try again this day, fail always,
this is test command and the first output:
../../dotnet.cmd msbuild /t:RunCoreClrTests /p:CoreClrTestConfig=Debug /p:LibrariesTestConfig=Debug /p:Configuration=Debug mono.proj
C:\Program Files\dotnet
用于 .NET 的 Microsoft (R) 生成引擎版本 17.0.0+c9eb9dd64
版权所有(C) Microsoft Corporation。保留所有权利。
Copying Mono Runtime artifacts from 'E:\work\netease-gitlab\dotnet\runtime\artifacts\bin\mono\windows.x64.Debug' to 'E:\work\netease-gitlab\dotnet\runtime\artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_Root'.'
"C:\Users\qiudesuo\AppData\Local\Programs\Python\Python310\python.exe" "E:\work\netease-gitlab\dotnet\runtime\src\tests....\src\tests\run.py" -arch x64 -build_type Debug
host_os : windows
arch : x64
build_type : Debug
runtime_repo_location : E:\work\netease-gitlab\dotnet\runtime
core_root : E:\work\netease-gitlab\dotnet\runtime\artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_Root
test_location : E:\work\netease-gitlab\dotnet\runtime\artifacts\tests\coreclr\windows.x64.Debug
Setting __TestTimeout=900000
Setting CORE_ROOT=E:\work\netease-gitlab\dotnet\runtime\artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_Root
E:\work\netease-gitlab\dotnet\runtime\dotnet.cmd msbuild E:\work\netease-gitlab\dotnet\runtime\src\tests\run.proj /p:Runtests=true /clp:showcommandline /fileloggerparameters:"Verbosity=normal;LogFile=E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.log" /fileloggerparameters1:"WarningsOnly;LogFile=E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.wrn" /fileloggerparameters2:"ErrorsOnly;LogFile=E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.err" /consoleloggerparameters:Summary /p:TargetOS=windows /p:TargetArchitecture=x64 /p:Configuration=Debug /p:__LogsDir=E:\work\netease-gitlab\dotnet\runtime\artifacts\log /bl:E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.binlog
C:\Program Files\dotnet
用于 .NET 的 Microsoft (R) 生成引擎版本 17.0.0+c9eb9dd64
版权所有(C) Microsoft Corporation。保留所有权利。
C:\Program Files\dotnet\sdk\6.0.101\MSBuild.dll -distributedlogger:Microsoft.DotNet.Tools.MSBuild.MSBuildLogger,C:\Program Files\dotnet\sdk\6.0.101\dotnet.dll*Microsoft.DotNet.Tools.MSBuild.MSBuildForwardingLogger,C:\Program Files\dotnet\sdk\6.0.101\dotnet.dll -maxcpucount -verbosity:m /bl:E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.binlog /clp:showcommandline /consoleloggerparameters:Summary /fileloggerparameters1:WarningsOnly;LogFile=E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.wrn /fileloggerparameters2:ErrorsOnly;LogFile=E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.err /fileloggerparameters:Verbosity=normal;LogFile=E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRunResults_windows_x64_Debug.log /p:Runtests=true /p:TargetOS=windows /p:TargetArchitecture=x64 /p:Configuration=Debug /p:__LogsDir=E:\work\netease-gitlab\dotnet\runtime\artifacts\log E:\work\netease-gitlab\dotnet\runtime\src\tests\run.proj
E:\work\netease-gitlab\dotnet\runtime\artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_Root\corerun.exe E:\work\netease-gitlab\dotnet\runtime\artifacts\tests\coreclr\windows.x64.Debug\Tests\Core_Root\xunit\xunit.console.dll .\baseservices\callconvs\baseservices.callconvs.XUnitWrapper.dll .\baseservices\compilerservices\baseservices.compilerservices.XUnitWrapper.dll .\baseservices\exceptions\baseservices.exceptions.XUnitWrapper.dll .\baseservices\mono\baseservices.mono.XUnitWrapper.dll .\baseservices\threading\baseservices.threading.XUnitWrapper.dll .\baseservices\TieredCompilation\baseservices.TieredCompilation.XUnitWrapper.dll .\baseservices\typeequivalence\baseservices.typeequivalence.XUnitWrapper.dll .\baseservices\varargs\baseservices.varargs.XUnitWrapper.dll .\CoreMangLib\system\CoreMangLib.system.XUnitWrapper.dll .\Exceptions\ForeignThread\Exceptions.ForeignThread.XUnitWrapper.dll .\GC\API\GC.API.XUnitWrapper.dll .\GC\Coverage\GC.Coverage.XUnitWrapper.dll .\GC\Features\GC.Features.XUnitWrapper.dll .\GC\LargeMemory\GC.LargeMemory.XUnitWrapper.dll .\GC\Regressions\GC.Regressions.XUnitWrapper.dll .\GC\Scenarios\GC.Scenarios.XUnitWrapper.dll .\GC\Stress\GC.Stress.XUnitWrapper.dll .\ilasm\PortablePdb\ilasm.PortablePdb.XUnitWrapper.dll .\ilasm\System\ilasm.System.XUnitWrapper.dll .\Interop\ArrayMarshalling\Interop.ArrayMarshalling.XUnitWrapper.dll .\Interop\DllImportAttribute\Interop.DllImportAttribute.XUnitWrapper.dll .\Interop\ExecInDefAppDom\Interop.ExecInDefAppDom.XUnitWrapper.dll .\Interop\ICastable\Interop.ICastable.XUnitWrapper.dll .\Interop\ICustomMarshaler\Interop.ICustomMarshaler.XUnitWrapper.dll .\Interop\IJW\Interop.IJW.XUnitWrapper.dll .\Interop\LayoutClass\Interop.LayoutClass.XUnitWrapper.dll .\Interop\MarshalAPI\Interop.MarshalAPI.XUnitWrapper.dll .\Interop\NativeLibrary\Interop.NativeLibrary.XUnitWrapper.dll .\Interop\PInvoke\Interop.PInvoke.XUnitWrapper.dll .\Interop\StringMarshalling\Interop.StringMarshalling.XUnitWrapper.dll .\Interop\StructMarshalling\Interop.StructMarshalling.XUnitWrapper.dll .\Interop\StructPacking\Interop.StructPacking.XUnitWrapper.dll .\Interop\SuppressGCTransition\Interop.SuppressGCTransition.XUnitWrapper.dll .\Interop\UnmanagedCallConv\Interop.UnmanagedCallConv.XUnitWrapper.dll .\Interop\UnmanagedCallersOnly\Interop.UnmanagedCallersOnly.XUnitWrapper.dll .\Interop\WinRT\Interop.WinRT.XUnitWrapper.dll .\JIT\CheckProjects\JIT.CheckProjects.XUnitWrapper.dll .\JIT\CodeGenBringUpTests\JIT.CodeGenBringUpTests.XUnitWrapper.dll .\JIT\Directed\JIT.Directed.XUnitWrapper.dll .\JIT\Generics\JIT.Generics.XUnitWrapper.dll .\JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll .\JIT\IL_Conformance\JIT.IL_Conformance.XUnitWrapper.dll .\JIT\Intrinsics\JIT.Intrinsics.XUnitWrapper.dll .\JIT\jit64\JIT.jit64.XUnitWrapper.dll .\JIT\Math\JIT.Math.XUnitWrapper.dll .\JIT\Methodical\JIT.Methodical.XUnitWrapper.dll .\JIT\opt\JIT.opt.XUnitWrapper.dll .\JIT\Performance\JIT.Performance.XUnitWrapper.dll .\JIT\Regression\JIT.Regression.XUnitWrapper.dll .\JIT\RyuJIT\JIT.RyuJIT.XUnitWrapper.dll .\JIT\SIMD\JIT.SIMD.XUnitWrapper.dll .\JIT\Stress\JIT.Stress.XUnitWrapper.dll .\JIT\superpmi\JIT.superpmi.XUnitWrapper.dll .\Loader\AssemblyDependencyResolver\Loader.AssemblyDependencyResolver.XUnitWrapper.dll .\Loader\AssemblyLoadContext30Extensions\Loader.AssemblyLoadContext30Extensions.XUnitWrapper.dll .\Loader\binding\Loader.binding.XUnitWrapper.dll .\Loader\classloader\Loader.classloader.XUnitWrapper.dll .\Loader\CollectibleAssemblies\Loader.CollectibleAssemblies.XUnitWrapper.dll .\Loader\ContextualReflection\Loader.ContextualReflection.XUnitWrapper.dll .\Loader\regressions\Loader.regressions.XUnitWrapper.dll .\managed\Compilation\managed.Compilation.XUnitWrapper.dll .\profiler\elt\profiler.elt.XUnitWrapper.dll .\profiler\eventpipe\profiler.eventpipe.XUnitWrapper.dll .\profiler\gc\profiler.gc.XUnitWrapper.dll .\profiler\multiple\profiler.multiple.XUnitWrapper.dll .\profiler\rejit\profiler.rejit.XUnitWrapper.dll .\profiler\transitions\profiler.transitions.XUnitWrapper.dll .\profiler\unittest\profiler.unittest.XUnitWrapper.dll .\readytorun\crossgen2\readytorun.crossgen2.XUnitWrapper.dll .\readytorun\DynamicMethodGCStress\readytorun.DynamicMethodGCStress.XUnitWrapper.dll .\readytorun\multifolder\readytorun.multifolder.XUnitWrapper.dll .\readytorun\r2rdump\readytorun.r2rdump.XUnitWrapper.dll .\readytorun\tests\readytorun.tests.XUnitWrapper.dll .\reflection\DefaultInterfaceMethods\reflection.DefaultInterfaceMethods.XUnitWrapper.dll .\reflection\GenericAttribute\reflection.GenericAttribute.XUnitWrapper.dll .\reflection\Modifiers\reflection.Modifiers.XUnitWrapper.dll .\reflection\RefEmit\reflection.RefEmit.XUnitWrapper.dll .\reflection\regression\reflection.regression.XUnitWrapper.dll .\reflection\SetValue\reflection.SetValue.XUnitWrapper.dll .\reflection\StaticInterfaceMembers\reflection.StaticInterfaceMembers.XUnitWrapper.dll .\Regressions\coreclr\Regressions.coreclr.XUnitWrapper.dll .\tracing\eventactivityidcontrol\tracing.eventactivityidcontrol.XUnitWrapper.dll .\tracing\eventcounter\tracing.eventcounter.XUnitWrapper.dll .\tracing\eventlistener\tracing.eventlistener.XUnitWrapper.dll .\tracing\eventpipe\tracing.eventpipe.XUnitWrapper.dll -parallel collections -html E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRun.html -xml E:\work\netease-gitlab\dotnet\runtime\artifacts\log\TestRun.xml -notrait category=outerloop -notrait category=failing -nocolor
srxqds commentedon Dec 30, 2021
hi, @lateralusX @steveisok can you help me?
steveisok commentedon Jan 3, 2022
@lateralusX I took a look and I'm not sure what the problem is.
srxqds commentedon Jan 5, 2022
hi, how can pr action run test, but I can't find the command in the pr action script?
anyone can help me? I want to run all tests and fix some bugs.
steveisok commentedon Jan 5, 2022
Looking at this further, it seems the test host is crashing. An access violation at
runtime/src/mono/mono/metadata/property-bag.c
Line 25 in bd6a64b
Stack trace:
lambdageek commentedon Jan 5, 2022
The System.Drawing.Common test is failing around here:
runtime/src/mono/mono/metadata/marshal.c
Line 5160 in bd6a64b
The field in question is
System.Drawing.Imaging.MetafileHeaderEmf:EmfHeaderwhich has typeNullable<SafeNativeMethods.ENHMETAHEADER>. Softype->data.klassis wrong (it's a generic instance, so it should bemono_class_from_mono_type_internal (ftype)becauseftype->data.generic_classis the active field in the union). Although in this caseftype->data.generic_classwould be NULL too, it's a union! So there might be something else going on.This is probably not really Windows specific - seems like a genuine bug in the marshalling code.
If the runtime tests fail the same way, we should repurpose this issue to fix the marshalling. Otherwise we should open a new issue.
steveisok commentedon Jan 5, 2022
The runtime tests seem to fail differently. The first one I tried was
ThisCallTest. The debugger broke on this lineruntime/src/tests/JIT/Directed/callconv/InstanceCallConvTest.cpp
Line 46 in ec5471c
The stack trace is:
I'll look for others to see if they are the same.
lambdageek commentedon Jan 5, 2022
ok, so to answer @srxqds: the infrastructure for running libraries and runtime tests is working. Some of the tests, however, are currently failing on Windows. This is expected. We just started building .NET 7 Mono on Windows a few weeks ago - we haven't started to work on the bugs. We will open issues for the tests that fail.
srxqds commentedon Jan 6, 2022
ok, thank you, so the tests will pass on macos/ios android?
lateralusX commentedon Jan 13, 2022
The CoreCLR runtime tests have never been running on Mono Windows on CI (but libraries tests do). I had a PR for it a while back, trying to get it at least into the staging lane, #47526, but since it needed additional work (mainly walking through and evaluate failures and exclude tests), it was put on hold until we had some time to do that work, so there will be failures when running the runtime tests as is, I expect most failures to be similar to other Mono platforms, except they either don't run on other platforms or have already been excluded.
CoreCLR runtime tests is currently running on CI for Mono Linux/MacOS as well as iOS/Android.
srxqds commentedon Jan 13, 2022
thank you for reply
lateralusX commentedon Jan 13, 2022
Run through the test suite on Mono Windows and we get the following result:
So we run 2804 runtime tests on Mono Windows and we currently have 55 failures. I briefly looked at several of the failures and many of them are either running things not supported on Mono, but since its Windows it will still try to execute some of these since they where never explicitly excluded on Mono (just relying on the fact that they are Windows specific and won't run on other platforms). There are also some tests failing due to issues resolving a dll import using ordinal, pretty much all 14 failures in JIT.jit64.XUnitWrapper fails due to that.
I will probably take a look at this in main and see if I we can either fix or explicitly exclude these tests on Mono. Once that is done I believe we should aim at getting the runtime tests CI lane running on Mono Windows in main.
lateralusX commentedon Jan 25, 2022
#64281
lateralusX commentedon Mar 24, 2022
#64281 is now merged.