From c2a22b57b07968d3bce2cedd45cd3d5a556f0e86 Mon Sep 17 00:00:00 2001 From: Brice Lambson Date: Mon, 9 Jun 2014 13:34:54 -0700 Subject: [PATCH] Run tests on both net45 and k10 (Fix #42) --- build/_k-test.shade | 46 +++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/build/_k-test.shade b/build/_k-test.shade index 6f9797c439..77dc931d23 100644 --- a/build/_k-test.shade +++ b/build/_k-test.shade @@ -15,44 +15,58 @@ projectFile='' var serializer = new JavaScriptSerializer(); var projectText = File.ReadAllText(projectFile); var project = (Dictionary)serializer.DeserializeObject(projectText); - + object commandsObject; var commands = project.TryGetValue("commands", out commandsObject) ? (Dictionary)commandsObject : new Dictionary(); - + if (commands.Keys.Contains("test")) { var projectFolder = Path.GetDirectoryName(projectFile); - + object configsObject; var configs = project.TryGetValue("configurations", out configsObject) ? (Dictionary)configsObject - : new Dictionary(); - + : new Dictionary + { + { "net45", new Dictionary() }, + { "k10", new Dictionary() } + }; + // Currently only net* and k* targets are supported. See aspnet/Universe#53 - var targetFrameworks = configs.Keys.Where(k => k.StartsWith("net", StringComparison.OrdinalIgnoreCase) /* - || k.StartsWith("k", StringComparison.OrdinalIgnoreCase) */ ); - - var originalTargetFramework = Environment.GetEnvironmentVariable("TARGET_FRAMEWORK"); + var targetFrameworks = configs.Keys.Where(k => k.StartsWith("net", StringComparison.OrdinalIgnoreCase) + || k.StartsWith("k", StringComparison.OrdinalIgnoreCase)); + try { foreach (var framework in targetFrameworks) { - // Workaround for aspnet/KRuntime#129 - var frameworkString = framework.StartsWith("net", StringComparison.OrdinalIgnoreCase) - ? "" - : framework; + if (framework.StartsWith("net", StringComparison.OrdinalIgnoreCase)) + { + UseSvr50(); + } + else + { + UseSvrc50(); + } - Environment.SetEnvironmentVariable("TARGET_FRAMEWORK", frameworkString); K("test", projectFolder); } } finally { - Environment.SetEnvironmentVariable("TARGET_FRAMEWORK", originalTargetFramework); + UseSvr50(); } } } macro name='K' command='string' workingdir='string' - k \ No newline at end of file + k + +macro name='UseSvr50' + exec program='cmd' commandline='/C kvm use default -svr50 -x86' if='!IsMono' + exec program='kvm' commandline='use default -svr50 -x86' if='IsMono' + +macro name='UseSvrc50' + exec program='cmd' commandline='/C kvm use default -svrc50 -x86' if='!IsMono' + exec program='kvm' commandline='use default -svrc50 -x86' if='IsMono'