Skip to content

Commit

Permalink
Selective integration of CoreCLR PR #27836 (#25)
Browse files Browse the repository at this point in the history
  • Loading branch information
trylek committed Nov 13, 2019
1 parent f66fe24 commit 080d82e
Show file tree
Hide file tree
Showing 11 changed files with 29 additions and 30 deletions.
3 changes: 2 additions & 1 deletion eng/helixcorefxtests.proj
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
TODO: ProjectDir, RootBinDir, TestWorkingDir, and TargetsWindows are global properties set in dir.props, remove the property assignment here when we port to arcade.
-->
<ProjectDir Condition="'$(__ProjectDir)'==''">$(MSBuildThisFileDirectory)..\</ProjectDir>
<ProjectDir Condition="Exists('$(ProjectDir).dotnet-runtime-placeholder')">$(ProjectDir)\src\coreclr\</ProjectDir>
<RootBinDir Condition="'$(__RootBinDir)'==''">$(ProjectDir)bin\</RootBinDir>
<TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)tests\$(__BuildOS).$(__BuildArch).$(__BuildType)\</TestWorkingDir>
<TargetsWindows Condition="'$(__BuildOS)' == 'Windows_NT'">true</TargetsWindows>
Expand Down Expand Up @@ -149,7 +150,7 @@
</PropertyGroup>

<ItemGroup>
<_ProjectsToBuild Include="..\tests\testenvironment.proj">
<_ProjectsToBuild Include="$(ProjectDir)tests\testenvironment.proj">
<Properties>Scenario=$(Scenario);TestEnvFileName=$(TestEnvFilePath);TargetsWindows=$(TargetsWindows)</Properties>
</_ProjectsToBuild>
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/templates/build-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
displayName: Install native dependencies
- ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
# Necessary to install correct cmake version
- script: $(coreClrRepoRootDir)eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force
- script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force
displayName: Install native dependencies


Expand Down
20 changes: 8 additions & 12 deletions eng/pipelines/coreclr/templates/crossgen-comparison-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ jobs:
value: $(osGroup).$(hostArchType)_$(archType).$(buildConfigUpper)
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
- name: binDirectory
value: $(Build.SourcesDirectory)/bin
value: $(coreClrRepoRoot)/bin
- name: productDirectory
value: $(Build.SourcesDirectory)/bin/Product
value: $(binDirectory)/Product
- ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
- name: binDirectory
value: $(Build.SourcesDirectory)\bin
value: $(coreClrRepoRoot)\bin
- name: productDirectory
value: $(Build.SourcesDirectory)\bin\Product
value: $(binDirectory\Product

# Test job depends on the corresponding build job
dependsOn: ${{ format('build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
Expand Down Expand Up @@ -83,20 +83,16 @@ jobs:
# Populate Core_Root
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
- script: ./build-test.sh $(buildConfig) $(archType) $(crossArg) generatelayoutonly
displayName: Populate Core_Root
- ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
- script: build-test.cmd $(buildConfig) $(archType) generateLayoutOnly
displayName: Populate Core_Root
- script: $(coreClrRepoRootDir)build-test$(scriptExt) $(buildConfig) $(archType) $(crossArg) generatelayoutonly
displayName: Populate Core_Root


# Create baseline output on the host (x64) machine
- task: PythonScript@0
displayName: Create cross-platform crossgen baseline
inputs:
scriptSource: 'filePath'
scriptPath: $(Build.SourcesDirectory)/tests/scripts/crossgen_comparison.py
scriptPath: $(coreClrRepoRoot)/tests/scripts/crossgen_comparison.py
${{ if ne(parameters.osGroup, 'Windows_NT') }}:
arguments:
crossgen_framework
Expand Down Expand Up @@ -126,7 +122,7 @@ jobs:
Creator: $(Creator)
WorkItemTimeout: 1:00 # 1 hour
WorkItemDirectory: '$(binDirectory)'
CorrelationPayloadDirectory: '$(Build.SourcesDirectory)/tests/scripts'
CorrelationPayloadDirectory: '$(coreClrRepoRoot)/tests/scripts'
${{ if ne(parameters.osName, 'Windows_NT') }}:
WorkItemCommand:
chmod +x $HELIX_WORKITEM_PAYLOAD/Product/$(targetFlavor)/crossgen;
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/templates/perf-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ jobs:

# Create Core_Root
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
- script: ./build-test.sh ${{ parameters.buildConfig }} ${{ parameters.archType }} generatelayoutonly
- script: $(coreClrRepoRootDir)build-test$(scriptExt) ${{ parameters.buildConfig }} ${{ parameters.archType }} generatelayoutonly
displayName: Create Core_Root
- ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
# TODO: add generatelayoutonly to build-test.cmd.
- script: build-test.cmd ${{ parameters.buildConfig }} ${{ parameters.archType }} skipmanaged skipnative
- script: $(coreClrRepoRootDir)build-test$(scriptExt) ${{ parameters.buildConfig }} ${{ parameters.archType }} skipmanaged skipnative
displayName: Create Core_Root
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/templates/run-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ jobs:

# Choose which tests to send to Helix: CoreFX or CoreCLR.
${{ if eq(parameters.corefxTests, true) }}:
helixProjectArguments: '$(coreClrRepoRoot)/eng/helixcorefxtests.proj'
helixProjectArguments: '$(Build.SourcesDirectory)/eng/helixcorefxtests.proj'
${{ if ne(parameters.corefxTests, true) }}:
helixProjectArguments: '$(coreClrRepoRoot)/tests/src/helixpublishwitharcade.proj'

Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/templates/xplat-pipeline-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ jobs:
value: '/'

- name: coreClrRepoRoot
value: '$(Build.SourcesDirectory)/src/coreclr
value: '$(Build.SourcesDirectory)/src/coreclr'

- ${{ if not(startsWith(variables['Build.DefinitionName'], 'runtime')) }}:'
- ${{ if not(startsWith(variables['Build.DefinitionName'], 'runtime')) }}:

- name: coreClrRepoRoot
value: '$(Build.SourcesDirectory)'
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/build-test.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ if "%__SkipRestorePackages%" == "1" goto SkipRestoreProduct
echo %__MsgPrefix%Restoring CoreCLR product from packages

if not defined XunitTestBinBase set XunitTestBinBase=%__TestBinDir%
set "CORE_ROOT=%XunitTestBinBase%\Tests\Core_Root"
set "CORE_ROOT=%XunitTestBinBase%\Tests\Core_Root\"

set __BuildLogRootName=Restore_Product
set __BuildLog=%__LogsDir%\%__BuildLogRootName%_%__BuildOS%__%__BuildArch%__%__BuildType%.log
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ build_native()
__versionSourceFile="$intermediatesForBuild/version.c"
if [ $__SkipGenerateVersion == 0 ]; then
pwd
"$__RepoRootDir/eng/common/msbuild.sh" $__ArcadeScriptArgs $__ProjectRoot/eng/empty.csproj \
"$__RepoRootDir/eng/common/msbuild.sh" $__ArcadeScriptArgs $__RepoRootDir/eng/empty.csproj \
/p:NativeVersionFile=$__versionSourceFile \
/t:GenerateNativeVersionFile /restore \
$__CommonMSBuildArgs $__UnprocessedBuildArgs
Expand Down
2 changes: 1 addition & 1 deletion src/coreclr/tests/runtest.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ set "__TestWorkingDir=%__RootBinDir%\tests\%__BuildOS%.%__BuildArch%.%__BuildTyp
:: Default global test environment variables
:: REVIEW: are these ever expected to be defined on entry to this script? Why? By whom?
:: REVIEW: XunitTestReportDirBase is not used in this script. Who needs to have it set?
if not defined XunitTestBinBase set XunitTestBinBase=%__TestWorkingDir%
if not defined XunitTestBinBase set XunitTestBinBase=%__TestWorkingDir%\
if not defined XunitTestReportDirBase set XunitTestReportDirBase=%XunitTestBinBase%\Reports\

REM At this point in the script there will be a divergence in how the tests are run.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
cmake_minimum_required (VERSION 2.6)
project (ReversePInvokePassingByOutNative)
project (RPIP_ByOutNative)
include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake")
include_directories("..")
set(SOURCES
ReversePInvokePassingByOutNative.cpp
)
# Additional files to reference:
# add the executable
add_library (ReversePInvokePassingByOutNative SHARED ${SOURCES})
target_link_libraries(ReversePInvokePassingByOutNative ${LINK_LIBRARIES_ADDITIONAL})
add_library (RPIP_ByOutNative SHARED ${SOURCES})
set_property (TARGET RPIP_ByOutNative PROPERTY OUTPUT_NAME ReversePInvokePassingByOutNative)
target_link_libraries(RPIP_ByOutNative ${LINK_LIBRARIES_ADDITIONAL})
# add the install targets
install (TARGETS ReversePInvokePassingByOutNative DESTINATION bin)
install (TARGETS RPIP_ByOutNative DESTINATION bin)
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
cmake_minimum_required (VERSION 2.6)
project (ReversePInvokePassingByRefNative)
project (RPIP_ByRefNative)
include ("${CLR_INTEROP_TEST_ROOT}/Interop.cmake")
include_directories("..")
set(SOURCES
ReversePInvokePassingByRefNative.cpp
)
# Additional files to reference:
# add the executable
add_library (ReversePInvokePassingByRefNative SHARED ${SOURCES})
target_link_libraries(ReversePInvokePassingByRefNative ${LINK_LIBRARIES_ADDITIONAL})
add_library (RPIP_ByRefNative SHARED ${SOURCES})
set_property (TARGET RPIP_ByRefNative PROPERTY OUTPUT_NAME ReversePInvokePassingByRefNative)
target_link_libraries(RPIP_ByRefNative ${LINK_LIBRARIES_ADDITIONAL})
# add the install targets
install (TARGETS ReversePInvokePassingByRefNative DESTINATION bin)
install (TARGETS RPIP_ByRefNative DESTINATION bin)

0 comments on commit 080d82e

Please sign in to comment.