Skip to content

Selective integration of CoreCLR PR #27836 #25

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

Merged
merged 1 commit into from
Nov 13, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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)