'gcstress0xc_minopts_heapverify1' : ['COMPlus_GCStress' : '0xC', 'COMPlus_JITMinOpts' : '1', 'COMPlus_HeapVerify' : '1']
]
// This is the basic set of scenarios
- def static basicScenarios = ['default', 'pri1', 'ilrt', 'r2r', 'pri1r2r', 'gcstress15_pri1r2r']
+ def static basicScenarios = ['default', 'pri1', 'ilrt', 'r2r', 'pri1r2r', 'gcstress15_pri1r2r', 'longgc']
// This is the set of configurations
def static configurationList = ['Debug', 'Checked', 'Release']
// This is the set of architectures
}
}
break
+ case 'longgc':
+ // long GC jobs are triggered by phrase only.
+ break
case 'ilrt':
assert !(os in bidailyCrossList)
// ILASM/ILDASM roundtrip one gets a daily build, and only for release
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GCStress 15 R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*")
}
break
+ case 'longgc':
+ if (configuration == 'Release' || configuration == 'Checked') {
+ Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*")
+ }
+ break
case 'minopts':
assert (os == 'Windows_NT') || (os in Constants.crossList)
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - MinOpts)",
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GCStress 15 R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*")
}
break
+ case 'longgc':
+ if (configuration == 'Release' || configuration == 'Checked') {
+ Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${configuration}\\W+${scenario}.*")
+ }
+ break
case 'minopts':
assert (os == 'Windows_NT') || (os in Constants.crossList)
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Build and Test (Jit - MinOpts)",
Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} GCStress 15 R2R pri1 Build & Test", "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*")
}
}
+ } else if (scenario == 'longgc') {
+ if (os == 'Windows_NT'){
+ if (configuration == 'Release' || configuration == 'Checked'){
+ Utilities.addGithubPRTriggerForBranch(job, branch, "${os} ${architecture} ${configuration} Long-Running GC Build & Test", "(?i).*test\\W+${os}\\W+${architecture}\\W+${configuration}\\W+${scenario}.*")
+ }
+ }
}
break
default:
return
}
break
+ case 'longgc':
+ if (os != 'Windows_NT' && !(os in Constants.crossList)) {
+ return
+ }
+
+ // only x64 or x86 for now
+ if (architecture != 'x64' && architecture != 'x86') {
+ return
+ }
+ break
case 'default':
// Nothing skipped
break
//Build pri1 R2R tests with GC stress level 15
buildCommands += "build.cmd ${lowerConfiguration} ${architecture} docrossgen skiptests"
buildCommands += "set __TestIntermediateDir=int&&tests\\buildtest.cmd ${lowerConfiguration} ${architecture} crossgen Priority 1 gcstresslevel 15"
+ } else if (scenario == 'longgc') {
+ buildCommands += "build.cmd ${lowerConfiguration} ${architecture} skiptests"
+ buildCommands += "set __TestIntermediateDir=int&&tests\\buildtest.cmd ${lowerConfiguration} ${architecture} longgctests"
}
else {
println("Unknown scenario: ${scenario}")
}
}
else if (architecture == 'x64') {
- buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} ${crossgenStr}"
+ if (scenario == 'longgc') {
+ buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} longgctests sequential Exclude0"
+ } else {
+ buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture}"
+ }
}
else if (architecture == 'x86') {
- buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} ${crossgenStr} Exclude0 x86_legacy_backend_issues.targets"
+ if (scenario == 'longgc') {
+ buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} longgctests sequential Exclude0"
+ } else {
+ buildCommands += "tests\\runtest.cmd ${lowerConfiguration} ${architecture} Exclude0 x86_legacy_backend_issues.targets"
+ }
}
}
return
}
break
+ case 'longgc':
+ //Skip configs that aren't Checked or Release (so just Debug, for now)
+ if (configuration != 'Checked' && configuration != 'Release') {
+ return
+ }
+ break
case 'default':
// Nothing skipped
break
}
// Enable Server GC for Ubuntu PR builds
def serverGCString = ''
+
+ // Whether or not this test run should be run sequentially instead
+ // of in parallel. Only used for long GC tests.
+ def sequentialString = ''
+
+ // Whether or not this test run should only run failing test.
+ // Only used for long GC tests, because they are all ignored in
+ // normal test runs.
+ def runFailingString = ''
if (os == 'Ubuntu' && isPR){
serverGCString = '--useServerGC'
if (scenario == 'r2r' || scenario == 'pri1r2r' || scenario == 'gcstress15_pri1r2r'){
crossgenStr = '--crossgen'
}
+
+ if (scenario == 'longgc') {
+ // Long GC tests behave very poorly when they are not
+ // the only test running (many of them allocate until OOM).
+ sequentialString = 'sequential'
+
+ // Long GC tests all exist in the ignore list because
+ // they can't run during normal test runs. This is not
+ // particularly pretty but, until we get a more generalized
+ // mechanism for coming up with test playlists, it works.
+ runFailingString = '--runFailingTestsOnly'
+ }
def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) {
--mscorlibDir=\"\${WORKSPACE}/bin/Product/${osGroup}.${architecture}.${configuration}\" \\
--coreFxBinDir=\"\${WORKSPACE}/bin/${osGroup}.AnyCPU.Release\" \\
--coreFxNativeBinDir=\"\${WORKSPACE}/bin/${osGroup}.${architecture}.Release\" \\
- ${testEnvOpt} ${serverGCString} ${crossgenStr}""")
+ ${testEnvOpt} ${serverGCString} ${crossgenStr} ${sequentialString} ${runFailingString}""")
}
}
set __ILAsmRoundtrip=
set __BuildSequential=
set __TestPriority=
+set __LongGCTests=
set __msbuildCleanBuildArgs=
set __msbuildExtraArgs=
set __verbosity=normal
if /i "%1" == "sequential" (set __BuildSequential=1&shift&goto Arg_Loop)
if /i "%1" == "priority" (set __TestPriority=%2&shift&shift&goto Arg_Loop)
if /i "%1" == "gcstresslevel" (set __GCStressLevel=%2&shift&shift&goto Arg_Loop)
+if /i "%1" == "longgctests" (set __LongGCTests=1&shift&goto Arg_Loop)
if /i "%1" == "verbose" (set __verbosity=detailed&shift&goto Arg_Loop)
set __msbuildManagedBuildArgs=%__msbuildManagedBuildArgs% /p:GCStressLevel=%__GCStressLevel%
)
+if defined __LongGCTests (
+ echo Building tests with Long GC tests enabled.
+ set __msbuildManagedBuildArgs=%__msbuildManagedBuildArgs% /p:GCLongRunning=true
+)
+
set __BuildLogRootName=Tests_Managed
call :msbuild "%__ProjectFilesDir%\build.proj" %__msbuildManagedBuildArgs%
if errorlevel 1 exit /b 1
<ExcludeList Include="$(XunitTestBinBase)\GC\Scenarios\BaseFinal\basefinal\*">
<Issue>3392</Issue>
</ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)\GC\Coverage\concurrentspin2\*">
- <Issue>3392</Issue>
- </ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)\GC\Coverage\smalloom\*">
<Issue>3392</Issue>
</ExcludeList>
:: Default __Exclude to issues.targets
set __Exclude0=%~dp0\issues.targets
-set __BuildSequential=
+set __Sequential=
set __msbuildExtraArgs=
+set __LongGCTests=
:Arg_Loop
if "%1" == "" goto ArgsDone
if /i "%1" == "Exclude" (set __Exclude=%2&shift&shift&goto Arg_Loop)
if /i "%1" == "Exclude0" (set __Exclude0=%2&shift&shift&goto Arg_Loop)
if /i "%1" == "TestEnv" (set __TestEnv=%2&shift&shift&goto Arg_Loop)
-if /i "%1" == "sequential" (set __BuildSequential=1&shift&goto Arg_Loop)
+if /i "%1" == "sequential" (set __Sequential=1&shift&goto Arg_Loop)
if /i "%1" == "crossgen" (set __DoCrossgen=1&shift&goto Arg_Loop)
+if /i "%1" == "longgctests" (set __LongGCTests=1&shift&goto Arg_Loop)
if /i "%1" == "GenerateLayoutOnly" (set __GenerateLayoutOnly=1&set __SkipWrapperGeneration=true&shift&goto Arg_Loop)
if /i "%1" == "PerfTests" (set __PerfTests=true&set __SkipWrapperGeneration=true&shift&goto Arg_Loop)
:: assembly.
set __msbuildCommonArgs=/nologo /nodeReuse:false %__msbuildExtraArgs%
-if not defined __BuildSequential (
+if not defined __Sequential (
set __msbuildCommonArgs=%__msbuildCommonArgs% /maxcpucount
+) else (
+ set __msbuildCommonArgs=%__msbuildCommonArgs% /p:ParallelRun=false
)
if defined CORE_ROOT goto SkipCoreRootSetup
)
)
+:: Long GC tests take about 10 minutes per test on average, so
+:: they often bump up against the default 10 minute timeout.
+:: 20 minutes is more than enough time for a test to complete successfully.
+if defined __LongGCTests (
+ echo Running Long GC tests, extending timeout to 20 minutes
+ set __TestTimeout=1200000
+)
+
set __BuildLogRootName=Tests_GenerateRuntimeLayout
call :msbuild "%__ProjectFilesDir%\runtest.proj" /p:GenerateRuntimeLayout=true
if errorlevel 1 (
exit 0
fi
]]></BashCLRTestEnvironmentCompatibilityCheck>
+ <BashCLRTestGCLongTestSkipCondition Condition="'$(GCLongRunning)' == 'true' And '$(IsLongRunningGCTest)' != 'true'"><![CDATA[
+echo Skipping execution because this is not a long-running GC test
+exit 0
+ ]]></BashCLRTestGCLongTestSkipCondition>
<BashCLRTestExitCodePrep Condition="$(_CLRTestNeedsToRun)">
<![CDATA[CLRTestExpectedExitCode=$(CLRTestExitCode)
echo BEGIN EXECUTION]]>
$(BashEnvironmentVariables)
$(BashCLRTestEnvironmentCompatibilityCheck)
+$(BashCLRTestGCLongTestSkipCondition)
$(BashCLRTestArgPrep)
$(BashCLRTestExitCodePrep)
# CrossGen Script (when /p:CrossGen=true)
Exit /b 0
:Compatible1
]]></BatchCLRTestEnvironmentCompatibilityCheck>
-
+ <BatchCLRTestGCLongTestSkipCondition Condition="$(GCLongRunning) == 'true' And '$(IsLongRunningGCTest)' != 'true'"><![CDATA[
+echo Skipping execution because this is not a long-running GC test
+Exit /b 0
+ ]]></BatchCLRTestGCLongTestSkipCondition>
<BatchCLRTestExitCodePrep Condition="$(_CLRTestNeedsToRun)">
<![CDATA[
set CLRTestExpectedExitCode=$(CLRTestExitCode)
REM IlasmRoundTrip Script
$(IlasmRoundTripBatchScript)
+REM Long GC Tests Script (when /p:GCLongRunning=true)
+$(BatchCLRTestGCLongTestSkipCondition)
+
REM Precommands
$(CLRTestBatchPreCommands)
REM Launch
public class CoreclrTestWrapperLib
{
public const int EXIT_SUCCESS_CODE = 0;
+ public const string TIMEOUT_ENVIRONMENT_VAR = "__TestTimeout";
+ public const int DEFAULT_TIMEOUT = 1000 * 60*10;
public int RunTest(string executable, string outputFile, string errorFile)
{
Debug.Assert(outputFile != errorFile);
int exitCode = -100;
- int timeout = 1000 * 60*10;
+
+ // If a timeout was given to us by an environment variable, use it instead of the default
+ // timeout.
+ string environmentVar = Environment.GetEnvironmentVariable(TIMEOUT_ENVIRONMENT_VAR);
+ int timeout = environmentVar != null ? int.Parse(environmentVar) : DEFAULT_TIMEOUT;
var outputStream = new FileStream(outputFile, FileMode.Create);
var errorStream = new FileStream(errorFile, FileMode.Create);
+++ /dev/null
-// Licensed to the .NET Foundation under one or more agreements.
-// The .NET Foundation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Diagnostics;
-using System.Threading;
-
-class PriorityTest
-{
- private byte[][] old;
- private byte[][] med;
- private Random rand;
-
- private int oldDataSize;
- private int medDataSize;
- private int iterCount;
- private int meanAllocSize;
- private int medTime;
- private int youngTime;
-
-
- public PriorityTest(int oldDataSize, int medDataSize,
- int iterCount, int meanAllocSize,
- int medTime, int youngTime)
- {
- rand = new Random(314159);
- this.oldDataSize = oldDataSize;
- this.medDataSize = medDataSize;
- this.iterCount = iterCount;
- this.meanAllocSize = meanAllocSize;
- this.medTime = medTime;
- this.youngTime = youngTime;
- }
-
- // creates initial arrays
- void AllocTest(int oldDataSize, int medDataSize, int meanAllocSize)
- {
- old = new byte[oldDataSize][];
- med = new byte[medDataSize][];
-
- for (int i = 0; i < old.Length; i++)
- {
- old[i] = new byte[meanAllocSize];
- }
-
- for (int i = 0; i < med.Length; i++)
- {
- med[i] = new byte[meanAllocSize];
- }
- }
-
- // churns data in the heap by replacing byte arrays with new ones of random length
- // this should induce concurrent GCs
- void SteadyState(int oldDataSize, int medDataSize,
- int iterCount, int meanAllocSize,
- int medTime, int youngTime)
- {
-
- for (int i = 0; i < iterCount; i++)
- {
- byte[] newarray = new byte[meanAllocSize];
-
- if ((i % medTime) == 0)
- {
- old[rand.Next(0, old.Length)] = newarray;
- }
- if ((i % youngTime) == 0)
- {
- med[rand.Next(0, med.Length)] = newarray;
- }
- //if (((i % 5000) == 0) && (Thread.CurrentThread.Priority != ThreadPriority.Lowest))
- //{
- // Thread.Sleep(200);
- //}
- }
- }
-
- // method that runs the test
- public void RunTest()
- {
- for (int iteration = 0; iteration < iterCount; iteration++)
- {
- AllocTest(oldDataSize, medDataSize, meanAllocSize);
-
- SteadyState(oldDataSize, medDataSize,
- iterCount, meanAllocSize,
- medTime, youngTime);
-
- if (((iteration + 1) % 20) == 0)
- Console.WriteLine("Thread: {1} Finished iteration {0}", iteration, System.Threading.Thread.CurrentThread.Name);
- }
-
- }
-
-}
-
-
-class ConcurrentRepro
-{
-
- public static void Usage()
- {
- Console.WriteLine("Usage:");
- Console.WriteLine("\t<num iterations> <num threads>");
- }
-
- public static int[] ParseArgs(string[] args)
- {
- int[] parameters = new int[2];
-
- // set defaults
- parameters[0] = 100;
- parameters[1] = 4;
-
- if (args.Length == 0)
- {
- //use defaults
- Console.WriteLine("Using defaults: 100 iterations, 4 threads");
- return parameters;
- }
- if (args.Length == parameters.Length)
- {
- for (int i = 0; i < args.Length; i++)
- {
- int j = 0;
- if (!int.TryParse(args[i], out j))
- {
- Usage();
- return null;
- }
- parameters[i] = j;
- }
-
- return parameters;
- }
-
- // incorrect number of arguments
- Usage();
- return null;
- }
-
-
- public static int Main(string[] args)
- {
-
- // parse arguments
- int[] parameters = ParseArgs(args);
- if (parameters == null)
- {
- return 0;
- }
-
- // set process affinity to 1 to repro bug easier
- //Process.GetCurrentProcess().ProcessorAffinity = (IntPtr)1;
-
-
- PriorityTest priorityTest = new PriorityTest(1000000, 5000, parameters[0], 17, 30, 3);
- ThreadStart startDelegate = new ThreadStart(priorityTest.RunTest);
-
- // create threads
- Thread[] threads = new Thread[parameters[1]];
- for (int i = 0; i < threads.Length; i++)
- {
- threads[i] = new Thread(startDelegate);
- threads[i].Name = String.Format("Thread{0}", i);
- //if (i % 2 == 0)
- //{
- // threads[i].Priority = ThreadPriority.Lowest;
- //}
- threads[i].Start();
- }
-
- // wait for threads to complete
- for (int i = 0; i < threads.Length; i++)
- {
- threads[i].Join();
- }
-
- return 100;
- }
-}
-
-
+++ /dev/null
-<?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>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
- <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
- <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
- </PropertyGroup>
- <!-- Default configurations to help VS understand the configurations -->
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- </PropertyGroup>
- <ItemGroup>
- <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
- <Visible>False</Visible>
- </CodeAnalysisDependentAssemblyPaths>
- </ItemGroup>
- <ItemGroup>
- <!-- Add Compile Object Here -->
- <Compile Include="ConcurrentSpin2.cs" />
- </ItemGroup>
- <ItemGroup>
- <None Include="app.config" />
- <None Include="$(GCPackagesConfigFileDirectory)minimal\project.json" />
- </ItemGroup>
- <PropertyGroup>
- <ProjectJson>$(GCPackagesConfigFileDirectory)minimal\project.json</ProjectJson>
- <ProjectLockJson>$(GCPackagesConfigFileDirectory)minimal\project.lock.json</ProjectLockJson>
- </PropertyGroup>
- <ItemGroup>
- <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
- </ItemGroup>
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
- <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' ">
- </PropertyGroup>
-</Project>
\ No newline at end of file
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir>
<NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp>
+ <IsLongRunningGCTest>true</IsLongRunningGCTest>
</PropertyGroup>
<!-- Default configurations to help VS understand the configurations -->
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PropertyGroup>
<ExcludeTraits Condition="'$(ExcludeTraits)'==''">category=outerloop;category=failing</ExcludeTraits>
+ <ParallelRun Condition="'$(ParallelRun)'==''">true</ParallelRun>
</PropertyGroup>
<ItemGroup>
<IncludeTraitsItems Include="$(IncludeTraits)" />
</ItemGroup>
<xunit Assemblies="@(TestAssemblies)"
- ParallelizeAssemblies="True"
- ParallelizeTestCollections="True"
+ ParallelizeAssemblies="$(ParallelRun)"
+ ParallelizeTestCollections="$(ParallelRun)"
Html="$(__TestRunHtmlLog)"
Xml="$(__TestRunXmlLog)"
IncludeTraits="@(IncludeTraitsItems)"
GC/LargeMemory/API/gc/getgeneration/getgeneration.sh
GC/Scenarios/DoublinkList/doublinknoleak/doublinknoleak.sh
GC/Scenarios/BaseFinal/basefinal/basefinal.sh
-GC/Coverage/concurrentspin2/concurrentspin2.sh
GC/Coverage/smalloom/smalloom.sh
GC/Coverage/271010/271010.sh
GC/Features/BackgroundGC/concurrentspin2/concurrentspin2.sh
GC/Features/SustainedLowLatency/scenario/scenario.sh
GC/Features/SustainedLowLatency/sustainedlowlatency_race/sustainedlowlatency_race.sh
GC/Regressions/dev10bugs/536168/536168/536168.sh
-
JIT/Regression/CLR-x86-EJIT/V1-M09.5-PDC/b14426/b14426/b14426.sh
JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits/pi-digits.sh
<ExcludeList Include="$(XunitTestBinBase)\GC\Scenarios\BaseFinal\basefinal\*">
<Issue>3392</Issue>
</ExcludeList>
- <ExcludeList Include="$(XunitTestBinBase)\GC\Coverage\concurrentspin2\*">
- <Issue>3392</Issue>
- </ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)\GC\Coverage\smalloom\*">
<Issue>3392</Issue>
</ExcludeList>