From 2dd21f2fcee8eb7d1978b59b87e6d7cdc3b6bb83 Mon Sep 17 00:00:00 2001 From: wtgodbe Date: Thu, 27 Apr 2017 15:40:23 -0700 Subject: [PATCH] Ensure we run the Crossgened test executable in R2R tests --- tests/runtest.sh | 2 +- tests/skipCrossGenFiles.arm.txt | 1 + tests/skipCrossGenFiles.arm64.txt | 1 + tests/skipCrossGenFiles.x64.txt | 1 + tests/skipCrossGenFiles.x86.txt | 1 + tests/src/CLRTest.CrossGen.targets | 22 ++++++++++++++-------- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/tests/runtest.sh b/tests/runtest.sh index fd7b4a9..6a5d5ed 100755 --- a/tests/runtest.sh +++ b/tests/runtest.sh @@ -407,7 +407,7 @@ function precompile_overlay_assemblies { $overlayDir/crossgen /Platform_Assemblies_Paths $overlayDir $filename 1> $filename.stdout 2>$filename.stderr local exitCode=$? if [[ $exitCode != 0 ]]; then - if grep -q -e '(COR_E_ASSEMBLYEXPECTED)' $filename.stderr; then + if [ grep -q -e '0x80131018' $filename.stderr ]; then printf "\n\t$filename is not a managed assembly.\n\n" else echo Unable to precompile $filename. diff --git a/tests/skipCrossGenFiles.arm.txt b/tests/skipCrossGenFiles.arm.txt index df66983..2e12456 100644 --- a/tests/skipCrossGenFiles.arm.txt +++ b/tests/skipCrossGenFiles.arm.txt @@ -1,2 +1,3 @@ mscorlib.dll System.Runtime.WindowsRuntime.UI.Xaml.dll +System.Private.CoreLib.dll diff --git a/tests/skipCrossGenFiles.arm64.txt b/tests/skipCrossGenFiles.arm64.txt index 53eec85..ee3972b 100644 --- a/tests/skipCrossGenFiles.arm64.txt +++ b/tests/skipCrossGenFiles.arm64.txt @@ -3,3 +3,4 @@ Microsoft.CodeAnalysis.VisualBasic.dll System.Net.NameResolution.dll System.Net.Sockets.dll System.Net.Primitives.dll +System.Private.CoreLib.dll diff --git a/tests/skipCrossGenFiles.x64.txt b/tests/skipCrossGenFiles.x64.txt index df66983..2e12456 100644 --- a/tests/skipCrossGenFiles.x64.txt +++ b/tests/skipCrossGenFiles.x64.txt @@ -1,2 +1,3 @@ mscorlib.dll System.Runtime.WindowsRuntime.UI.Xaml.dll +System.Private.CoreLib.dll diff --git a/tests/skipCrossGenFiles.x86.txt b/tests/skipCrossGenFiles.x86.txt index df66983..2e12456 100644 --- a/tests/skipCrossGenFiles.x86.txt +++ b/tests/skipCrossGenFiles.x86.txt @@ -1,2 +1,3 @@ mscorlib.dll System.Runtime.WindowsRuntime.UI.Xaml.dll +System.Private.CoreLib.dll diff --git a/tests/src/CLRTest.CrossGen.targets b/tests/src/CLRTest.CrossGen.targets index d91bdcc..6bb5cdb 100644 --- a/tests/src/CLRTest.CrossGen.targets +++ b/tests/src/CLRTest.CrossGen.targets @@ -40,11 +40,14 @@ WARNING: When setting properties based on their current state (for example: if [ ! -z ${RunCrossGen+x} ]%3B then export COMPlus_ZapRequire=$(ZapRequire) export COMPlus_ZapRequireList=$(MSBuildProjectName) - if [ ! -f $(MSBuildProjectName).ni.exe ]%3B then + if [ ! -f $(MSBuildProjectName).org ]%3B then TakeLock - if [ ! -f $(MSBuildProjectName).ni.exe ]%3B then - echo $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD $(MSBuildProjectName).exe - $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD $(MSBuildProjectName).exe + if [ ! -f $(MSBuildProjectName).org ]%3B then + mkdir IL + cp $(MSBuildProjectName).exe IL/$(MSBuildProjectName).exe + mv $(MSBuildProjectName).exe $(MSBuildProjectName).org + echo $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD/IL%3A$PWD /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe + $_DebuggerFullPath "$CORE_ROOT/crossgen" /Platform_Assemblies_Paths $CORE_ROOT%3A$PWD/IL%3A$PWD /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe __cgExitCode=$? if [ $__cgExitCode -ne 0 ] then @@ -73,12 +76,15 @@ REM CrossGen Script if defined RunCrossGen ( set COMPlus_ZapRequire=$(ZapRequire) set COMPlus_ZapRequireList=$(MSBuildProjectName) - if not exist "$(MSBuildProjectName).ni.exe" ( + if not exist "$(MSBuildProjectName).org" ( call :TakeLock set CrossGenStatus=0 - if not exist "$(MSBuildProjectName).ni.exe" ( - echo "%_DebuggerFullPath% %CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25 $(MSBuildProjectName).exe - %_DebuggerFullPath% "%CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25 $(MSBuildProjectName).exe + if not exist "$(MSBuildProjectName).org" ( + mkdir IL + copy $(MSBuildProjectName).exe IL\$(MSBuildProjectName).exe + ren $(MSBuildProjectName).exe $(MSBuildProjectName).org + echo "%_DebuggerFullPath% %CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25\IL%3B%25cd%25 /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe + %_DebuggerFullPath% "%CORE_ROOT%\crossgen.exe" /Platform_Assemblies_Paths %CORE_ROOT%%3B%25cd%25\IL%3B%25cd%25 /in $(MSBuildProjectName).org /out $(MSBuildProjectName).exe set CrossGenStatus=!ERRORLEVEL! ) call :ReleaseLock -- 2.7.4