Skip to content

Commit 0de41c2

Browse files
author
Nathan Ricci
authored
Added wasmnet50 wasmnet60 monikers. (#1592)
1 parent c63fe84 commit 0de41c2

File tree

2 files changed

+37
-17
lines changed

2 files changed

+37
-17
lines changed

src/BenchmarkDotNet.Annotations/Jobs/RuntimeMoniker.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,18 @@ public enum RuntimeMoniker
126126
CoreRt60,
127127

128128
/// <summary>
129-
/// WebAssembly
129+
/// WebAssembly with default .Net version
130130
/// </summary>
131-
Wasm
131+
Wasm,
132+
133+
/// <summary>
134+
/// WebAssembly with .net5.0
135+
/// </summary>
136+
WasmNet50,
137+
138+
/// <summary>
139+
/// WebAssembly with .net6.0
140+
/// </summary>
141+
WasmNet60
132142
}
133143
}

src/BenchmarkDotNet/ConsoleArguments/ConfigParser.cs

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -379,27 +379,37 @@ private static Job CreateJobForGivenRuntime(Job baseJob, string runtimeId, Comma
379379

380380
return baseJob.WithRuntime(runtime).WithToolchain(builder.ToToolchain());
381381
case RuntimeMoniker.Wasm:
382-
var wasmRuntime = new WasmRuntime(
383-
mainJs: options.WasmMainJs,
384-
msBuildMoniker: "net5.0",
385-
javaScriptEngine: options.WasmJavascriptEngine?.FullName ?? "v8",
386-
javaScriptEngineArguments: options.WasmJavaScriptEngineArguments);
387-
388-
var toolChain = WasmToolChain.From(new NetCoreAppSettings(
389-
targetFrameworkMoniker: wasmRuntime.MsBuildMoniker,
390-
runtimeFrameworkVersion: null,
391-
name: wasmRuntime.Name,
392-
customDotNetCliPath: options.CliPath?.FullName,
393-
packagesPath: options.RestorePath?.FullName,
394-
timeout: timeOut ?? NetCoreAppSettings.DefaultBuildTimeout,
395-
customRuntimePack: options.CustomRuntimePack));
382+
return MakeWasmJob(baseJob, options, timeOut, RuntimeInformation.IsNetCore ? CoreRuntime.GetCurrentVersion().MsBuildMoniker : "net5.0");
383+
case RuntimeMoniker.WasmNet50:
384+
return MakeWasmJob(baseJob, options, timeOut, "net5.0");
385+
case RuntimeMoniker.WasmNet60:
386+
return MakeWasmJob(baseJob, options, timeOut, "net6.0");
396387

397-
return baseJob.WithRuntime(wasmRuntime).WithToolchain(toolChain);
398388
default:
399389
throw new NotSupportedException($"Runtime {runtimeId} is not supported");
400390
}
401391
}
402392

393+
private static Job MakeWasmJob(Job baseJob, CommandLineOptions options, TimeSpan? timeOut, string msBuildMoniker)
394+
{
395+
var wasmRuntime = new WasmRuntime(
396+
mainJs: options.WasmMainJs,
397+
msBuildMoniker: msBuildMoniker,
398+
javaScriptEngine: options.WasmJavascriptEngine?.FullName ?? "v8",
399+
javaScriptEngineArguments: options.WasmJavaScriptEngineArguments);
400+
401+
var toolChain = WasmToolChain.From(new NetCoreAppSettings(
402+
targetFrameworkMoniker: wasmRuntime.MsBuildMoniker,
403+
runtimeFrameworkVersion: null,
404+
name: wasmRuntime.Name,
405+
customDotNetCliPath: options.CliPath?.FullName,
406+
packagesPath: options.RestorePath?.FullName,
407+
timeout: timeOut ?? NetCoreAppSettings.DefaultBuildTimeout,
408+
customRuntimePack: options.CustomRuntimePack));
409+
410+
return baseJob.WithRuntime(wasmRuntime).WithToolchain(toolChain);
411+
}
412+
403413
private static IEnumerable<IFilter> GetFilters(CommandLineOptions options)
404414
{
405415
if (options.Filters.Any())

0 commit comments

Comments
 (0)