Skip to content

Commit

Permalink
Merge pull request #71 from nunit/release-3.0-ctp-6
Browse files Browse the repository at this point in the history
Release 3.0 ctp 6
  • Loading branch information
rprouse committed Nov 11, 2015
2 parents 3c991bd + d31bcf8 commit eb61f08
Show file tree
Hide file tree
Showing 17 changed files with 87 additions and 101 deletions.
Binary file modified NUnit3TestAdapter.sln
Binary file not shown.
4 changes: 2 additions & 2 deletions demo/NUnitTestDemo/NUnit3TestDemo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework, Version=3.0.5674.19278, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<Reference Include="nunit.framework, Version=3.0.5790.16288, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\NUnit.3.0.0-beta-3\lib\net45\nunit.framework.dll</HintPath>
<HintPath>..\packages\NUnit.3.0.0-rc-2\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
Expand Down
2 changes: 1 addition & 1 deletion demo/NUnitTestDemo/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="3.0.0-beta-3" targetFramework="net45" />
<package id="NUnit" version="3.0.0-rc-2" targetFramework="net45" />
</packages>
2 changes: 1 addition & 1 deletion nunit3-vs-adapter.build
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@


<!-- Set version number for package -->
<property name="package.version" value="3.0.5-ctp-5"/>
<property name="package.version" value="3.0.6-ctp-6"/>

<!-- Define package name, including version -->
<property name="package.base.name" value="NUnit3TestAdapter"/>
Expand Down
25 changes: 19 additions & 6 deletions src/NUnitTestAdapter/NUnit3TestExecutor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Xml;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
Expand Down Expand Up @@ -76,6 +77,8 @@ public void RunTests(IEnumerable<string> sources, IRunContext runContext, IFrame
}
catch (Exception ex)
{
if (ex is TargetInvocationException)
ex = ex.InnerException;
TestLog.SendErrorMessage("Exception thrown executing tests", ex);
}
finally
Expand Down Expand Up @@ -223,21 +226,31 @@ private void RunAssembly(string assemblyName, IFrameworkHandle frameworkHandle)
}
catch (Exception ex)
{
if (ex is TargetInvocationException)
ex = ex.InnerException;
TestLog.SendErrorMessage("Exception thrown executing tests in " + assemblyName, ex);
}
_testRunner.Dispose();
}

private static TestFilter MakeTestFilter(IEnumerable<TestCase> testCases)
private TestFilter MakeTestFilter(IEnumerable<TestCase> testCases)
{
var testFilter = new StringBuilder("<filter><tests>");
ITestFilterService filterService = TestEngine.Services.GetService<ITestFilterService>();
if (filterService == null)
throw new NUnitEngineException("TestFilterService is not available. Engine in use is incorrect version.");

foreach (TestCase testCase in testCases)
testFilter.AppendFormat("<test>{0}</test>", testCase.FullyQualifiedName.Replace("<", "&lt;").Replace(">", "&gt;"));
ITestFilterBuilder filterBuilder = filterService.GetTestFilterBuilder();

testFilter.Append("</tests></filter>");
foreach (TestCase testCase in testCases)
{
string testName = testCase.FullyQualifiedName
.Replace("<", "&lt;")
.Replace(">", "&gt;")
.Replace("&", "&amp;");
filterBuilder.AddTest(testName);
}

return new TestFilter(testFilter.ToString());
return filterBuilder.GetFilter();
}

#endregion
Expand Down
32 changes: 19 additions & 13 deletions src/NUnitTestAdapter/NUnitTestAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
// Copyright (c) 2011-2015 NUnit Software. All rights reserved.
// ****************************************************************

//#define VERBOSE

using System;
using System.Diagnostics;
using System.IO;
Expand All @@ -18,16 +20,16 @@ namespace NUnit.VisualStudio.TestAdapter
/// </summary>
public abstract class NUnitTestAdapter
{
#region Properties

// The adapter version
private string _adapterVersion;
private string AdapterVersion { get; set; }

// Verbosity in effect for message logging
private int _verbosity;
private int Verbosity { get; set; }

// True if files should be shadow-copied
private bool _shadowCopy;

#region Properties
private bool ShadowCopy { get; set; }

protected ITestEngine TestEngine { get; private set; }

Expand Down Expand Up @@ -66,15 +68,19 @@ public static bool IsRunningUnderIDE
// each Discover or Execute method must call this method.
protected virtual void Initialize(IMessageLogger messageLogger)
{
_verbosity = 0; // In case we throw below
_adapterVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
Verbosity = 0; // In case we throw below
AdapterVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();

try
{
var registry = RegistryCurrentUser.OpenRegistryCurrentUser(@"Software\nunit.org\VSAdapter");
UseVsKeepEngineRunning = registry.Exist("UseVsKeepEngineRunning") && (registry.Read<int>("UseVsKeepEngineRunning") == 1);
_shadowCopy = registry.Exist("ShadowCopy") && (registry.Read<int>("ShadowCopy") == 1);
_verbosity = (registry.Exist("Verbosity")) ? registry.Read<int>("Verbosity") : 0;
ShadowCopy = registry.Exist("ShadowCopy") && (registry.Read<int>("ShadowCopy") == 1);
#if DEBUG && VERBOSE
Verbosity = 1;
#else
Verbosity = (registry.Exist("Verbosity")) ? registry.Read<int>("Verbosity") : 0;
#endif
}
catch (Exception e)
{
Expand All @@ -83,14 +89,14 @@ protected virtual void Initialize(IMessageLogger messageLogger)
}

TestEngine = new TestEngine();
TestLog = new TestLogger(messageLogger, _verbosity);
TestLog = new TestLogger(messageLogger, Verbosity);
}

protected ITestRunner GetRunnerFor(string assemblyName)
{
var package = new TestPackage(assemblyName);

if (_shadowCopy)
if (ShadowCopy)
{
package.Settings["ShadowCopyFiles"] = "true";
TestLog.SendDebugMessage(" Setting ShadowCopyFiles to true");
Expand All @@ -111,14 +117,14 @@ protected ITestRunner GetRunnerFor(string assemblyName)

protected void Info(string method, string function)
{
var msg = string.Format("NUnit Adapter {0} {1} is {2}", _adapterVersion, method, function);
var msg = string.Format("NUnit Adapter {0} {1} is {2}", AdapterVersion, method, function);
TestLog.SendInformationalMessage(msg);
}

protected void Debug(string method, string function)
{
#if DEBUG
var msg = string.Format("NUnit Adapter {0} {1} is {2}", _adapterVersion, method, function);
var msg = string.Format("NUnit Adapter {0} {1} is {2}", AdapterVersion, method, function);
TestLog.SendDebugMessage(msg);
#endif
}
Expand Down
4 changes: 2 additions & 2 deletions src/NUnitTestAdapter/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@
[assembly: ComVisible(false)]

[assembly: Guid("c0aad5e4-b486-49bc-b3e8-31e01be6fefe")]
[assembly: AssemblyVersion("3.0.5.0")]
[assembly: AssemblyFileVersion("3.0.5.0")]
[assembly: AssemblyVersion("3.0.6.0")]
[assembly: AssemblyFileVersion("3.0.6.0")]
36 changes: 19 additions & 17 deletions src/NUnitTestAdapter/TestLogger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,16 @@ namespace NUnit.VisualStudio.TestAdapter
/// </summary>
public class TestLogger : IMessageLogger
{
private IMessageLogger _messageLogger;
private const string EXCEPTION_FORMAT = "Exception {0}, {1}";

private int _verbosity;
private IMessageLogger MessageLogger { get; set; }

private int Verbosity { get; set; }

public TestLogger(IMessageLogger messageLogger, int verbosity)
{
_messageLogger = messageLogger;
_verbosity = verbosity;
MessageLogger = messageLogger;
Verbosity = verbosity;
}

public void AssemblyNotSupportedWarning(string sourceAssembly)
Expand Down Expand Up @@ -56,15 +58,15 @@ public void SendErrorMessage(string message)

public void SendErrorMessage(string message, Exception ex)
{

switch (_verbosity)
switch (Verbosity)
{
case 0:
var type = ex.GetType();
SendErrorMessage(string.Format("Exception {0}, {1}",type, message));
Type type = ex.GetType();
SendErrorMessage(string.Format(EXCEPTION_FORMAT, type, message));
SendErrorMessage(ex.Message);
break;
default:
SendMessage(TestMessageLevel.Error, message);
SendErrorMessage(message);
SendErrorMessage(ex.ToString());
break;
}
Expand All @@ -77,17 +79,17 @@ public void SendWarningMessage(string message)

public void SendWarningMessage(string message,Exception ex)
{
string fmt = "Exception {0}, {1}";
var type = ex.GetType();

switch (_verbosity)
switch (Verbosity)
{
case 0:
SendMessage(TestMessageLevel.Warning, string.Format(fmt, type, ex.Message));
var type = ex.GetType();
SendWarningMessage(string.Format(EXCEPTION_FORMAT, type, message));
SendWarningMessage(ex.Message);
break;

default:
SendMessage(TestMessageLevel.Warning, string.Format(fmt, type, ex.ToString()));
SendWarningMessage(message);
SendWarningMessage(ex.ToString());
break;
}

Expand All @@ -108,8 +110,8 @@ public void SendDebugMessage(string message)

public void SendMessage(TestMessageLevel testMessageLevel, string message)
{
if (_messageLogger != null)
_messageLogger.SendMessage(testMessageLevel, message);
if (MessageLogger != null)
MessageLogger.SendMessage(testMessageLevel, message);
}
}
}
2 changes: 1 addition & 1 deletion src/NUnitTestAdapterInstall/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Identifier Id="NUnit.NUnit3TestAdapter">
<Name>NUnit3 Test Adapter</Name>
<Author>Charlie Poole</Author>
<Version>3.0.5.0</Version>
<Version>3.0.6.0</Version>
<Description xml:space="preserve">NUnit 3.0 adapter for integrated test execution under Visual Studio 2012 (all updates), Visual Studio 2013 (all updates), and the Visual Studio 2015 Preview and CTPs. Compatible with NUnit 3.0.</Description>
<Locale>1033</Locale>
<MoreInfoUrl>http://nunit.org/index.php?p=vsTestAdapter&amp;r=3.0</MoreInfoUrl>
Expand Down
11 changes: 6 additions & 5 deletions src/NUnitTestAdapterTests/NUnit3TestAdapterTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,15 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>$(MSBuildProgramFiles32)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll</HintPath>
</Reference>
<Reference Include="mock-assembly">
<HintPath>..\mock-assembly\bin\Release\mock-assembly.dll</HintPath>
</Reference>
<Reference Include="nunit.engine">
<HintPath>..\..\lib\nunit.engine.dll</HintPath>
</Reference>
<Reference Include="nunit.engine.api">
<HintPath>..\..\lib\nunit.engine.api.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.0.5674.19278, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<Reference Include="nunit.framework, Version=3.0.5790.16288, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\packages\NUnit.3.0.0-beta-3\lib\net45\nunit.framework.dll</HintPath>
<HintPath>..\..\packages\NUnit.3.0.0-rc-2\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down Expand Up @@ -98,6 +95,10 @@
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\mock-assembly\mock-assembly.csproj">
<Project>{2e368281-3ba8-4050-b05e-0e0e43f8f446}</Project>
<Name>mock-assembly</Name>
</ProjectReference>
<ProjectReference Include="..\NUnitTestAdapter\NUnit3TestAdapter.csproj">
<Project>{8a85e26a-c706-48b1-bc36-06ebde3efd25}</Project>
<Name>NUnit3TestAdapter</Name>
Expand Down
2 changes: 1 addition & 1 deletion src/NUnitTestAdapterTests/TestDiscoveryTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class TestDiscoveryTests : IMessageLogger, ITestCaseDiscoverySink
public void LoadMockassembly()
{
// Sanity check to be sure we have the correct version of mock-assembly.dll
Assert.That(NUnit.Tests.Assemblies.MockAssembly.Tests, Is.EqualTo(35),
Assert.That(NUnit.Tests.Assemblies.MockAssembly.Tests, Is.EqualTo(31),
"The reference to mock-assembly.dll appears to be the wrong version");

// Load the NUnit mock-assembly.dll once for this test, saving
Expand Down
18 changes: 8 additions & 10 deletions src/NUnitTestAdapterTests/TestExecutionTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@ namespace NUnit.VisualStudio.TestAdapter.Tests
[Category("TestExecution")]
public class TestExecutionTests
{
// This constant compensates for the fact that that no
// events are sent for such tests.
private static readonly int TestsUnderBadOrIgnoredFixtures = BadFixture.Tests + IgnoredFixture.Tests;

private string MockAssemblyPath;
static readonly IRunContext Context = new FakeRunContext();

Expand All @@ -38,7 +34,7 @@ public void LoadMockassembly()
MockAssemblyPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "mock-assembly.dll");

// Sanity check to be sure we have the correct version of mock-assembly.dll
Assert.That(MockAssembly.Tests, Is.EqualTo(35),
Assert.That(MockAssembly.Tests, Is.EqualTo(31),
"The reference to mock-assembly.dll appears to be the wrong version");
new List<TestCase>();
testResults = new List<TestResult>();
Expand Down Expand Up @@ -72,9 +68,11 @@ public void DumpEvents()
public void CorrectNumberOfTestCasesWereStarted()
{
const FakeFrameworkHandle.EventType eventType = FakeFrameworkHandle.EventType.RecordStart;
foreach (var ev in testLog.Events.FindAll(e => e.EventType == eventType))
Console.WriteLine(ev.TestCase.DisplayName);
Assert.That(
testLog.Events.FindAll(e => e.EventType == eventType).Count,
Is.EqualTo(MockAssembly.ResultCount - TestsUnderBadOrIgnoredFixtures));
Is.EqualTo(MockAssembly.ResultCount - BadFixture.Tests - IgnoredFixture.Tests - ExplicitFixture.Tests));
}

[Test]
Expand All @@ -83,7 +81,7 @@ public void CorrectNumberOfTestCasesWereEnded()
const FakeFrameworkHandle.EventType eventType = FakeFrameworkHandle.EventType.RecordEnd;
Assert.That(
testLog.Events.FindAll(e => e.EventType == eventType).Count,
Is.EqualTo(MockAssembly.ResultCount - TestsUnderBadOrIgnoredFixtures));
Is.EqualTo(MockAssembly.ResultCount));
}

[Test]
Expand All @@ -92,15 +90,15 @@ public void CorrectNumberOfResultsWereReceived()
const FakeFrameworkHandle.EventType eventType = FakeFrameworkHandle.EventType.RecordResult;
Assert.That(
testLog.Events.FindAll(e => e.EventType == eventType).Count,
Is.EqualTo(MockAssembly.ResultCount - BadFixture.Tests));
Is.EqualTo(MockAssembly.ResultCount));
}

static readonly TestCaseData[] outcomes =
{
// NOTE: One inconclusive test is reported as None
new TestCaseData(TestOutcome.Passed).Returns(MockAssembly.Success),
new TestCaseData(TestOutcome.Failed).Returns(MockAssembly.ErrorsAndFailures - BadFixture.Tests),
new TestCaseData(TestOutcome.Skipped).Returns(MockAssembly.Ignored),
new TestCaseData(TestOutcome.Failed).Returns(MockAssembly.ErrorsAndFailures),
new TestCaseData(TestOutcome.Skipped).Returns(MockAssembly.Ignored + MockAssembly.Explicit),
new TestCaseData(TestOutcome.None).Returns(1),
new TestCaseData(TestOutcome.NotFound).Returns(0)
};
Expand Down
2 changes: 1 addition & 1 deletion src/NUnitTestAdapterTests/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="nunit.framework" publicKeyToken="2638cd05610744eb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.5610.33194" newVersion="3.0.5610.33194" />
<bindingRedirect oldVersion="0.0.0.0-3.0.5790.16288" newVersion="3.0.5790.16288" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down
2 changes: 1 addition & 1 deletion src/NUnitTestAdapterTests/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NUnit" version="3.0.0-beta-3" targetFramework="net45" />
<package id="NUnit" version="3.0.0-rc-2" targetFramework="net45" />
</packages>

0 comments on commit eb61f08

Please sign in to comment.