Avoid running tests for different target frameworks in parallel.

This lets us run more things in parallel which involve shared resources.
This commit is contained in:
Pranav K 2015-04-30 11:27:13 -07:00
parent e3373d54ab
commit d457b54a36
1 changed files with 12 additions and 22 deletions

View File

@ -8,6 +8,7 @@ k-test
projectFile=''
Required. Path to the test project.json to execute
*/}
@{
@ -33,31 +34,20 @@ projectFile=''
};
// Currently only dnx* targets are supported. See aspnet/Universe#53
var targetFrameworks = configs.Keys.Where(k => k.StartsWith("dnx", StringComparison.OrdinalIgnoreCase)).ToList();
var targetFrameworks = configs.Keys.Where(k => k.StartsWith("dnx", StringComparison.OrdinalIgnoreCase));
if (testParallel)
foreach (var framework in targetFrameworks)
{
Parallel.ForEach (targetFrameworks, framework => RunTest(projectFolder, framework));
}
else
{
targetFrameworks.ForEach(framework => RunTest(projectFolder, framework));
}
}
}
var testArgs = IsMono ? " -parallel none" : "";
functions @{
private void RunTest(string projectFolder, string framework)
{
var testArgs = IsMono ? " -parallel none" : "";
if (!framework.StartsWith("dnxcore", StringComparison.OrdinalIgnoreCase))
{
K(("test" + testArgs), projectFolder, "");
}
else if (!IsMono)
{
K("test", projectFolder, "default -runtime CoreCLR");
if (!framework.StartsWith("dnxcore", StringComparison.OrdinalIgnoreCase))
{
K(("test" + testArgs), projectFolder, "");
}
else if (!IsMono)
{
K("test", projectFolder, "default -runtime CoreCLR");
}
}
}
}