summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild-test.sh645
-rwxr-xr-xbuild.sh5
-rw-r--r--dependencies.props1
-rw-r--r--dir.props12
-rwxr-xr-xinit-tools.sh3
-rw-r--r--src/build.proj1
-rw-r--r--tests/build.proj3
-rw-r--r--tests/dir.props30
-rw-r--r--tests/helixperftasks.targets1
-rw-r--r--tests/helixprep.proj1
-rw-r--r--tests/helixpublish.proj1
-rw-r--r--tests/override.targets1
-rw-r--r--tests/runtest.proj29
-rw-r--r--tests/src/CLRTest.Execute.Bash.targets9
-rw-r--r--tests/src/CLRTest.Execute.targets3
-rw-r--r--tests/src/CLRTest.Jit.targets17
-rw-r--r--tests/src/GC/LargeMemory/API/gc/memcheck.csproj2
-rw-r--r--tests/src/GC/LargeMemory/Allocation/memcheck.csproj2
-rw-r--r--tests/src/IL.targets10
-rw-r--r--tests/src/JIT/Directed/FaultHandlers/Simple/Simple.ilproj2
-rw-r--r--tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj2
-rw-r--r--tests/src/JIT/Directed/IL/Tailcall/JitTailcall2.ilproj2
-rw-r--r--tests/src/JIT/Methodical/localloc/zeroinit/zeroInit01_large.ilproj2
-rw-r--r--tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b04345/B04345.ilproj2
-rw-r--r--tests/src/JIT/jit64/localloc/zeroinit/zeroInit01_small.ilproj2
-rw-r--r--tests/src/JIT/opt/Devirtualization/GitHub_9945.csproj1
-rw-r--r--tests/src/JIT/opt/Devirtualization/comparable.csproj2
-rw-r--r--tests/src/NuGet.Config1
-rw-r--r--tests/src/dir.common.props5
-rw-r--r--tests/src/dir.props11
-rw-r--r--tests/src/dir.targets8
-rw-r--r--tests/src/dirs.proj112
-rw-r--r--tests/testsFailingOutsideWindows.txt1
33 files changed, 862 insertions, 67 deletions
diff --git a/build-test.sh b/build-test.sh
new file mode 100755
index 0000000000..058b9c1195
--- /dev/null
+++ b/build-test.sh
@@ -0,0 +1,645 @@
+#!/usr/bin/env bash
+
+initHostDistroRid()
+{
+ if [ "$__HostOS" == "Linux" ]; then
+ if [ ! -e /etc/os-release ]; then
+ echo "WARNING: Can not determine runtime id for current distro."
+ __HostDistroRid=""
+ else
+ source /etc/os-release
+ __HostDistroRid="$ID.$VERSION_ID-$__HostArch"
+ fi
+ fi
+}
+
+initTargetDistroRid()
+{
+ if [ $__CrossBuild == 1 ]; then
+ if [ "$__BuildOS" == "Linux" ]; then
+ if [ ! -e $ROOTFS_DIR/etc/os-release ]; then
+ echo "WARNING: Can not determine runtime id for current distro."
+ export __DistroRid=""
+ else
+ source $ROOTFS_DIR/etc/os-release
+ export __DistroRid="$ID.$VERSION_ID-$__BuildArch"
+ fi
+ fi
+ else
+ export __DistroRid="$__HostDistroRid"
+ fi
+
+ # Portable builds target the base RID
+ if [ "$__PortableBuild" == 1 ]; then
+ if [ "$__BuildOS" == "Linux" ]; then
+ export __DistroRid="linux-$__BuildArch"
+ elif [ "$__BuildOS" == "OSX" ]; then
+ export __DistroRid="osx-$__BuildArch"
+ fi
+ fi
+}
+
+isMSBuildOnNETCoreSupported()
+{
+ # This needs to be updated alongwith corresponding changes to netci.groovy.
+ __isMSBuildOnNETCoreSupported=0
+
+ if [ "$__HostArch" == "x64" ]; then
+ if [ "$__HostOS" == "Linux" ]; then
+ case "$__HostDistroRid" in
+ "centos.7-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "debian.8-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "fedora.23-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "fedora.24-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "opensuse.42.1-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "rhel.7"*"-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "ubuntu.14.04-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "ubuntu.16.04-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "ubuntu.16.10-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "alpine.3.4.3-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ *)
+ __isMSBuildOnNETCoreSupported=$__msbuildonunsupportedplatform
+ esac
+ elif [ "$__HostOS" == "OSX" ]; then
+ __isMSBuildOnNETCoreSupported=1
+ fi
+ fi
+}
+
+build_Tests()
+{
+ __TestDir=$__ProjectDir/tests
+ __ProjectFilesDir=$__TestDir
+ __TestBinDir=$__TestWorkingDir
+
+ if [ $__RebuildTests -ne 0 ]; then
+ if [ -d "${__TestBinDir}" ]; then
+ echo "Removing tests build dir: ${__TestBinDir}"
+ rm -rf $__TestBinDir
+ fi
+ fi
+
+ __CMakeBinDir="${__TestBinDir}"
+
+ if [ -z "$__TestIntermediateDir" ]; then
+ __TestIntermediateDir="tests/obj/${__BuildOS}.${__BuildArch}.${__BuildType}"
+ fi
+
+ echo "__BuildOS: ${__BuildOS}"
+ echo "__BuildArch: ${__BuildArch}"
+ echo "__BuildType: ${__BuildType}"
+ echo "__TestIntermediateDir: ${__TestIntermediateDir}"
+
+ if [ ! -f "$__TestBinDir" ]; then
+ echo "Creating TestBinDir: ${__TestBinDir}"
+ mkdir -p $__TestBinDir
+ fi
+ if [ ! -f "$__LogsDir" ]; then
+ echo "Creating LogsDir: ${__LogsDir}"
+ mkdir -p $__LogsDir
+ fi
+
+ __BuildProperties="-p:OSGroup=${__BuildOS} -p:BuildOS=${__BuildOS} -p:BuildArch=${__BuildArch} -p:BuildType=${__BuildType}"
+
+ # =========================================================================================
+ # ===
+ # === Restore product binaries from packages
+ # ===
+ # =========================================================================================
+
+ if [ -z "$XunitTestBinBase"]; then
+ XunitTestBinBase="$__TestWorkingDir"
+ fi
+
+ export CORE_ROOT="$XunitTestBinBase/Tests/Core_Root"
+
+ if [ ! -f "${CORE_ROOT}" ]; then
+ mkdir -p ${CORE_ROOT}
+ else
+ rm -rf ${CORE_ROOT}
+ fi
+
+ cp -r $__BinDir/* $CORE_ROOT/ > /dev/null
+
+ # make sure the correct ilasm will be used
+ export CscToolPath="${CORE_ROOT}"
+
+ build_Tests_internal "Restore_Product" "${__ProjectDir}/tests/build.proj" " -BatchRestorePackages" "Restore product binaries (build tests)"
+
+ build_Tests_internal "Tests_GenerateRuntimeLayout" "${__ProjectDir}/tests/runtest.proj" "-BinPlaceRef -BinPlaceProduct -CopyCrossgenToProduct" "Restore product binaries (run tests)"
+
+ if [ -n "$__UpdateInvalidPackagesArg" ]; then
+ __up=-updateinvalidpackageversion
+ fi
+
+ # Work hardcoded path around
+ if [ ! -f "${__BuildToolsDir}/Microsoft.CSharp.Core.Targets" ]; then
+ ln -s "${__BuildToolsDir}/Microsoft.CSharp.Core.targets" "${__BuildToolsDir}/Microsoft.CSharp.Core.Targets"
+ fi
+ if [ ! -f "${__BuildToolsDir}/Microsoft.CSharp.targets" ]; then
+ ln -s "${__BuildToolsDir}/Microsoft.CSharp.Targets" "${__BuildToolsDir}/Microsoft.CSharp.targets"
+ fi
+
+ echo "Starting the Managed Tests Build..."
+
+ __ManagedTestBuiltMarker=${__TestBinDir}/managed_test_build
+
+ if [ ! -f $__ManagedTestBuiltMarker ]; then
+
+ build_Tests_internal "Tests_Managed" "$__ProjectDir/tests/build.proj" "$__up" "Managed tests build (build tests)"
+
+ if [ $? -ne 0 ]; then
+ echo "${__MsgPrefix}Error: build failed. Refer to the build log files for details (above)"
+ exit 1
+ else
+ echo "Tests have been built."
+ echo "Create marker \"${__ManagedTestBuiltMarker}\""
+ touch $__ManagedTestBuiltMarker
+ fi
+ else
+ echo "Managed Tests had been built before."
+ fi
+
+ if [ $__BuildTestWrappers -ne -0 ]; then
+ echo "${__MsgPrefix}Creating test wrappers..."
+
+ __XUnitWrapperBuiltMarker=${__TestBinDir}/xunit_wrapper_build
+
+ if [ ! -f $__XUnitWrapperBuiltMarker ]; then
+
+ build_Tests_internal "Tests_XunitWrapper" "$__ProjectDir/tests/runtest.proj" "-BuildWrappers -MsBuildEventLogging=\" \" " "Test Xunit Wrapper"
+
+ if [ $? -ne 0 ]; then
+ echo "${__MsgPrefix}Error: build failed. Refer to the build log files for details (above)"
+ exit 1
+ else
+ echo "XUnit Wrappers have been built."
+ echo "Create marker \"${__XUnitWrapperBuiltMarker}\""
+ touch $__XUnitWrapperBuiltMarker
+ fi
+ else
+ echo "XUnit Wrappers had been built before."
+ fi
+ fi
+
+ echo "${__MsgPrefix}Creating test overlay..."
+
+ build_Tests_internal "Tests_Overlay_Managed" "$__ProjectDir/tests/runtest.proj" "-testOverlay" "Creating test overlay"
+
+ if [ $__ZipTests -ne 0 ]; then
+ echo "${__MsgPrefix}ZIP tests packages..."
+ build_Tests_internal "Helix_Prep" "$__ProjectDir/tests/helixprep.proj" " " "Prep test binaries for Helix publishing"
+ fi
+}
+
+build_Tests_internal()
+{
+ subDirectoryName=$1
+ projectName=$2
+ extraBuildParameters=$3
+ stepName="$4"
+
+ # Set up directories and file names
+ __BuildLogRootName=$subDirectoryName
+ __BuildLog="$__LogsDir/${__BuildLogRootName}.${__BuildOS}.${__BuildArch}.${__BuildType}.log"
+ __BuildWrn="$__LogsDir/${__BuildLogRootName}.${__BuildOS}.${__BuildArch}.${__BuildType}.wrn"
+ __BuildErr="$__LogsDir/${__BuildLogRootName}.${__BuildOS}.${__BuildArch}.${__BuildType}.err"
+ __msbuildLog="\"/flp:Verbosity=normal;LogFile=${__BuildLog}\""
+ __msbuildWrn="\"/flp1:WarningsOnly;LogFile=${__BuildWrn}\""
+ __msbuildErr="\"/flp2:ErrorsOnly;LogFile=${__BuildErr}\""
+
+ # Generate build command
+ buildCommand="$__ProjectRoot/run.sh build -Project=$projectName -MsBuildLog=${__msbuildLog} -MsBuildWrn=${__msbuildWrn} -MsBuildErr=${__msbuildErr} $extraBuildParameters $__RunArgs $__UnprocessedBuildArgs"
+
+ echo "Building step '$stepName' via $buildCommand"
+
+ # Invoke MSBuild
+ eval $buildCommand
+
+ # Invoke MSBuild
+ # $__ProjectRoot/run.sh build -Project=$projectName -MsBuildLog="$__msbuildLog" -MsBuildWrn="$__msbuildWrn" -MsBuildErr="$__msbuildErr" $extraBuildParameters $__RunArgs $__UnprocessedBuildArgs
+
+ # Make sure everything is OK
+ if [ $? -ne 0 ]; then
+ echo "${__MsgPrefix}Failed to build $stepName. See the build logs:"
+ echo " $__BuildLog"
+ echo " $__BuildWrn"
+ echo " $__BuildErr"
+ exit 1
+ fi
+}
+
+usage()
+{
+ echo "Usage: $0 [BuildArch] [BuildType] [verbose] [coverage] [cross] [clangx.y] [ninja] [runtests] [bindir]"
+ echo "BuildArch can be: x64, x86, arm, armel, arm64"
+ echo "BuildType can be: debug, checked, release"
+ echo "coverage - optional argument to enable code coverage build (currently supported only for Linux and OSX)."
+ echo "ninja - target ninja instead of GNU make"
+ echo "clangx.y - optional argument to build using clang version x.y."
+ echo "cross - optional argument to signify cross compilation,"
+ echo " - will use ROOTFS_DIR environment variable if set."
+ echo "crosscomponent - optional argument to build cross-architecture component,"
+ echo " - will use CAC_ROOTFS_DIR environment variable if set."
+ echo "portableLinux - build for Portable Linux Distribution"
+ echo "verbose - optional argument to enable verbose build output."
+ echo "rebuild - if tests have already been built - rebuild them"
+ echo "runtests - run tests after building them"
+ echo "ziptests - zips CoreCLR tests & Core_Root for a Helix run"
+ echo "bindir - output directory (defaults to $__ProjectRoot/bin)"
+ echo "msbuildonunsupportedplatform - build managed binaries even if distro is not officially supported."
+ exit 1
+}
+
+
+# Obtain the location of the bash script to figure out where the root of the repo is.
+__ProjectRoot="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+# $__ProjectRoot/build.sh $1 $2
+
+# Use uname to determine what the CPU is.
+CPUName=$(uname -p)
+
+# Some Linux platforms report unknown for platform, but the arch for machine.
+if [ "$CPUName" == "unknown" ]; then
+ CPUName=$(uname -m)
+fi
+
+case $CPUName in
+ i686)
+ echo "Unsupported CPU $CPUName detected, build might not succeed!"
+ __BuildArch=x86
+ __HostArch=x86
+ ;;
+
+ x86_64)
+ __BuildArch=x64
+ __HostArch=x64
+ ;;
+
+ armv7l)
+ echo "Unsupported CPU $CPUName detected, build might not succeed!"
+ __BuildArch=arm
+ __HostArch=arm
+ ;;
+
+ aarch64)
+ __BuildArch=arm64
+ __HostArch=arm64
+ ;;
+
+ *)
+ echo "Unknown CPU $CPUName detected, configuring as if for x64"
+ __BuildArch=x64
+ __HostArch=x64
+ ;;
+esac
+
+# Use uname to determine what the OS is.
+OSName=$(uname -s)
+case $OSName in
+ Linux)
+ __BuildOS=Linux
+ __HostOS=Linux
+ ;;
+
+ Darwin)
+ __BuildOS=OSX
+ __HostOS=OSX
+ ;;
+
+ FreeBSD)
+ __BuildOS=FreeBSD
+ __HostOS=FreeBSD
+ ;;
+
+ OpenBSD)
+ __BuildOS=OpenBSD
+ __HostOS=OpenBSD
+ ;;
+
+ NetBSD)
+ __BuildOS=NetBSD
+ __HostOS=NetBSD
+ ;;
+
+ SunOS)
+ __BuildOS=SunOS
+ __HostOS=SunOS
+ ;;
+
+ *)
+ echo "Unsupported OS $OSName detected, configuring as if for Linux"
+ __BuildOS=Linux
+ __HostOS=Linux
+ ;;
+esac
+
+__BuildType=Debug
+__CodeCoverage=
+__IncludeTests=INCLUDE_TESTS
+
+# Set the various build properties here so that CMake and MSBuild can pick them up
+export __ProjectDir="$__ProjectRoot"
+__SourceDir="$__ProjectDir/src"
+__PackagesDir="$__ProjectDir/packages"
+__RootBinDir="$__ProjectDir/bin"
+__BuildToolsDir="$__ProjectDir/Tools"
+__UnprocessedBuildArgs=
+__RunArgs=
+__MSBCleanBuildArgs=
+__UseNinja=0
+__VerboseBuild=0
+__SkipRestore=""
+__CrossBuild=0
+__ClangMajorVersion=0
+__ClangMinorVersion=0
+__NuGetPath="$__PackagesDir/NuGet.exe"
+__HostDistroRid=""
+__DistroRid=""
+__cmakeargs=""
+__PortableLinux=0
+__msbuildonunsupportedplatform=0
+__ZipTests=0
+__NativeTestIntermediatesDir=
+__RunTests=0
+__RebuildTests=0
+__BuildTestWrappers=0
+CORE_ROOT=
+
+
+while :; do
+ if [ $# -le 0 ]; then
+ break
+ fi
+
+ lowerI="$(echo $1 | awk '{print tolower($0)}')"
+ case $lowerI in
+ -\?|-h|--help)
+ usage
+ exit 1
+ ;;
+
+ x86)
+ __BuildArch=x86
+ ;;
+
+ x64)
+ __BuildArch=x64
+ ;;
+
+ arm)
+ __BuildArch=arm
+ ;;
+
+ armel)
+ __BuildArch=armel
+ ;;
+
+ arm64)
+ __BuildArch=arm64
+ ;;
+
+ debug)
+ __BuildType=Debug
+ ;;
+
+ checked)
+ __BuildType=Checked
+ ;;
+
+ release)
+ __BuildType=Release
+ ;;
+
+ coverage)
+ __CodeCoverage=Coverage
+ ;;
+
+ cross)
+ __CrossBuild=1
+ ;;
+
+ portablelinux)
+ if [ "$__BuildOS" == "Linux" ]; then
+ __PortableLinux=1
+ else
+ echo "ERROR: portableLinux not supported for non-Linux platforms."
+ exit 1
+ fi
+ ;;
+
+ verbose)
+ __VerboseBuild=1
+ ;;
+
+ clang3.5)
+ __ClangMajorVersion=3
+ __ClangMinorVersion=5
+ ;;
+
+ clang3.6)
+ __ClangMajorVersion=3
+ __ClangMinorVersion=6
+ ;;
+
+ clang3.7)
+ __ClangMajorVersion=3
+ __ClangMinorVersion=7
+ ;;
+
+ clang3.8)
+ __ClangMajorVersion=3
+ __ClangMinorVersion=8
+ ;;
+
+ clang3.9)
+ __ClangMajorVersion=3
+ __ClangMinorVersion=9
+ ;;
+
+ ninja)
+ __UseNinja=1
+ ;;
+
+ runtests)
+ __RunTests=1
+ ;;
+
+ rebuild)
+ __RebuildTests=1
+ ;;
+
+ ziptests)
+ __ZipTests=1
+ ;;
+
+ bindir)
+ if [ -n "$2" ]; then
+ __RootBinDir="$2"
+ if [ ! -d $__RootBinDir ]; then
+ mkdir $__RootBinDir
+ fi
+ __RootBinParent=$(dirname $__RootBinDir)
+ __RootBinName=${__RootBinDir##*/}
+ __RootBinDir="$(cd $__RootBinParent &>/dev/null && printf %s/%s $PWD $__RootBinName)"
+ shift
+ else
+ echo "ERROR: 'bindir' requires a non-empty option argument"
+ exit 1
+ fi
+ ;;
+
+ msbuildonunsupportedplatform)
+ __msbuildonunsupportedplatform=1
+ ;;
+ *)
+ __UnprocessedBuildArgs="$__UnprocessedBuildArgs $1"
+ ;;
+ esac
+
+ shift
+done
+
+
+__RunArgs="-BuildArch=$__BuildArch -BuildType=$__BuildType -BuildOS=$__BuildOS"
+
+# Configure environment if we are doing a verbose build
+if [ $__VerboseBuild == 1 ]; then
+ export VERBOSE=1
+ __RunArgs="$__RunArgs -verbose"
+fi
+
+# Set default clang version
+if [[ $__ClangMajorVersion == 0 && $__ClangMinorVersion == 0 ]]; then
+ if [ $__CrossBuild == 1 ]; then
+ __ClangMajorVersion=3
+ __ClangMinorVersion=6
+ else
+ __ClangMajorVersion=3
+ __ClangMinorVersion=5
+ fi
+fi
+
+
+# Set dependent variables
+__LogsDir="$__RootBinDir/Logs"
+
+# init the host distro name
+initHostDistroRid
+
+# Set the remaining variables based upon the determined build configuration
+__BinDir="$__RootBinDir/Product/$__BuildOS.$__BuildArch.$__BuildType"
+__PackagesBinDir="$__BinDir/.nuget"
+__ToolsDir="$__RootBinDir/tools"
+__TestDir="$__ProjectDir/tests"
+__TestWorkingDir="$__RootBinDir/tests/$__BuildOS.$__BuildArch.$__BuildType"
+__IntermediatesDir="$__RootBinDir/obj/$__BuildOS.$__BuildArch.$__BuildType"
+__TestIntermediatesDir="$__RootBinDir/tests/obj/$__BuildOS.$__BuildArch.$__BuildType"
+__isMSBuildOnNETCoreSupported=0
+__CrossComponentBinDir="$__BinDir"
+__CrossCompIntermediatesDir="$__IntermediatesDir/crossgen"
+
+__CrossArch="$__HostArch"
+if [[ "$__HostArch" == "x64" && "$__BuildArch" == "arm" ]]; then
+ __CrossArch="x86"
+fi
+if [ $__CrossBuild == 1 ]; then
+ __CrossComponentBinDir="$__CrossComponentBinDir/$__CrossArch"
+fi
+__CrossgenCoreLibLog="$__LogsDir/CrossgenCoreLib_$__BuildOS.$BuildArch.$__BuildType.log"
+__CrossgenExe="$__CrossComponentBinDir/crossgen"
+
+isMSBuildOnNETCoreSupported
+
+# CI_SPECIFIC - On CI machines, $HOME may not be set. In such a case, create a subfolder and set the variable to set.
+# This is needed by CLI to function.
+if [ -z "$HOME" ]; then
+ if [ ! -d "$__ProjectDir/temp_home" ]; then
+ mkdir temp_home
+ fi
+ export HOME=$__ProjectDir/temp_home
+ echo "HOME not defined; setting it to $HOME"
+fi
+
+# Specify path to be set for CMAKE_INSTALL_PREFIX.
+# This is where all built CoreClr libraries will copied to.
+export __CMakeBinDir="$__BinDir"
+
+if [ ! -d "$__BinDir" ] || [ ! -d "$__BinDir/bin" ]; then
+
+ echo "Has not been found built CoreCLR instance"
+ echo "Please build it before tests using './build.sh $__BuildArch $__BuildType'"
+ exit 1
+fi
+
+# Configure environment if we are doing a cross compile.
+if [ $__CrossBuild == 1 ]; then
+ export CROSSCOMPILE=1
+ if ! [[ -n "$ROOTFS_DIR" ]]; then
+ export ROOTFS_DIR="$__ProjectRoot/cross/rootfs/$__BuildArch"
+ fi
+fi
+
+# init the target distro name
+initTargetDistroRid
+
+# Override tool directory
+
+__CoreClrVersion=1.1.0
+__sharedFxDir=$__BuildToolsDir/dotnetcli/shared/Microsoft.NETCore.App/$__CoreClrVersion/
+
+echo "Building Tests..."
+
+build_Tests
+
+if [ $? -ne 0 ]; then
+ echo "Failed to build tests"
+ exit 1
+fi
+
+echo "${__MsgPrefix}Test build successful."
+echo "${__MsgPrefix}Test binaries are available at ${__TestBinDir}"
+
+__testNativeBinDir=$__IntermediatesDir/tests
+
+if [ $__RunTests -ne 0 ]; then
+
+ echo "Run Tests..."
+
+ echo "${__TestDir}/runtest.sh --testRootDir=$__TestBinDir --coreClrBinDir=$__BinDir --coreFxBinDir=$__sharedFxDir --testNativeBinDir=$__testNativeBinDir"
+
+ $__TestDir/runtest.sh --testRootDir=$__TestBinDir --coreClrBinDir=$__BinDir --coreFxBinDir=$CORE_ROOT --testNativeBinDir=$__testNativeBinDir
+
+ echo "Tests run successful."
+else
+ echo "To run all tests use 'tests/runtests.sh' where:"
+ echo " testRootDir = $__TestBinDir"
+ echo " coreClrBinDir = $__BinDir"
+ echo " coreFxBinDir = $CORE_ROOT"
+ echo " testNativeBinDir = $__testNativeBinDir"
+ echo " -------------------------------------------------- "
+ echo "To run single test use the following command:"
+ echo " bash ${__TestBinDir}/__TEST_PATH__/__TEST_NAME__.sh -coreroot=${CORE_ROOT}"
+fi
+
diff --git a/build.sh b/build.sh
index 39e96dd6f9..e280125395 100755
--- a/build.sh
+++ b/build.sh
@@ -278,7 +278,7 @@ build_native()
pushd "$intermediatesForBuild"
# Regenerate the CMake solution
echo "Invoking \"$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh\" \"$__ProjectRoot\" $__ClangMajorVersion $__ClangMinorVersion $platformArch $__BuildType $__CodeCoverage $__IncludeTests $generator $extraCmakeArguments $__cmakeargs"
- "$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $platformArch $__BuildType $__CodeCoverage $__IncludeTests $generator "$extraCmakeArguments" "$__cmakeargs"
+ "$__ProjectRoot/src/pal/tools/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $platformArch $__BuildType $__CodeCoverage "$__IncludeTests" $generator "$extraCmakeArguments" "$__cmakeargs"
popd
fi
@@ -338,7 +338,6 @@ build_cross_arch_component()
export __CMakeBinDir="$__CrossComponentBinDir"
export CROSSCOMPONENT=1
- __IncludeTests=
if [ $CROSSCOMPILE == 1 ]; then
TARGET_ROOTFS="$ROOTFS_DIR"
@@ -587,7 +586,7 @@ esac
__BuildType=Debug
__CodeCoverage=
-__IncludeTests=Include_Tests
+__IncludeTests=INCLUDE_TESTS
# Set the various build properties here so that CMake and MSBuild can pick them up
__ProjectDir="$__ProjectRoot"
diff --git a/dependencies.props b/dependencies.props
index 1da0a329ec..d3df2d6236 100644
--- a/dependencies.props
+++ b/dependencies.props
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Source of truth for dependency tooling: the commit hash of the dotnet/versions master branch as of the last auto-upgrade. -->
<PropertyGroup>
diff --git a/dir.props b/dir.props
index cac0ace793..9bbd89fcea 100644
--- a/dir.props
+++ b/dir.props
@@ -26,7 +26,11 @@
as well as runnning the build on mono. Until we can get these sorted out we will continue using the .NET 4.5 version of the tasks.
-->
<PropertyGroup>
- <BuildToolsTargets45>true</BuildToolsTargets45>
+ <RunningOnCore>false</RunningOnCore>
+ <RunningOnCore Condition="'$(MSBuildRuntimeType)' == 'Core'">true</RunningOnCore>
+ <BuildToolsTargetsDesktop>false</BuildToolsTargetsDesktop>
+ <BuildToolsTargetsDesktop Condition="'$(RunningOnCore)' != 'true'">true</BuildToolsTargetsDesktop>
+ <BuildToolsTargets45>$(BuildToolsTargetsDesktop)</BuildToolsTargets45>
</PropertyGroup>
<!-- Common properties -->
@@ -42,7 +46,7 @@
<BuildType Condition="'$(__BuildType)' == 'checked'">Checked</BuildType>
<BuildOS>$(__BuildOS)</BuildOS>
- <BuildOS Condition="'$(__BuildOS)' == ''">Windows_NT</BuildOS>
+ <BuildOS Condition="'$(__BuildOS)' == ''">AnyOS</BuildOS>
<ProjectDir>$(__ProjectDir)\</ProjectDir>
<ProjectDir Condition="'$(__ProjectDir)'==''">$(MSBuildThisFileDirectory)</ProjectDir>
@@ -68,8 +72,8 @@
<PackagesBinDir>$(__PackagesBinDir)</PackagesBinDir>
<PackagesBinDir Condition="'$(__PackagesBinDir)'==''">$(BinDir).nuget\</PackagesBinDir>
- <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)Tools/</ToolsDir>
- <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli/</DotnetCliPath>
+ <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)Tools\</ToolsDir>
+ <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli\</DotnetCliPath>
<OverrideToolHost>$(DotnetCliPath)dotnet</OverrideToolHost>
<BuildToolsSemaphore Condition="'$(BuildToolsSemaphore)' == ''">$(ToolsDir)Microsoft.DotNet.Build.Tasks.dll</BuildToolsSemaphore>
diff --git a/init-tools.sh b/init-tools.sh
index b676ba1846..c076212ab5 100755
--- a/init-tools.sh
+++ b/init-tools.sh
@@ -16,7 +16,8 @@ __INIT_TOOLS_DONE_MARKER=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION/done
if [ -z "$__DOTNET_PKG" ]; then
if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then
- echo "Warning: build not supported on 32 bit Unix"
+ echo "Error: build not supported on 32 bit Unix"
+ exit 1
fi
OSName=$(uname -s)
case $OSName in
diff --git a/src/build.proj b/src/build.proj
index 7962d27e99..efe3554d96 100644
--- a/src/build.proj
+++ b/src/build.proj
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\dir.props"/>
diff --git a/tests/build.proj b/tests/build.proj
index 066f2a2370..7897a3faf4 100644
--- a/tests/build.proj
+++ b/tests/build.proj
@@ -35,12 +35,13 @@
<Target Name="BuildTargetingPack" AfterTargets="BatchRestorePackages">
<Message Text="Building Targeting Pack" Importance="High" />
+ <Error Text="BuildOS has not been specified. Please do that then run build again." Condition="'$(BuildOS)' == 'AnyOS'" />
<MSBuild Projects="$(MSBuildThisFileDirectory)\src\Common\external\external.depproj" />
</Target>
<Target Name="BatchRestorePackages" DependsOnTargets="VerifyDependencies">
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Restoring all packages..." />
-
+
<!-- restore all csproj's with PackageReferences in one pass -->
<MSBuild Projects="build.proj"
Properties="RestoreProj=%(RestoreProjects.Identity)"
diff --git a/tests/dir.props b/tests/dir.props
index e98b3036eb..b684cb60f0 100644
--- a/tests/dir.props
+++ b/tests/dir.props
@@ -1,9 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
$(OS) is set to Unix/Windows_NT. This comes from an environment variable on Windows and MSBuild on Unix.
-->
<PropertyGroup>
+ <OsEnvironment Condition="'$(OsEnvironment)'=='' and '$(OS)'=='OSX'">Unix</OsEnvironment>
<OsEnvironment Condition="'$(OsEnvironment)'==''">$(OS)</OsEnvironment>
</PropertyGroup>
@@ -16,10 +18,15 @@
<!--
Switching to the .NET Core version of the BuildTools tasks seems to break numerous scenarios, such as VS intellisense and resource designer
as well as runnning the build on mono. Until we can get these sorted out we will continue using the .NET 4.6 version of the tasks.
- -->
- <PropertyGroup>
- <BuildToolsTargets45>true</BuildToolsTargets45>
- </PropertyGroup>
+ -->
+ <PropertyGroup>
+ <RunningOnCore>false</RunningOnCore>
+ <RunningOnCore Condition="'$(MSBuildRuntimeType)' == 'Core'">true</RunningOnCore>
+ <BuildToolsTargetsDesktop>false</BuildToolsTargetsDesktop>
+ <BuildToolsTargetsDesktop Condition="'$(RunningOnCore)' != 'true'">true</BuildToolsTargetsDesktop>
+ <BuildToolsTargets45>$(BuildToolsTargetsDesktop)</BuildToolsTargets45>
+ <RunningOnUnix Condition="('$(RunningOnUnix)' == '') And ('$(MSBuildRuntimeType)' == 'Core')">true</RunningOnUnix>
+ </PropertyGroup>
<!-- Common repo directories -->
<PropertyGroup>
@@ -28,8 +35,15 @@
<SourceDir>$(ProjectDir)src\</SourceDir>
<PackagesDir>$(ProjectDir)..\packages\</PackagesDir>
<ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)..\Tools\</ToolsDir>
- <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli/</DotnetCliPath>
- <BuildToolsTaskDir Condition="'$(BuildToolsTargets45)' == 'true'">$(ToolsDir)net46/</BuildToolsTaskDir>
+ <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli\</DotnetCliPath>
+ <BuildToolsTaskDir Condition="'$(BuildToolsTargets45)' == 'true'">$(ToolsDir)net46\</BuildToolsTaskDir>
+ <OverrideToolHost Condition="'$(OS)' != 'Windows_NT'">$(DotnetCliPath)dotnet</OverrideToolHost>
+ <CSharpCoreTargetsPath Condition="'$(BuildToolsTargetsDesktop)' != 'true'">$(ToolsDir)\Microsoft.CSharp.Core.targets</CSharpCoreTargetsPath>
+ <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two properties to any folder that exists to skip
+ the GenerateReferenceAssemblyPaths task (not target) and to prevent it from outputting a warning (MSB3644). -->
+ <_TargetFrameworkDirectories Condition="'$(BuildToolsTargetsDesktop)' != 'true'">$(MSBuildThisFileDirectory)/Documentation</_TargetFrameworkDirectories>
+ <_FullFrameworkReferenceAssemblyPaths Condition="'$(BuildToolsTargetsDesktop)' != 'true'">$(MSBuildThisFileDirectory)/Documentation</_FullFrameworkReferenceAssemblyPaths>
+ <ExcludeSigningImport>true</ExcludeSigningImport>
<SkipImportILTargets>true</SkipImportILTargets>
</PropertyGroup>
@@ -37,6 +51,10 @@
<PropertyGroup>
<RootBinDir>$(__RootBinDir)\</RootBinDir>
<RootBinDir Condition="'$(__RootBinDir)'==''">$(ProjectDir)..\bin\</RootBinDir>
+
+ <BinDir>$(__BinDir)\</BinDir>
+ <BinDir Condition="'$(__BinDir)'==''">$(RootBinDir)Product\$(BuildOS).$(BuildArch).$(BuildType)\</BinDir>
+
</PropertyGroup>
<!-- Default Test platform to deploy the netstandard compiled tests to -->
diff --git a/tests/helixperftasks.targets b/tests/helixperftasks.targets
index d578360092..3131968598 100644
--- a/tests/helixperftasks.targets
+++ b/tests/helixperftasks.targets
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="RemoveDuplicateAssemblies" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
diff --git a/tests/helixprep.proj b/tests/helixprep.proj
index 2d08e91b13..f14879bc3f 100644
--- a/tests/helixprep.proj
+++ b/tests/helixprep.proj
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="ArchiveAll" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(ToolsDir)\net46\Microsoft.DotNet.Build.Tasks.dll"/>
diff --git a/tests/helixpublish.proj b/tests/helixpublish.proj
index fd9713ef30..a68f1f7e39 100644
--- a/tests/helixpublish.proj
+++ b/tests/helixpublish.proj
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\dir.props" />
<!-- CoreClr-Specific Helix test submission project. -->
diff --git a/tests/override.targets b/tests/override.targets
index 0e7f82bf77..483c837aca 100644
--- a/tests/override.targets
+++ b/tests/override.targets
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!--
Overrides for all other targets (including build tools) can go in this file.
diff --git a/tests/runtest.proj b/tests/runtest.proj
index 2a797bc81a..1131d79e9b 100644
--- a/tests/runtest.proj
+++ b/tests/runtest.proj
@@ -78,12 +78,12 @@ $(_XunitEpilog)
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
<OutputType>Library</OutputType>
- <TargetFrameworkIdentifier Condition ="'$(BuildTestsAgainstPackages)' != 'true'">.NETFramework</TargetFrameworkIdentifier>
- <TargetFrameworkVersion Condition ="'$(BuildTestsAgainstPackages)' != 'true'">v4.5</TargetFrameworkVersion>
+ <TargetFrameworkIdentifier Condition ="('$(BuildTestsAgainstPackages)' != 'true') And ('$(BuildOS)' == 'Windows_NT')">.NETFramework</TargetFrameworkIdentifier>
+ <TargetFrameworkVersion Condition ="('$(BuildTestsAgainstPackages)' != 'true') And ('$(BuildOS)' == 'Windows_NT')">v4.5</TargetFrameworkVersion>
<NugetTargetMonikerShort Condition ="'$(BuildTestsAgainstPackages)' != 'true'">net45</NugetTargetMonikerShort>
<IsXunitWrapperProject>true</IsXunitWrapperProject>
<SkipSigning>true</SkipSigning>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB}%3B{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<SolutionDir Condition="%24(SolutionDir) == '' Or %24(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<CLRTestKind>BuildOnly</CLRTestKind>
<IsTestProject>true</IsTestProject>
@@ -100,11 +100,11 @@ $(_XunitEpilog)
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="$(SourceDir)Common\Desktop.Coreclr.TestWrapper\Desktop.Coreclr.TestWrapper.csproj" Condition="'$(BuildTestsAgainstPackages)' != 'true'">
+ <ProjectReference Include="$(SourceDir)Common\Desktop.Coreclr.TestWrapper\Desktop.Coreclr.TestWrapper.csproj" Condition="('$(BuildTestsAgainstPackages)' != 'true') And ('$(BuildOS)' == 'Windows_NT')">
<Project>{8ffe99c0-22f8-4462-b839-970eac1b3472}</Project>
<Name>coreclr</Name>
</ProjectReference>
- <ProjectReference Include="$(SourceDir)Common\Coreclr.TestWrapper\Coreclr.TestWrapper.csproj" Condition="'$(BuildTestsAgainstPackages)' == 'true'">
+ <ProjectReference Include="$(SourceDir)Common\Coreclr.TestWrapper\Coreclr.TestWrapper.csproj" Condition="('$(BuildTestsAgainstPackages)' == 'true') Or ('$(BuildOS)' != 'Windows_NT')">
<Project>{8ffe99c0-22f8-4462-b839-970eac1b3472}</Project>
<Name>coreclr</Name>
</ProjectReference>
@@ -152,8 +152,10 @@ $(_XunitEpilog)
<PropertyGroup>
<_CMDDIR_Parent>$([System.IO.Path]::GetDirectoryName($(_CMDDIR)))</_CMDDIR_Parent>
<_CMDDIR_Grandparent>$([System.IO.Path]::GetDirectoryName($(_CMDDIR_Parent)))</_CMDDIR_Grandparent>
- <CategoryWithSlash>$([System.String]::Copy('$(_CMDDIR)').Replace($(_CMDDIR_Grandparent)\,''))</CategoryWithSlash>
- <Category>$([System.String]::Copy('$(CategoryWithSlash)').Replace('\','.'))</Category>
+ <CategoryWithSlash Condition="'$(BuildOS)' == 'Windows_NT'" >$([System.String]::Copy('$(_CMDDIR)').Replace("$(_CMDDIR_Grandparent)\",""))</CategoryWithSlash>
+ <CategoryWithSlash Condition="'$(BuildOS)' != 'Windows_NT'" >$([System.String]::Copy('$(_CMDDIR)').Replace("$(_CMDDIR_Grandparent)/",""))</CategoryWithSlash>
+ <Category Condition="'$(BuildOS)' == 'Windows_NT'" >$([System.String]::Copy('$(CategoryWithSlash)').Replace('\','.'))</Category>
+ <Category Condition="'$(BuildOS)' != 'Windows_NT'" >$([System.String]::Copy('$(CategoryWithSlash)').Replace('/','.'))</Category>
<XunitWrapper>$(Category).XUnitWrapper</XunitWrapper>
<XunitWrapperSrcDir>$(XunitWrapperGeneratedCSDirBase)$(Category)</XunitWrapperSrcDir>
<XunitWrapperOutputDir>$(XunitWrapperOutputIntermediatedDirBase)$(Category)</XunitWrapperOutputDir>
@@ -220,14 +222,16 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\","").
</PropertyGroup>
<ItemGroup>
- <AllCMDsPresent Include="$(_CMDDIR)\**\*.cmd" />
+ <AllCMDsPresent Include="$(_CMDDIR)\**\*.cmd" Condition="'$(BuildOS)' == 'Windows_NT'" />
+ <AllCMDsPresent Include="$(_CMDDIR)\**\*.sh" Condition="'$(BuildOS)' != 'Windows_NT'" />
<AllCMDExcludeFilter Include="@(CanonicalExcludeList)" Condition="$(HaveExcludes)"/>
<AllCMDs Include="@(AllCMDsPresent)" Exclude="@(AllCMDExcludeFilter)"/>
<AllCommands Include="@(AllCMDs)" >
- <_FactName>$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",'').Replace(".","_").Replace("\","_").Replace("-","_"))</_FactName>
- <_ClassName>$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",'').Replace("cmd","").Replace(".","_").Replace("\","_").Replace("-","_"))</_ClassName>
-
+ <_FactName Condition="'$(BuildOS)' == 'Windows_NT'" >$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",'').Replace(".","_").Replace("\","_").Replace("-","_"))</_FactName>
+ <_ClassName Condition="'$(BuildOS)' == 'Windows_NT'" >$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",'').Replace("cmd","").Replace(".","_").Replace("\","_").Replace("-","_"))</_ClassName>
+ <_FactName Condition="'$(BuildOS)' != 'Windows_NT'" >$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",'').Replace(".","_").Replace("/","_").Replace("-","_"))</_FactName>
+ <_ClassName Condition="'$(BuildOS)' != 'Windows_NT'" >$([System.String]::Copy('%(AllCMDs.FullPath)').Replace("$(_CMDDIR)",'').Replace("sh","").Replace(".","_").Replace("/","_").Replace("-","_"))</_ClassName>
<_XunitFact >
<![CDATA[
@@ -316,7 +320,8 @@ namespace $([System.String]::Copy($(Category)).Replace(".","_").Replace("\","").
<Target Name="GetListOfTestCmds">
<ItemGroup>
- <AllRunnableTestPaths Include="$(XunitTestBinBase)\**\*.cmd" />
+ <AllRunnableTestPaths Include="$(XunitTestBinBase)\**\*.cmd" Condition="'$(BuildOS)' == 'Windows_NT'" />
+ <AllRunnableTestPaths Include="$(XunitTestBinBase)\**\*.sh" Condition="'$(BuildOS)' != 'Windows_NT'" />
</ItemGroup>
</Target>
diff --git a/tests/src/CLRTest.Execute.Bash.targets b/tests/src/CLRTest.Execute.Bash.targets
index f95408f512..34965a4efc 100644
--- a/tests/src/CLRTest.Execute.Bash.targets
+++ b/tests/src/CLRTest.Execute.Bash.targets
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<!--
***********************************************************************************************
CLRTest.Execute.Bash.targets
@@ -83,7 +84,7 @@ fi
]]></BashCLRTestEnvironmentCompatibilityCheck>
<BashCLRTestEnvironmentCompatibilityCheck Condition="'$(JitOptimizationSensitive)' == 'true'"><![CDATA[
$(BashCLRTestEnvironmentCompatibilityCheck)
-if [ \( ! -z "$COMPlus_JitStress" \) -o \( ! -z "$COMPlus_JitStressRegs" \) -o \( ! -z "$COMPlus_JITMinOpts" \) -o \( ! -z "$COMPlus_TailcallStress" \) ]
+if [[ ( ! -z "$COMPlus_JitStress" ) || ( ! -z "$COMPlus_JitStressRegs" ) || ( ! -z "$COMPlus_JITMinOpts" ) || ( ! -z "$COMPlus_TailcallStress" ) ]]
then
echo "SKIPPING EXECUTION BECAUSE ONE OR MORE OF (COMPlus_JitStress, COMPlus_JitStressRegs, COMPlus_JITMinOpts, COMPlus_TailcallStress) IS SET"
exit $(GCBashScriptExitCode)
@@ -133,7 +134,7 @@ fi
<Command><![CDATA[ export _DebuggerFullPath="${i#*=}"
if [ ! -f "$_DebuggerFullPath" ]
then
- echo The Debugger FullPath \"$_DebuggerFullPath\" doesn\'t exist
+ echo "The Debugger FullPath %5C%22${_DebuggerFullPath}%5C%22 does not exist"
usage
fi]]></Command>
<Description>Run testcases under debugger.</Description>
@@ -290,10 +291,6 @@ CLRTestExpectedExitCode=0
<!-- Raise an error if any value in _RequiredProperties is missing -->
<Error Condition=" '%(_RequiredProperties.Value)'=='' "
Text="Missing required test property [%(_RequiredProperties.Identity)]. Something isn't plumbed through correctly. Contact $(_CLRTestBuildSystemOwner)." />
- <!-- TODO: this is weird. Consider eliminating it. -->
- <GenerateParamList ArgumentItems="@(BashCLRTestExecutionScriptArgument)">
- <Output TaskParameter="ParamList" PropertyName="_CLRTestParamList"/>
- </GenerateParamList>
<PropertyGroup>
<!--
This generates the script portion to parse all of the command line arguments.
diff --git a/tests/src/CLRTest.Execute.targets b/tests/src/CLRTest.Execute.targets
index b49785b9d6..875c2fc5ba 100644
--- a/tests/src/CLRTest.Execute.targets
+++ b/tests/src/CLRTest.Execute.targets
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<!--
***********************************************************************************************
CLRTest.Execute.targets
@@ -96,7 +97,7 @@ This file contains the logic for providing Execution Script generation.
-->
<ItemGroup>
- <ExecutionScriptKind Include="Batch" />
+ <ExecutionScriptKind Include="Batch" Condition="'$(BuildOS)' == 'Windows_NT'"/>
<ExecutionScriptKind Include="Bash" />
</ItemGroup>
diff --git a/tests/src/CLRTest.Jit.targets b/tests/src/CLRTest.Jit.targets
index 1dd872c4af..b1da9fc0d7 100644
--- a/tests/src/CLRTest.Jit.targets
+++ b/tests/src/CLRTest.Jit.targets
@@ -23,9 +23,11 @@ WARNING: When setting properties based on their current state (for example:
<Target Name="GetJitDisasmBashScript"
Returns="$(JitDisasmBashScript)">
<PropertyGroup>
- <InputAssemblyName Condition="'$(CLRTestKind)' == 'RunOnly'">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)).Replace("\","/"))</InputAssemblyName>
+ <InputAssemblyName Condition="('$(CLRTestKind)' == 'RunOnly') and ('$(BuildOS)' != 'Windows_NT')">$([MSBuild]::MakeRelative($(OutputPath.Replace("/","\\")), $(_CLRTestToRunFileFullPath.Replace("/","\\"))).Replace("\\","/"))</InputAssemblyName>
+ <InputAssemblyName Condition="('$(CLRTestKind)' == 'RunOnly') and ('$(BuildOS)' == 'Windows_NT')">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)))</InputAssemblyName>
<InputAssemblyName Condition="'$(CLRTestKind)' == 'BuildAndRun'">$(MSBuildProjectName).exe</InputAssemblyName>
- <JitDisasmOut>$([MSBuild]::MakeRelative($(OutputPath), $(BaseOutputPathWithConfig)dasm\$(BuildProjectRelativeDir)).Replace("\","/"))</JitDisasmOut>
+ <JitDisasmOut Condition="'$(BuildOS)' != 'Windows_NT'">$([MSBuild]::MakeRelative($(OutputPath.Replace("/","\\")), $(BaseOutputPathWithConfig.Replace("/","\\"))dasm\$(BuildProjectRelativeDir.Replace("/","\\"))).Replace("\\","/"))</JitDisasmOut>
+ <JitDisasmOut Condition="'$(BuildOS)' == 'Windows_NT'">$([MSBuild]::MakeRelative($(OutputPath), $(BaseOutputPathWithConfig)dasm\$(BuildProjectRelativeDir)))</JitDisasmOut>
<JitDisasmBashScript>
<![CDATA[
# JitDisasm Script
@@ -48,9 +50,11 @@ fi
<Target Name="GetJitDisasmBatchScript"
Returns="$(JitDisasmBatchScript)">
<PropertyGroup>
- <InputAssemblyName Condition="'$(CLRTestKind)' == 'RunOnly'">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)))</InputAssemblyName>
+ <InputAssemblyName Condition="('$(CLRTestKind)' == 'RunOnly') and ('$(BuildOS)' != 'Windows_NT')">$([MSBuild]::MakeRelative($(OutputPath.Replace("/","\\")), $(_CLRTestToRunFileFullPath.Replace("/","\\"))).Replace("\\","/"))</InputAssemblyName>
+ <InputAssemblyName Condition="('$(CLRTestKind)' == 'RunOnly') and ('$(BuildOS)' == 'Windows_NT')">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)))</InputAssemblyName>
<InputAssemblyName Condition="'$(CLRTestKind)' == 'BuildAndRun'">$(MSBuildProjectName).exe</InputAssemblyName>
- <JitDisasmOut>$([MSBuild]::MakeRelative($(OutputPath), $(BaseOutputPathWithConfig)dasm\$(BuildProjectRelativeDir)))</JitDisasmOut>
+ <JitDisasmOut Condition="'$(BuildOS)' != 'Windows_NT'">$([MSBuild]::MakeRelative($(OutputPath.Replace("/","\\")), $(BaseOutputPathWithConfig.Replace("/","\\"))dasm\$(BuildProjectRelativeDir.Replace("/","\\"))).Replace("\\","/"))</JitDisasmOut>
+ <JitDisasmOut Condition="'$(BuildOS)' == 'Windows_NT'">$([MSBuild]::MakeRelative($(OutputPath), $(BaseOutputPathWithConfig)dasm\$(BuildProjectRelativeDir)))</JitDisasmOut>
<JitDisasmBatchScript>
<![CDATA[
REM JitDisasm Script
@@ -72,7 +76,8 @@ if defined RunningJitDisasm (
Name="GetIlasmRoundTripBashScript"
Returns="$(IlasmRoundTripBashScript)">
<PropertyGroup>
- <InputAssemblyName Condition="'$(CLRTestKind)' == 'RunOnly'">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)).Replace("\","/"))</InputAssemblyName>
+ <InputAssemblyName Condition="('$(CLRTestKind)' == 'RunOnly') and ('$(BuildOS)' != 'Windows_NT')">$([MSBuild]::MakeRelative($(OutputPath.Replace("/","\\")), $(_CLRTestToRunFileFullPath.Replace("/","\\"))).Replace("\\","/"))</InputAssemblyName>
+ <InputAssemblyName Condition="('$(CLRTestKind)' == 'RunOnly') and ('$(BuildOS)' == 'Windows_NT')">$([MSBuild]::MakeRelative($(OutputPath), $(_CLRTestToRunFileFullPath)))</InputAssemblyName>
<InputAssemblyName Condition="'$(CLRTestKind)' == 'BuildAndRun'">$(MSBuildProjectName).exe</InputAssemblyName>
<DisassemblyName>$(MSBuildProjectName).dasm.il</DisassemblyName>
<TargetAssemblyName>$(MSBuildProjectName).asm.exe</TargetAssemblyName>
@@ -176,4 +181,4 @@ export COMPlus_GCStress=$(RunWithGcStress)
</PropertyGroup>
-</Project>
+</Project> \ No newline at end of file
diff --git a/tests/src/GC/LargeMemory/API/gc/memcheck.csproj b/tests/src/GC/LargeMemory/API/gc/memcheck.csproj
index e982e5f414..49e4f023da 100644
--- a/tests/src/GC/LargeMemory/API/gc/memcheck.csproj
+++ b/tests/src/GC/LargeMemory/API/gc/memcheck.csproj
@@ -24,7 +24,7 @@
</ItemGroup>
<ItemGroup>
<!-- Add Compile Object Here -->
- <Compile Include="MemCheck.cs" />
+ <Compile Include="memcheck.cs" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/GC/LargeMemory/Allocation/memcheck.csproj b/tests/src/GC/LargeMemory/Allocation/memcheck.csproj
index e982e5f414..49e4f023da 100644
--- a/tests/src/GC/LargeMemory/Allocation/memcheck.csproj
+++ b/tests/src/GC/LargeMemory/Allocation/memcheck.csproj
@@ -24,7 +24,7 @@
</ItemGroup>
<ItemGroup>
<!-- Add Compile Object Here -->
- <Compile Include="MemCheck.cs" />
+ <Compile Include="memcheck.cs" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/IL.targets b/tests/src/IL.targets
index 36cff53035..c63ce98ca6 100644
--- a/tests/src/IL.targets
+++ b/tests/src/IL.targets
@@ -11,8 +11,12 @@
Returns=""
DependsOnTargets="$(CoreCompileDependsOn)">
<PropertyGroup>
- <_OutputTypeArgument Condition="'$(OutputType)' == 'Library'">/DLL</_OutputTypeArgument>
- <_OutputTypeArgument Condition="'$(OutputType)' == 'Exe'">/EXE</_OutputTypeArgument>
+ <_ShellKeyMarker Condition="'$(BuildOS)' != 'Windows_NT'">-</_ShellKeyMarker> <!-- Work around ilasm comandline parser bugs... -->
+ <_ShellKeyMarker Condition="'$(BuildOS)' == 'Windows_NT'">/</_ShellKeyMarker>
+ <_ilasm>ilasm</_ilasm>
+ <_ilasm Condition="'$(CORE_ROOT)' != ''">$(CORE_ROOT)/ilasm</_ilasm>
+ <_OutputTypeArgument Condition="'$(OutputType)' == 'Library'">$(_ShellKeyMarker)DLL</_OutputTypeArgument>
+ <_OutputTypeArgument Condition="'$(OutputType)' == 'Exe'">$(_ShellKeyMarker)EXE</_OutputTypeArgument>
<_IlasmSwitches>-QUIET -NOLOGO</_IlasmSwitches>
<_IlasmSwitches Condition="'$(FoldIdenticalMethods)' == 'True'">$(_IlasmSwitches) -FOLD</_IlasmSwitches>
<_IlasmSwitches Condition="'$(SizeOfStackReserve)' != ''">$(_IlasmSwitches) -STACK=$(SizeOfStackReserve)</_IlasmSwitches>
@@ -22,7 +26,7 @@
<_IlasmSwitches Condition="'$(Optimize)' == 'True'">$(_IlasmSwitches) -OPTIMIZE</_IlasmSwitches>
</PropertyGroup>
- <Exec Command="ilasm $(_OutputTypeArgument) /OUTPUT=@(IntermediateAssembly) $(_IlasmSwitches) @(Compile)">
+ <Exec Command="$(_ilasm) $(_OutputTypeArgument) $(_ShellKeyMarker)OUTPUT=@(IntermediateAssembly) $(_IlasmSwitches) @(Compile)">
<Output TaskParameter="ExitCode" PropertyName="_ILAsmExitCode" />
</Exec>
<Error Text="ILAsm failed" Condition="'$(_ILAsmExitCode)' != '0'" />
diff --git a/tests/src/JIT/Directed/FaultHandlers/Simple/Simple.ilproj b/tests/src/JIT/Directed/FaultHandlers/Simple/Simple.ilproj
index 9fe1293674..144cfcee28 100644
--- a/tests/src/JIT/Directed/FaultHandlers/Simple/Simple.ilproj
+++ b/tests/src/JIT/Directed/FaultHandlers/Simple/Simple.ilproj
@@ -25,7 +25,7 @@
</ItemGroup>
<PropertyGroup></PropertyGroup>
<ItemGroup>
- <Compile Include="Simple.il" />
+ <Compile Include="simple.il" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj b/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj
index ea51f6e203..59f063e83f 100644
--- a/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj
+++ b/tests/src/JIT/Directed/IL/PInvokeTail/TailWinApi.ilproj
@@ -25,7 +25,7 @@
</ItemGroup>
<PropertyGroup></PropertyGroup>
<ItemGroup>
- <Compile Include="TailWinApi.il" />
+ <Compile Include="tailwinapi.il" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/JIT/Directed/IL/Tailcall/JitTailcall2.ilproj b/tests/src/JIT/Directed/IL/Tailcall/JitTailcall2.ilproj
index 7b74c279a9..62ffb83c94 100644
--- a/tests/src/JIT/Directed/IL/Tailcall/JitTailcall2.ilproj
+++ b/tests/src/JIT/Directed/IL/Tailcall/JitTailcall2.ilproj
@@ -27,7 +27,7 @@
<JitOptimizationSensitive>true</JitOptimizationSensitive>
</PropertyGroup>
<ItemGroup>
- <Compile Include="JitTailcall2.il" />
+ <Compile Include="Jittailcall2.il" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/JIT/Methodical/localloc/zeroinit/zeroInit01_large.ilproj b/tests/src/JIT/Methodical/localloc/zeroinit/zeroInit01_large.ilproj
index 6e3f86137c..793183d2dd 100644
--- a/tests/src/JIT/Methodical/localloc/zeroinit/zeroInit01_large.ilproj
+++ b/tests/src/JIT/Methodical/localloc/zeroinit/zeroInit01_large.ilproj
@@ -25,7 +25,7 @@
</ItemGroup>
<PropertyGroup></PropertyGroup>
<ItemGroup>
- <Compile Include="zeroInit01_large.il" />
+ <Compile Include="zeroinit01_large.il" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b04345/B04345.ilproj b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b04345/B04345.ilproj
index a009a89710..6bcb7a0da7 100644
--- a/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b04345/B04345.ilproj
+++ b/tests/src/JIT/Regression/CLR-x86-JIT/V1-M10/b04345/B04345.ilproj
@@ -25,7 +25,7 @@
</ItemGroup>
<PropertyGroup></PropertyGroup>
<ItemGroup>
- <Compile Include="B04345.il" />
+ <Compile Include="b04345.il" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/JIT/jit64/localloc/zeroinit/zeroInit01_small.ilproj b/tests/src/JIT/jit64/localloc/zeroinit/zeroInit01_small.ilproj
index fc95236ff6..7cff691baf 100644
--- a/tests/src/JIT/jit64/localloc/zeroinit/zeroInit01_small.ilproj
+++ b/tests/src/JIT/jit64/localloc/zeroinit/zeroInit01_small.ilproj
@@ -25,7 +25,7 @@
</ItemGroup>
<PropertyGroup></PropertyGroup>
<ItemGroup>
- <Compile Include="zeroInit01_small.il" />
+ <Compile Include="zeroinit01_small.il" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
diff --git a/tests/src/JIT/opt/Devirtualization/GitHub_9945.csproj b/tests/src/JIT/opt/Devirtualization/GitHub_9945.csproj
index 5d417dcb07..eacc9fc81c 100644
--- a/tests/src/JIT/opt/Devirtualization/GitHub_9945.csproj
+++ b/tests/src/JIT/opt/Devirtualization/GitHub_9945.csproj
@@ -10,6 +10,7 @@
<OutputType>Exe</OutputType>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
+ <ReferenceLocalMscorlib>true</ReferenceLocalMscorlib>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
diff --git a/tests/src/JIT/opt/Devirtualization/comparable.csproj b/tests/src/JIT/opt/Devirtualization/comparable.csproj
index 780cd910ca..85825a98e5 100644
--- a/tests/src/JIT/opt/Devirtualization/comparable.csproj
+++ b/tests/src/JIT/opt/Devirtualization/comparable.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
diff --git a/tests/src/NuGet.Config b/tests/src/NuGet.Config
index 0922300baf..7d6ce424cf 100644
--- a/tests/src/NuGet.Config
+++ b/tests/src/NuGet.Config
@@ -6,6 +6,7 @@
<packageSources>
<clear/>
<add key="myget.org dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
+ <add key="myget.org dotnet-corefxlab" value="https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json" />
<add key="myget.org nugetbuild" value="https://www.myget.org/F/nugetbuild/api/v3/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
diff --git a/tests/src/dir.common.props b/tests/src/dir.common.props
index 5a7ee2e83a..2443e1c7e3 100644
--- a/tests/src/dir.common.props
+++ b/tests/src/dir.common.props
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\dir.props" />
@@ -5,7 +6,7 @@
<PropertyGroup>
<__BuildArch Condition="'$(__BuildArch)' == ''">x64</__BuildArch>
<__BuildType Condition="'$(__BuildType)' == ''">Debug</__BuildType>
- <__BuildOS Condition="'$(__BuildOS)' == ''">Windows_NT</__BuildOS>
+ <__BuildOS Condition="'$(__BuildOS)' == ''">AnyOS</__BuildOS>
<BuildArch>$(__BuildArch)</BuildArch>
<BuildType>$(__BuildType)</BuildType>
<BuildOS>$(__BuildOS)</BuildOS>
@@ -37,7 +38,7 @@
<PropertyGroup>
<OSPlatformConfig>$(BuildOS).$(Platform).$(Configuration)</OSPlatformConfig>
<BaseOutputPath>$(ProjectDir)\..\bin\tests</BaseOutputPath>
- <BaseOutputPath Condition="'$(__TestRootDir)' != ''">$(__TestRootDir)\</BaseOutputPath>
+ <BaseOutputPath Condition="'$(__TestRootDir)' != ''">$(__TestRootDir)</BaseOutputPath>
<BaseOutputPathWithConfig>$(BaseOutputPath)\$(OSPlatformConfig)\</BaseOutputPathWithConfig>
<BinDir>$(BaseOutputPathWithConfig)</BinDir>
<BaseIntermediateOutputPath>$(ProjectDir)\..\bin\tests\obj\$(OSPlatformConfig)\Managed\</BaseIntermediateOutputPath>
diff --git a/tests/src/dir.props b/tests/src/dir.props
index abad765fe4..0ccd6e9446 100644
--- a/tests/src/dir.props
+++ b/tests/src/dir.props
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dir.common.props" />
@@ -18,11 +19,11 @@
<!-- Expose the target OS in a more convenient fashion -->
<PropertyGroup>
- <OSGroup Condition="'$(OSGroup)'=='' and $(Configuration.StartsWith('Windows'))">Windows_NT</OSGroup>
- <OSGroup Condition="'$(OSGroup)'=='' and $(Configuration.StartsWith('Linux'))">Linux</OSGroup>
- <OSGroup Condition="'$(OSGroup)'=='' and $(Configuration.StartsWith('OSX'))">OSX</OSGroup>
- <OSGroup Condition="'$(OSGroup)'=='' and $(Configuration.StartsWith('FreeBSD'))">FreeBSD</OSGroup>
- <OSGroup Condition="'$(OSGroup)'==''">Windows_NT</OSGroup>
+ <OSGroup Condition="'$(OSGroup)'=='' and $(OSPlatformConfig.StartsWith('Windows'))">Windows_NT</OSGroup>
+ <OSGroup Condition="'$(OSGroup)'=='' and $(OSPlatformConfig.StartsWith('Linux'))">Linux</OSGroup>
+ <OSGroup Condition="'$(OSGroup)'=='' and $(OSPlatformConfig.StartsWith('OSX'))">OSX</OSGroup>
+ <OSGroup Condition="'$(OSGroup)'=='' and $(OSPlatformConfig.StartsWith('FreeBSD'))">FreeBSD</OSGroup>
+ <OSGroup Condition="'$(OSGroup)'==''">AnyOS</OSGroup>
</PropertyGroup>
<!-- Setup properties per OSGroup -->
diff --git a/tests/src/dir.targets b/tests/src/dir.targets
index 4e6c618021..5b9082d282 100644
--- a/tests/src/dir.targets
+++ b/tests/src/dir.targets
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Default priority building values. -->
<PropertyGroup>
@@ -103,10 +104,8 @@
<ProjectLanguage Condition="'$(MSBuildProjectExtension)' == '.csproj' OR '$(Language)' == 'C#' OR '$(ProjectLanguage)'==''">CSharp</ProjectLanguage>
</PropertyGroup>
- <!-- TODO (#1122): import this from the ToolsDir once it becomes available -->
<Import Project="$(ProjectDir)src\IL.targets" Condition="'$(ProjectLanguage)' == 'IL' And '$(CLRTestPriority)' &lt;= '$(CLRTestPriorityToBuild)'" />
-
<Import Project="CLRTest.Execute.targets" />
<Target Name="CreateExecuteScript"
AfterTargets="Build"
@@ -147,12 +146,13 @@
Condition="'@(NativeProjectReferenceNormalized)' != ''"
BeforeTargets="Build" >
<ItemGroup>
- <NativeProjectOutputFoldersToCopy Include="$([System.String]::Copy('%(NativeProjectReferenceNormalized.RelativeDir)').Replace($(SourceDir),$(__NativeTestIntermediatesDir)\src\))$(Configuration)\"/>
+ <NativeProjectOutputFoldersToCopy Include="$([System.String]::Copy('%(NativeProjectReferenceNormalized.RelativeDir)').Replace($(SourceDir),$(__NativeTestIntermediatesDir)\src\))" Condition="'$(BuildOS)' != 'Windows_NT'" />
+ <NativeProjectOutputFoldersToCopy Include="$([System.String]::Copy('%(NativeProjectReferenceNormalized.RelativeDir)').Replace($(SourceDir),$(__NativeTestIntermediatesDir)\src\))$(Configuration)\" Condition="'$(BuildOS)' == 'Windows_NT'" />
</ItemGroup>
<Message Text= "Full native project references are :%(NativeProjectReferenceNormalized.Identity)" />
<Message Text= "Native binaries will be copied from :%(NativeProjectOutputFoldersToCopy.Identity)" />
- <MSBuild Projects="$(MSBuildProjectFile)" Targets="CopyNativeProjectBinaries" Properties="NativeProjectOutputFolder=%(NativeProjectOutputFoldersToCopy.Identity)" Condition="'@(NativeProjectReference)' != ''" />
+ <MSBuild Projects="$(MSBuildProjectFile)" Targets="CopyNativeProjectBinaries" Properties="NativeProjectOutputFolder=%(NativeProjectOutputFoldersToCopy.Identity)" Condition="'@(NativeProjectReference)' != '' And '$(BuildOS)' == 'Windows_NT'" />
</Target>
diff --git a/tests/src/dirs.proj b/tests/src/dirs.proj
index 6ae2b7c09e..215ce848dc 100644
--- a/tests/src/dirs.proj
+++ b/tests/src/dirs.proj
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" InitialTargets="VerifyBuildTools" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="dir.props" />
@@ -14,10 +15,10 @@
<Target Name="ResolveDisabledProjects" BeforeTargets="BuildAllProjects" >
<ItemGroup>
- <DisabledProjects Include="TestWrappers*\*\*.csproj" />
+ <DisabledProjects Include="TestWrappers*\**\*.csproj" />
<DisabledProjects Include="*\**\cs_template.csproj" />
- <DisabledProjects Include="Common\Coreclr.TestWrapper\Coreclr.TestWrapper.csproj" Condition="'$(BuildTestsAgainstPackages)' != 'true'" />
- <DisabledProjects Include="Common\Desktop.Coreclr.TestWrapper\Desktop.Coreclr.TestWrapper.csproj" Condition="'$(BuildTestsAgainstPackages)' == 'true'" />
+ <DisabledProjects Include="Common\Coreclr.TestWrapper\Coreclr.TestWrapper.csproj" Condition="('$(BuildTestsAgainstPackages)' != 'true') And ('$(BuildOS)' == 'Windows_NT')" />
+ <DisabledProjects Include="Common\Desktop.Coreclr.TestWrapper\Desktop.Coreclr.TestWrapper.csproj" Condition="('$(BuildTestsAgainstPackages)' == 'true') Or ('$(BuildOS)' != 'Windows_NT')" />
<DisabledProjects Include="Common\test_runtime\test_runtime.csproj" />
<DisabledProjects Include="Common\test_dependencies\test_dependencies.csproj" />
<DisabledProjects Include="Common\build_against_pkg_dependencies\build_against_pkg_dependencies.csproj" />
@@ -25,11 +26,114 @@
<DisabledProjects Include="Common\external\external.csproj" />
<DisabledProjects Include="Common\PerfHarness\PerfHarness.csproj" />
<DisabledProjects Include="GC\Performance\Framework\GCPerfTestFramework.csproj" />
- <DisabledProjects Include="JIT\superpmi\superpmicollect.csproj" Condition="'$(BuildTestsAgainstPackages)' == 'true'" />
+ <DisabledProjects Include="JIT\superpmi\superpmicollect.csproj" Condition="('$(BuildTestsAgainstPackages)' == 'true') Or ('$(BuildOS)' != 'Windows_NT')" />
<DisabledProjects Include="JIT\config\**" />
<DisabledProjects Include="Performance\performance.csproj" />
<DisabledProjects Include="Loader\classloader\generics\regressions\DD117522\Test.csproj" />
<DisabledProjects Include="Loader\classloader\generics\GenericMethods\VSW491668.csproj" /> <!-- issue 5501 -->
+ <DisabledProjects Include="JIT\Directed\nullabletypes\**\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Performance\CodeQuality\Span\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <!-- The following project requires System.Reflection.Emit which is not supported on Linux, see issue corefx@4491 -->
+ <DisabledProjects Include="JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b67414\b67414.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <!-- The following projects cannot be compiled on Linux due to "csc.exe /debug:+" issue. Remove them after compiler will be fixed -->
+ <DisabledProjects Include="JIT\Directed\Misc\gettype\gettypetypeofmatrix.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\PREFIX\PrimitiveVT\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv1_cs_d.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv1_cs_do.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv1_cs_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv1_cs_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv2_cs_d.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv2_cs_do.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv2_cs_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv2_cs_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv3_il_d.ilproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\perffix\primitivevt\callconv3_il_r.ilproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\gettypetypeof\gettypetypeofmatrix.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\int16_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\int16_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\int32_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\int32_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\int64_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\int64_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint16_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint16_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint32_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint32_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint64Opt_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint64Opt_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint64_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint64_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint8_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Directed\shift\uint8_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Generics\Constraints\Call_instance01_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Generics\Constraints\Call_instance01_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\Boxing\xlang\*.*" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\NaN\arithm32_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\NaN\arithm32_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\NaN\arithm64_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\NaN\arithm64_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\cctor\misc\throw_cs_r.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\cctor\misc\throw_cs_ro.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\eh\**\*.*" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\flowgraph\bug619534\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Methodical\stringintern\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b43313\b43313.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b51875\b51875.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b55197\b55197.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\CLR-x86-JIT\V2.0-RTM\b491215\b491215.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\CLR-x86-JIT\v2.1\b152292\b152292.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\Dev11\External\Dev11_243742\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_1206929\DevDiv_1206929.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_142976\DevDiv_142976.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_150265\DevDiv_150265.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_168744\DevDiv_168744.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_200492\DevDiv_200492.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_255294\DevDiv_255294.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_278365\DevDiv_278365.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_278375\DevDiv_278375.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_278376\DevDiv_278376.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_278526\DevDiv_278526.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_280120\DevDiv_280120.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_280123\DevDiv_280123.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_280127\DevDiv_280127.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_283795\DevDiv_283795.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_284785\DevDiv_284785.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\DevDiv_288222\DevDiv_288222.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_10215\GitHub_10215.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_10481\GitHub_10481.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_10621\GitHub_10621.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_10714\GitHub_10714.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_1296\GitHub_1296.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_1323\GitHub_1323.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_2580\GitHub_2580.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_2610\GitHub_2610.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_3449\GitHub_3449.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_4044\GitHub_4044.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_4115\GitHub_4115.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_5047\GitHub_5047.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_5696\GitHub_5696.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_6238\GitHub_6238.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_6239\GitHub_6239.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_6318\GitHub_6318.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_6649\GitHub_6649.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_7508\Vector3Test.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_7906\GitHub_7906.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_8220\GitHub_8220.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_8460\GitHub_8460.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_8599\GitHub_8599.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_9891\GitHub_9891.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_10780\GitHub_10780.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_10940\GitHub_10940.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_11343\GitHub_11343.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_11408\GitHub_11408.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\Regression\JitBlue\GitHub_11733\GitHub_11733.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\jit64\eh\**\*.*" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\jit64\hfa\main\**\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\opt\virtualstubdispatch\manyintf\*.csproj" Condition="'$(RunningOnCore)' == 'true'" />
+ <DisabledProjects Include="JIT\jit64\opt\cse\hugeexpr1.csproj" Condition="'$(BuildOS)' == 'OSX'" />
+ <DisabledProjects Include="JIT\jit64\opt\cse\HugeField2.csproj" Condition="'$(BuildOS)' == 'OSX'" />
+ <DisabledProjects Include="JIT\jit64\opt\cse\hugeSimpleExpr1.csproj" Condition="'$(BuildOS)' == 'OSX'" />
+ <DisabledProjects Include="Loader\classloader\generics\Instantiation\Nesting\NestedGenericStructs.csproj" Condition="'$(BuildOS)' == 'OSX'" />
</ItemGroup>
<ItemGroup>
diff --git a/tests/testsFailingOutsideWindows.txt b/tests/testsFailingOutsideWindows.txt
index 3b59343f8a..7417d28918 100644
--- a/tests/testsFailingOutsideWindows.txt
+++ b/tests/testsFailingOutsideWindows.txt
@@ -1,3 +1,4 @@
+baseservices/threading/paramthreadstart/ThreadStartBool_1/ThreadStartBool_1.sh
baseservices/threading/paramthreadstart/ThreadStartString_1/ThreadStartString_1.sh
CoreMangLib/cti/system/multicastdelegate/MulticastDelegateCtor/MulticastDelegateCtor.sh
CoreMangLib/cti/system/runtime/interopservices/marshal/MarshalGetLastWin32Error_PSC/MarshalGetLastWin32Error_PSC.sh