Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP Dependencies #809

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
2 changes: 1 addition & 1 deletion build.cake
Expand Up @@ -13,7 +13,7 @@ var configuration = Argument("configuration", "Release");
//////////////////////////////////////////////////////////////////////

var version = "4.0.0";
var modifier = "-beta.1";
var modifier = "-beta.24";

var dbgSuffix = configuration.ToLower() == "debug" ? "-dbg" : "";
var packageVersion = version + modifier + dbgSuffix;
Expand Down
80 changes: 43 additions & 37 deletions nuget/NUnit3TestAdapter.nuspec
@@ -1,45 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>NUnit3TestAdapter</id>
<version>$version$</version>
<title>NUnit 3 Test Adapter for Visual Studio and DotNet</title>
<authors>Charlie Poole, Terje Sandstrom</authors>
<license type="expression">MIT</license>
<projectUrl>https://github.com/nunit/docs/wiki/Visual-Studio-Test-Adapter</projectUrl>
<repository type="git" url="https://github.com/nunit/nunit3-vs-adapter"/>
<iconUrl>https://cdn.rawgit.com/nunit/resources/master/images/icon/nunit_256.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit 3 adapter for running tests in Visual Studio and DotNet. Works with NUnit 3.x, use the NUnit 2 adapter for 2.x tests.</summary>
<description>
The NUnit3 TestAdapter for Visual Studio, all versions from 2012 and onwards, and DotNet (incl. .Net core).
<metadata>
<id>NUnit3TestAdapter</id>
<version>$version$</version>
<title>NUnit 3 Test Adapter for Visual Studio and DotNet</title>
<authors>Charlie Poole, Terje Sandstrom</authors>
<license type="expression">MIT</license>
<projectUrl>https://github.com/nunit/docs/wiki/Visual-Studio-Test-Adapter</projectUrl>
<repository type="git" url="https://github.com/nunit/nunit3-vs-adapter"/>
<iconUrl>https://cdn.rawgit.com/nunit/resources/master/images/icon/nunit_256.png</iconUrl>

<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit 3 adapter for running tests in Visual Studio and DotNet. Works with NUnit 3.x, use the NUnit 2 adapter for 2.x tests.</summary>
<description>
The NUnit3 TestAdapter for Visual Studio, all versions from 2012 and onwards, and DotNet (incl. .Net core).

Note that this package ONLY contains the adapter, not the NUnit framework.
For VS 2017 and forward, you should add this package to every test project in your solution. (Earlier versions only require a single adapter package per solution.)
Note that this package ONLY contains the adapter, not the NUnit framework.
For VS 2017 and forward, you should add this package to every test project in your solution. (Earlier versions only require a single adapter package per solution.)

Note that with this package you should not install the VSIX adapter package.
</description>
<releaseNotes>This release works with NUnit 3.0 and higher only. Also see https://docs.nunit.org/articles/vs-test-adapter/Adapter-Release-Notes.html </releaseNotes>
<copyright>Copyright (c) 2011-2020 Charlie Poole, 2014-2020 Terje Sandstrom</copyright>
<language>en-US</language>
<tags>test visualstudio testadapter nunit nunit3 dotnet</tags>
Note that with this package you should not install the VSIX adapter package.
</description>
<releaseNotes>This release works with NUnit 3.0 and higher only. Also see https://docs.nunit.org/articles/vs-test-adapter/Adapter-Release-Notes.html </releaseNotes>
<copyright>Copyright (c) 2011-2021 Charlie Poole, 2014-2021 Terje Sandstrom</copyright>
<language>en-US</language>
<tags>test visualstudio testadapter nunit nunit3 dotnet</tags>

<developmentDependency>false</developmentDependency>
</metadata>
<files>
<file src="build\net35\NUnit3.TestAdapter.dll" target="build\net35\NUnit3.TestAdapter.dll" />
<file src="build\net35\NUnit3.TestAdapter.pdb" target="build\net35\NUnit3.TestAdapter.pdb" />
<file src="build\net35\nunit.engine.dll" target="build\net35\nunit.engine.dll" />
<file src="build\net35\nunit.engine.api.dll" target="build\net35\nunit.engine.api.dll" />
<file src="build\net35\nunit.engine.core.dll" target="build\net35\nunit.engine.core.dll" />
<file src="build\net35\NUnit3TestAdapter.props" target="build\net35\NUnit3TestAdapter.props" />
<developmentDependency>false</developmentDependency>
<dependencies>
<dependency id="NUnit" version="[3.12,)" />
<dependency id="NUnit.Engine" version="[3.11.1,)"/>
</dependencies>
</metadata>

<files>
<file src="build\net35\NUnit3.TestAdapter.dll" target="build\net35\NUnit3.TestAdapter.dll" />
<file src="build\net35\NUnit3.TestAdapter.pdb" target="build\net35\NUnit3.TestAdapter.pdb" />
<!--<file src="build\net35\nunit.engine.dll" target="build\net35\nunit.engine.dll" />
<file src="build\net35\nunit.engine.api.dll" target="build\net35\nunit.engine.api.dll" />
<file src="build\net35\nunit.engine.core.dll" target="build\net35\nunit.engine.core.dll" />-->
<file src="build\net35\NUnit3TestAdapter.props" target="build\net35\NUnit3TestAdapter.props" />

<file src="build\netcoreapp2.1\NUnit3.TestAdapter.dll" target="build\netcoreapp2.1\NUnit3.TestAdapter.dll" />
<file src="build\netcoreapp2.1\NUnit3.TestAdapter.pdb" target="build\netcoreapp2.1\NUnit3.TestAdapter.pdb" />
<file src="build\netcoreapp2.1\nunit.engine.dll" target="build\netcoreapp2.1\nunit.engine.dll" />
<file src="build\netcoreapp2.1\nunit.engine.api.dll" target="build\netcoreapp2.1\nunit.engine.api.dll" />
<file src="build\netcoreapp2.1\nunit.engine.core.dll" target="build\netcoreapp2.1\nunit.engine.core.dll" />
<file src="build\netcoreapp2.1\NUnit3TestAdapter.props" target="build\netcoreapp2.1\NUnit3TestAdapter.props" />
<file src="build\netcoreapp2.1\NUnit3.TestAdapter.dll" target="build\netcoreapp2.1\NUnit3.TestAdapter.dll" />
<file src="build\netcoreapp2.1\NUnit3.TestAdapter.pdb" target="build\netcoreapp2.1\NUnit3.TestAdapter.pdb" />
<!--<file src="build\netcoreapp2.1\nunit.engine.dll" target="build\netcoreapp2.1\nunit.engine.dll" />
<file src="build\netcoreapp2.1\nunit.engine.api.dll" target="build\netcoreapp2.1\nunit.engine.api.dll" />
<file src="build\netcoreapp2.1\nunit.engine.core.dll" target="build\netcoreapp2.1\nunit.engine.core.dll" />-->
<file src="build\netcoreapp2.1\NUnit3TestAdapter.props" target="build\netcoreapp2.1\NUnit3TestAdapter.props" />

</files>
</files>
</package>
4 changes: 2 additions & 2 deletions nuget/net35/NUnit3TestAdapter.props
Expand Up @@ -11,7 +11,7 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
</None>
<None Include="$(MSBuildThisFileDirectory)nunit.engine.dll">
<!--<None Include="$(MSBuildThisFileDirectory)nunit.engine.dll">
<Link>nunit.engine.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
Expand All @@ -25,6 +25,6 @@
<Link>nunit.engine.core.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
</None>
</None>-->
</ItemGroup>
</Project>
4 changes: 2 additions & 2 deletions nuget/netcoreapp2.1/NUnit3TestAdapter.props
Expand Up @@ -11,7 +11,7 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
</None>
<None Include="$(MSBuildThisFileDirectory)nunit.engine.dll">
<!--<None Include="$(MSBuildThisFileDirectory)nunit.engine.dll">
<Link>nunit.engine.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
Expand All @@ -25,6 +25,6 @@
<Link>nunit.engine.core.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>False</Visible>
</None>
</None>-->
</ItemGroup>
</Project>
12 changes: 6 additions & 6 deletions src/NUnit.TestAdapter.Tests.Acceptance/AcceptanceTests.cs
Expand Up @@ -14,7 +14,7 @@ public abstract class AcceptanceTests
{
public static string NuGetPackageId { get; } = "NUnit3TestAdapter";

public static string NuGetPackageVersion => Initialization.Value.nupkgVersion;
public static string NuGetPackageVersion => Initialization.Value.NupkgVersion;

public const string LowestNetfxTarget = "net35";
public const string LegacyProjectTargetFrameworkVersion = "v3.5";
Expand All @@ -31,7 +31,7 @@ public abstract class AcceptanceTests
"netcoreapp3.1"
};

private static readonly Lazy<(IsolatedWorkspaceManager manager, string nupkgVersion, bool keepWorkspaces)> Initialization = new Lazy<(IsolatedWorkspaceManager, string, bool)>(() =>
private static readonly Lazy<(IsolatedWorkspaceManager Manager, string NupkgVersion, bool KeepWorkspaces)> Initialization = new Lazy<(IsolatedWorkspaceManager, string, bool)>(() =>
{
var directory = TestContext.Parameters["ProjectWorkspaceDirectory"]
?? TryAutoDetectProjectWorkspaceDirectory()
Expand Down Expand Up @@ -75,7 +75,7 @@ protected static IsolatedWorkspace CreateWorkspace()
{
var test = TestContext.CurrentContext?.Test ?? throw new InvalidOperationException("There is no current test.");

var workspace = Initialization.Value.manager.CreateWorkspace(test.Name);
var workspace = Initialization.Value.Manager.CreateWorkspace(test.Name);

lock (WorkspacesByTestId)
{
Expand Down Expand Up @@ -111,11 +111,11 @@ public static void TearDown()

if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
{
Initialization.Value.manager.PreserveDirectory(
Initialization.Value.Manager.PreserveDirectory(
test.FullName + " failed:" + Environment.NewLine
+ TestContext.CurrentContext.Result.Message.TrimEnd() + Environment.NewLine);
}
else if (!Initialization.Value.keepWorkspaces)
else if (!Initialization.Value.KeepWorkspaces)
{
foreach (var workspace in workspaces)
Utils.DeleteDirectoryRobust(workspace.Directory);
Expand All @@ -126,7 +126,7 @@ internal static void OnGlobalTeardown()
{
if (!Initialization.IsValueCreated) return;

Initialization.Value.manager.Dispose();
Initialization.Value.Manager.Dispose();
}

private static string TryAutoDetectProjectWorkspaceDirectory()
Expand Down
Expand Up @@ -75,12 +75,12 @@ public static void Engine_uses_its_bundled_version_of_Mono_Cecil_instead_of_the_
<PackageReference Include='NUnit3TestAdapter' Version='{NuGetPackageVersion}' />
</ItemGroup>
<ItemGroup Condition=""'$(TargetFrameworkIdentifier)' == '.NETFramework'"">
<PackageReference Include='nunit.engine.api' Version='3.9.0' />
<PackageReference Include='nunit.engine.api' Version='3.11.1' />
</ItemGroup>

<ItemGroup Condition=""'$(TargetFrameworkIdentifier)' == '.NETCoreApp'"">
<PackageReference Include='System.Diagnostics.FileVersionInfo' Version='*' />
<PackageReference Include='nunit.engine.netstandard' Version='3.8.0' />
<PackageReference Include='nunit.engine.netstandard' Version='3.11.1' />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -13,7 +13,11 @@
<PackageReference Include="nunit" Version="3.12.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.4" />
<PackageReference Include="NUnit.Analyzers" Version="0.3.0" />
<PackageReference Include="NUnit.Analyzers" Version="0.6.0" />
</ItemGroup>

<ItemGroup>
<PackageReference Update="StyleCop.Analyzers" Version="1.2.0-beta.321" />
</ItemGroup>

</Project>
@@ -1,6 +1,8 @@
using NUnit.Framework;
using NUnit.VisualStudio.TestAdapter.Tests.Acceptance.WorkspaceTools;

#pragma warning disable NUnit1011

namespace NUnit.VisualStudio.TestAdapter.Tests.Acceptance
{
public sealed class SinglePassingTestResultTests : AcceptanceTests
Expand Down Expand Up @@ -301,10 +303,10 @@ public static void Legacy_csproj_with_PackageReference()
</ItemGroup>
<ItemGroup>
<PackageReference Include='Microsoft.NET.Test.Sdk'>
<Version>15.9.0</Version>
<Version>16.8.0</Version>
</PackageReference>
<PackageReference Include='NUnit'>
<Version>3.11.0</Version>
<Version>3.12.0</Version>
</PackageReference>
<PackageReference Include='NUnit3TestAdapter'>
<Version>{nuvers}</Version>
Expand All @@ -315,7 +317,7 @@ public static void Legacy_csproj_with_PackageReference()

AddTestsCs(workspace);

workspace.MSBuild(restore: true);
var compileResults = workspace.MSBuild(restore: true);

var result = workspace.VSTest(@"bin\Debug\Test.dll");
result.AssertSinglePassingTest();
Expand Down Expand Up @@ -421,11 +423,27 @@ private static void AddPackagesConfig(IsolatedWorkspace workspace)
<packages>
<package id='Microsoft.CodeCoverage' version='15.9.0' targetFramework='net45' />
<package id='Microsoft.NET.Test.Sdk' version='15.9.0' targetFramework='net45' />
<package id='NUnit' version='3.11.0' targetFramework='net45' />
<package id='NUnit' version='3.12.0' targetFramework='net45' />
<package id='NUnit3TestAdapter' version='{NuGetPackageVersion}' targetFramework='net45' />
</packages>");
}

private static void AddRunsettings(IsolatedWorkspace workspace)
{
workspace.AddFile(".runsettings", $@"
<?xml version='1.0' encoding='utf - 8'?>
<RunSettings>
<NUnit>
<Verbosity>5</Verbosity>
<DumpXmlTestResults>true</DumpXmlTestResults>
<DumpXmlTestDiscovery>true</DumpXmlTestDiscovery>
<DiscoveryMethod>Current</DiscoveryMethod>
</NUnit>
</RunSettings>
");
}

[Ignore("Not valid for Version 4")]
[Test, Platform("Win")]
public static void Legacy_csproj_with_packages_config()
{
Expand All @@ -434,7 +452,7 @@ public static void Legacy_csproj_with_packages_config()
<?xml version='1.0' encoding='utf-8'?>
<Project ToolsVersion='15.0' xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
<Import Project='packages\NUnit3TestAdapter.{NuGetPackageVersion}\build\{LowestNetfxTarget}\NUnit3TestAdapter.props' Condition=""Exists('packages\NUnit3TestAdapter.{NuGetPackageVersion}\build\{LowestNetfxTarget}\NUnit3TestAdapter.props')"" />
<Import Project='packages\NUnit.3.11.0\build\NUnit.props' Condition=""Exists('packages\NUnit.3.11.0\build\NUnit.props')"" />
<Import Project='packages\NUnit.3.12.0\build\NUnit.props' Condition=""Exists('packages\NUnit.3.12.0\build\NUnit.props')"" />
<Import Project='packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.props' Condition=""Exists('packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.props')"" />
<Import Project='packages\Microsoft.CodeCoverage.15.9.0\build\netstandard1.0\Microsoft.CodeCoverage.props' Condition=""Exists('packages\Microsoft.CodeCoverage.15.9.0\build\netstandard1.0\Microsoft.CodeCoverage.props')"" />
<Import Project='$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props' Condition=""Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"" />
Expand Down Expand Up @@ -473,8 +491,8 @@ public static void Legacy_csproj_with_packages_config()
<Reference Include='Microsoft.VisualStudio.CodeCoverage.Shim, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL'>
<HintPath>packages\Microsoft.CodeCoverage.15.9.0\lib\net45\Microsoft.VisualStudio.CodeCoverage.Shim.dll</HintPath>
</Reference>
<Reference Include='nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL'>
<HintPath>packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
<Reference Include='nunit.framework, Version=3.12.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL'>
<HintPath>packages\NUnit.3.12.0\lib\net45\nunit.framework.dll</HintPath>
</Reference>
<Reference Include='System' />
<Reference Include='System.Core' />
Expand All @@ -498,14 +516,15 @@ public static void Legacy_csproj_with_packages_config()
<Error Condition=""!Exists('packages\Microsoft.CodeCoverage.15.9.0\build\netstandard1.0\Microsoft.CodeCoverage.targets')"" Text=""$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeCoverage.15.9.0\build\netstandard1.0\Microsoft.CodeCoverage.targets'))"" />
<Error Condition=""!Exists('packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.props')"" Text=""$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.props'))"" />
<Error Condition=""!Exists('packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.targets')"" Text=""$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.targets'))"" />
<Error Condition=""!Exists('packages\NUnit.3.11.0\build\NUnit.props')"" Text=""$([System.String]::Format('$(ErrorText)', 'packages\NUnit.3.11.0\build\NUnit.props'))"" />
<Error Condition=""!Exists('packages\NUnit.3.12.0\build\NUnit.props')"" Text=""$([System.String]::Format('$(ErrorText)', 'packages\NUnit.3.12.0\build\NUnit.props'))"" />
<Error Condition=""!Exists('packages\NUnit3TestAdapter.{NuGetPackageVersion}\build\{LowestNetfxTarget}\NUnit3TestAdapter.props')"" Text=""$([System.String]::Format('$(ErrorText)', 'packages\NUnit3TestAdapter.{NuGetPackageVersion}\build\{LowestNetfxTarget}\NUnit3TestAdapter.props'))"" />
</Target>
<Import Project='packages\Microsoft.CodeCoverage.15.9.0\build\netstandard1.0\Microsoft.CodeCoverage.targets' Condition=""Exists('packages\Microsoft.CodeCoverage.15.9.0\build\netstandard1.0\Microsoft.CodeCoverage.targets')"" />
<Import Project='packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.targets' Condition=""Exists('packages\Microsoft.NET.Test.Sdk.15.9.0\build\net45\Microsoft.Net.Test.Sdk.targets')"" />
</Project>");

AddPackagesConfig(workspace);
AddRunsettings(workspace);
AddTestsCs(workspace);

workspace.NuGetRestore(packagesDirectory: "packages");
Expand All @@ -516,6 +535,7 @@ public static void Legacy_csproj_with_packages_config()
.AssertSinglePassingTest();
}

[Ignore("Not valid for Version 4")]
[Test, Platform("Win")]
public static void Legacy_vbproj_with_packages_config()
{
Expand Down Expand Up @@ -619,6 +639,7 @@ public static void Legacy_vbproj_with_packages_config()
</Project>");

AddPackagesConfig(workspace);
AddRunsettings(workspace);
AddTestsVb(workspace);

workspace.NuGetRestore(packagesDirectory: "packages");
Expand Down