Skip to content

Commit

Permalink
Merge pull request #759 from nunit/Issue758
Browse files Browse the repository at this point in the history
Adding support NonTestAssemblyAttribute
  • Loading branch information
OsirisTerje committed Jun 7, 2020
2 parents f3d9f51 + 45b3af4 commit 697721f
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 7 deletions.
7 changes: 7 additions & 0 deletions src/NUnitTestAdapter/AdapterSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ public interface IAdapterSettings
bool FreakMode { get; }
DisplayNameOptions DisplayName { get; }
char FullnameSeparator { get; }
bool SkipNonTestAssemblies { get; }

void Load(IDiscoveryContext context);
void Load(string settingsXml);
Expand Down Expand Up @@ -212,6 +213,8 @@ public AdapterSettings(TestLogger logger)
public int ConsoleOut { get; private set; }
public bool StopOnError { get; private set; }

public bool SkipNonTestAssemblies { get; private set; }


public VsTestCategoryType VsTestCategoryType { get; private set; } = VsTestCategoryType.NUnit;

Expand Down Expand Up @@ -309,6 +312,10 @@ public void Load(string settingsXml)
ConsoleOut = GetInnerTextAsInt(nunitNode, nameof(ConsoleOut), 1); // 0 no output to console, 1 : output to console
StopOnError = GetInnerTextAsBool(nunitNode, nameof(StopOnError), false);

// Engine settings
SkipNonTestAssemblies = GetInnerTextAsBool(nunitNode, nameof(SkipNonTestAssemblies), true);


// Adapter Diagnostics
DumpXmlTestDiscovery = GetInnerTextAsBool(nunitNode, nameof(DumpXmlTestDiscovery), false);
DumpXmlTestResults = GetInnerTextAsBool(nunitNode, nameof(DumpXmlTestResults), false);
Expand Down
3 changes: 3 additions & 0 deletions src/NUnitTestAdapter/NUnitTestAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,9 @@ protected TestPackage CreateTestPackage(string assemblyName, IGrouping<string, T

if (Settings.StopOnError)
package.Settings[PackageSettings.StopOnError] = true;

if (Settings.SkipNonTestAssemblies)
package.Settings[PackageSettings.SkipNonTestAssemblies] = true;

// Always run one assembly at a time in process in its own domain
package.Settings[PackageSettings.ProcessModel] = "InProcess";
Expand Down
2 changes: 2 additions & 0 deletions src/NUnitTestAdapter/PackageSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ public static class PackageSettings
/// </summary>
public const string WorkDirectory = "WorkDirectory";

public const string SkipNonTestAssemblies = nameof(SkipNonTestAssemblies);

#endregion

#region Engine Settings - Used by the Engine itself
Expand Down
8 changes: 4 additions & 4 deletions src/NUnitTestAdapterTests/Fakes/FakeRunSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ ISettingsProvider IRunSettings.GetSettings(string settingsName)
throw new NotImplementedException();
}

public virtual string SettingsXml => "<RunSettings/>";
public virtual string SettingsXml => "<RunSettings><NUnit><SkipNonTestAssemblies>false</SkipNonTestAssemblies></NUnit></RunSettings>";
}

class FakeRunSettingsForTestOutput : FakeRunSettings
{
public override string SettingsXml => "<RunSettings><NUnit><TestOutputXml>TestResults</TestOutputXml></NUnit></RunSettings>";
public override string SettingsXml => "<RunSettings><NUnit><TestOutputXml>TestResults</TestOutputXml><SkipNonTestAssemblies>false</SkipNonTestAssemblies></NUnit></RunSettings>";
}

class FakeRunSettingsForTestOutputAndWorkDir : FakeRunSettings
Expand All @@ -51,7 +51,7 @@ public FakeRunSettingsForTestOutputAndWorkDir(string testOutput, string workDir)
_workDir = workDir;
_testOutput = testOutput;
}
public override string SettingsXml => $"<RunSettings><NUnit><WorkDirectory>{_workDir}</WorkDirectory><TestOutputXml>{_testOutput}</TestOutputXml></NUnit></RunSettings>";
public override string SettingsXml => $"<RunSettings><NUnit><WorkDirectory>{_workDir}</WorkDirectory><TestOutputXml>{_testOutput}</TestOutputXml><SkipNonTestAssemblies>false</SkipNonTestAssemblies></NUnit></RunSettings>";
}

class FakeRunSettingsForWhere : FakeRunSettings
Expand All @@ -62,6 +62,6 @@ public FakeRunSettingsForWhere(string where)
{
_where = where;
}
public override string SettingsXml => $"<RunSettings><NUnit><Where>{_where}</Where></NUnit></RunSettings>";
public override string SettingsXml => $"<RunSettings><NUnit><Where>{_where}</Where><SkipNonTestAssemblies>false</SkipNonTestAssemblies></NUnit></RunSettings>";
}
}
4 changes: 2 additions & 2 deletions src/NUnitTestAdapterTests/TestDiscoveryTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ internal static class TestDiscoveryDataProvider
{
public static IEnumerable<IDiscoveryContext> TestDiscoveryData()
{
yield return new FakeDiscoveryContext(null);
// yield return new FakeDiscoveryContext(null);
yield return new FakeDiscoveryContext(new FakeRunSettings());
}
}
Expand Down Expand Up @@ -67,7 +67,7 @@ public void LoadMockassembly()
Assert.That(NUnit.Tests.Assemblies.MockAssembly.TestsAtRuntime, Is.EqualTo(NUnit.Tests.Assemblies.MockAssembly.Tests),
"The reference to mock-assembly.dll appears to be the wrong version");
Assert.That(File.Exists(MockAssemblyPath), $"Can't locate mock-assembly.dll at {MockAssemblyPath}");
var runsettings = "<RunSettings><NUnit><UseParentFQNForParametrizedTests>True</UseParentFQNForParametrizedTests></NUnit></RunSettings>";
var runsettings = "<RunSettings><NUnit><UseParentFQNForParametrizedTests>True</UseParentFQNForParametrizedTests><SkipNonTestAssemblies>false</SkipNonTestAssemblies></NUnit></RunSettings>";
var rs = Substitute.For<IRunSettings>();
rs.SettingsXml.Returns(runsettings);
_context.RunSettings.Returns(rs);
Expand Down
1 change: 0 additions & 1 deletion src/NUnitTestAdapterTests/TestExecutionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
using NUnit.Framework;
using NUnit.Tests;
using NUnit.Tests.Assemblies;
using NUnit.Tests.Singletons;
using NUnit.VisualStudio.TestAdapter.Tests.Fakes;

namespace NUnit.VisualStudio.TestAdapter.Tests
Expand Down
3 changes: 3 additions & 0 deletions src/mock-assembly/Assembly.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
using NUnit.Framework;

[assembly: NonTestAssembly]

0 comments on commit 697721f

Please sign in to comment.