Skip to content

Commit 619c107

Browse files
authored
Add new setting RunnerExtraArguments to runsettings (#270)
1 parent 5b9d556 commit 619c107

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

poc/TestOfTestFramework/nano.runsettings

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
<IsRealHardware>False</IsRealHardware><!--Set to true to run tests on real hardware. -->
1313
<CLRVersion></CLRVersion><!--Specify the nanoCLR version to use. If not specified, the latest available will be used. -->
1414
<PathToLocalCLRInstance></PathToLocalCLRInstance><!--Specify the path to a local nanoCLR instance. If not specified, the default one installed with nanoclr CLR witll be used. -->
15+
<RunnerExtraArguments></RunnerExtraArguments><!--Specify extra arguments to pass to the test runner. -->
1516
</nanoFrameworkAdapter>
16-
</RunSettings>
17+
</RunSettings>

poc/TestOfTestFrameworkByReference/nano.runsettings

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@
1313
<nanoFrameworkAdapter>
1414
<Logging>None</Logging>
1515
<IsRealHardware>False</IsRealHardware>
16+
<RunnerExtraArguments></RunnerExtraArguments><!--Specify extra arguments to pass to the test runner. -->
1617
</nanoFrameworkAdapter>
17-
</RunSettings>
18+
</RunSettings>

source/TestAdapter/Executor.cs

+6
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,12 @@ private async Task<List<TestResult>> RunTestOnEmulatorAsync(
670670
arguments.Append(" -v diag");
671671
}
672672

673+
// add any extra arguments
674+
if (!string.IsNullOrEmpty(_settings.RunnerExtraArguments))
675+
{
676+
arguments.Append($" {_settings.RunnerExtraArguments} ");
677+
}
678+
673679
_logger.LogMessage(
674680
$"Launching nanoCLR with these arguments: '{arguments}'",
675681
Settings.LoggingLevel.Verbose);

source/TestAdapter/Settings.cs

+11
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ public class Settings
3939
/// </summary>
4040
public LoggingLevel Logging { get; set; } = LoggingLevel.None;
4141

42+
/// <summary>
43+
/// Extra arguments to pass to the test runner.
44+
/// </summary>
45+
public string RunnerExtraArguments { get; set; } = string.Empty;
46+
4247
/// <summary>
4348
/// Get settings from an XML node
4449
/// </summary>
@@ -82,6 +87,12 @@ public static Settings Extract(XmlNode node)
8287
{
8388
settings.PathToLocalCLRInstance = pathtolocalclrinstance.Value;
8489
}
90+
91+
var runnerExtraArguments = node.SelectSingleNode(nameof(RunnerExtraArguments))?.FirstChild;
92+
if (runnerExtraArguments != null && runnerExtraArguments.NodeType == XmlNodeType.Text)
93+
{
94+
settings.RunnerExtraArguments = runnerExtraArguments.Value;
95+
}
8596
}
8697

8798
return settings;

0 commit comments

Comments
 (0)