From d70e1eca73d2e04d418581fb38190317ae004d79 Mon Sep 17 00:00:00 2001 From: Cesar Blum Silveira Date: Wed, 13 Jan 2016 12:43:34 -0800 Subject: [PATCH] Honor KOREBUILD_TEST_SKIPMONO (#353). --- KoreBuild-dotnet/build/_xunit-test.shade | 72 +++++++++++++----------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/KoreBuild-dotnet/build/_xunit-test.shade b/KoreBuild-dotnet/build/_xunit-test.shade index d17e4c5cc7..eb966324ff 100644 --- a/KoreBuild-dotnet/build/_xunit-test.shade +++ b/KoreBuild-dotnet/build/_xunit-test.shade @@ -2,6 +2,7 @@ use import="Json" use import="Environment" default NO_PARALLEL_TEST_PROJECTS='${E("NO_PARALLEL_TEST_PROJECTS")}' +default KOREBUILD_TEST_SKIPMONO='${E("KOREBUILD_TEST_SKIPMONO")}' @{/* @@ -14,47 +15,50 @@ projectFile='' */} @{ - var projectText = File.ReadAllText(projectFile); - var project = (JsonObject)Json.Deserialize(projectText); - - if (project.Keys.Contains("testRunner")) + if (!string.Equals(KOREBUILD_TEST_SKIPMONO, "1") && !string.Equals(KOREBUILD_TEST_SKIPMONO, "true")) { - var projectFolder = Path.GetDirectoryName(projectFile); - var projectName = Path.GetFileName(projectFolder); + var projectText = File.ReadAllText(projectFile); + var project = (JsonObject)Json.Deserialize(projectText); - var noParallelTestProjects = new HashSet(StringComparer.OrdinalIgnoreCase); - if (!string.IsNullOrEmpty(NO_PARALLEL_TEST_PROJECTS)) + if (project.Keys.Contains("testRunner")) { - noParallelTestProjects.UnionWith(NO_PARALLEL_TEST_PROJECTS.Split((char)',')); - } - - var testArgs = noParallelTestProjects.Contains(projectName) ? " -parallel none" : ""; - - var configs = project.ValueAsJsonObject("frameworks"); - IEnumerable targetFrameworks = configs == null? - new string[0]: - configs.Keys.Where(k => k.StartsWith("dnx", StringComparison.OrdinalIgnoreCase)); - - var runnerFolder = Path.GetFullPath(Path.Combine(KoreBuildFolderPath, "build", "xunit.runner.console", "tools")); + var projectFolder = Path.GetDirectoryName(projectFile); + var projectName = Path.GetFileName(projectFolder); - foreach (var framework in targetFrameworks) - { - if (!framework.StartsWith("dnxcore")) + var noParallelTestProjects = new HashSet(StringComparer.OrdinalIgnoreCase); + if (!string.IsNullOrEmpty(NO_PARALLEL_TEST_PROJECTS)) { - if (IsLinux) + noParallelTestProjects.UnionWith(NO_PARALLEL_TEST_PROJECTS.Split((char)',')); + } + + var testArgs = noParallelTestProjects.Contains(projectName) ? " -parallel none" : ""; + + var configs = project.ValueAsJsonObject("frameworks"); + IEnumerable targetFrameworks = configs == null? + new string[0]: + configs.Keys.Where(k => k.StartsWith("dnx", StringComparison.OrdinalIgnoreCase)); + + var runnerFolder = Path.GetFullPath(Path.Combine(KoreBuildFolderPath, "build", "xunit.runner.console", "tools")); + + foreach (var framework in targetFrameworks) + { + if (!framework.StartsWith("dnxcore")) { - // Work around issue with testing in parallel on Mono. - testArgs = " -parallel none"; + if (IsLinux) + { + // Work around issue with testing in parallel on Mono. + testArgs = " -parallel none"; + } + + var publishFolder = Path.Combine(projectFolder, ".testPublish", framework); + DotnetPublish(projectFile, publishFolder, framework); + Copy(runnerFolder, publishFolder, "*.*", true); + + var targetTestDll = projectName + ".dll"; + + var runnerExe = Path.GetFullPath(Path.Combine(publishFolder, "xunit.console.exe")); + ExecClr(runnerExe, targetTestDll + " " + testArgs, publishFolder); } - - var publishFolder = Path.Combine(projectFolder, ".testPublish", framework); - DotnetPublish(projectFile, publishFolder, framework); - Copy(runnerFolder, publishFolder, "*.*", true); - - var targetTestDll = projectName + ".dll"; - - var runnerExe = Path.GetFullPath(Path.Combine(publishFolder, "xunit.console.exe")); - ExecClr(runnerExe, targetTestDll + " " + testArgs, publishFolder); } } }