зеркало из
1
0
Форкнуть 0

Moved nunit.portable.agent to a new repo, truncated history and deleted most of the extra files. More cleanup to come

This commit is contained in:
Rob Prouse 2016-06-15 13:00:01 -04:00
Родитель 3aed6ec171
Коммит 5409ca837b
1005 изменённых файлов: 103 добавлений и 154383 удалений

Просмотреть файл

@ -1,28 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mock-cpp-clr-x64", "src\NUnitEngine\mock-cpp-clr\mock-cpp-clr-x64.vcxproj", "{FFF45826-991F-465B-8A03-0E1DB7E8F38C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mock-cpp-clr-x86", "src\NUnitEngine\mock-cpp-clr\mock-cpp-clr-x86.vcxproj", "{11640C9F-03A3-456B-848D-9B4A126F9506}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Release|Mixed Platforms = Release|Mixed Platforms
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FFF45826-991F-465B-8A03-0E1DB7E8F38C}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
{FFF45826-991F-465B-8A03-0E1DB7E8F38C}.Debug|Mixed Platforms.Build.0 = Debug|x64
{FFF45826-991F-465B-8A03-0E1DB7E8F38C}.Release|Mixed Platforms.ActiveCfg = Release|x64
{FFF45826-991F-465B-8A03-0E1DB7E8F38C}.Release|Mixed Platforms.Build.0 = Release|x64
{11640C9F-03A3-456B-848D-9B4A126F9506}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{11640C9F-03A3-456B-848D-9B4A126F9506}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{11640C9F-03A3-456B-848D-9B4A126F9506}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{11640C9F-03A3-456B-848D-9B4A126F9506}.Release|Mixed Platforms.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,33 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Engine</id>
<title>NUnit Test Engine</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>The NUnit Test Engine is used by runners to discover and execute tests.</summary>
<description>This package includes nunit.engine and related assemblies, for use by runner programs. It is not intended for direct use by users who simply want to run tests.</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd engine</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin\nunit.engine.dll" target="lib" />
<file src="bin\nunit.engine.api.dll" target="lib" />
<file src="bin\Mono.Cecil.dll" target="lib" />
<file src="bin\nunit-agent.exe" target="lib" />
<file src="bin\nunit-agent.exe.config" target="lib" />
<file src="bin\nunit-agent-x86.exe" target="lib" />
<file src="bin\nunit-agent-x86.exe.config" target="lib" />
<file src="..\..\nuget\engine\nunit.nuget.addins" target="lib"/>
</files>
</package>

Просмотреть файл

@ -1,34 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Engine.Tool</id>
<title>NUnit Test Engine (Tool)</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>The NUnit Test Engine is used by runners to discover and execute tests.</summary>
<description>This package includes nunit.engine and related assemblies, for use by runner programs. It is not intended for direct use by users who simply want to run tests.</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd engine</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin\nunit.engine.api.dll" target="lib" />
<file src="bin\nunit.engine.api.dll" target="tools" />
<file src="bin\nunit.engine.dll" target="tools" />
<file src="bin\Mono.Cecil.dll" target="tools" />
<file src="bin\nunit-agent.exe" target="tools" />
<file src="bin\nunit-agent.exe.config" target="tools" />
<file src="bin\nunit-agent-x86.exe" target="tools" />
<file src="bin\nunit-agent-x86.exe.config" target="tools" />
<file src="..\..\nuget\engine\nunit.nuget.addins" target="tools"/>
</files>
</package>

Просмотреть файл

@ -1 +0,0 @@
../../NUnit.Extension.*/tools/

Просмотреть файл

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Extension.NUnitProjectLoader</id>
<title>NUnit 3 - NUnit Project Loader Extension</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit Engine extension for loading NUnit projects.</summary>
<description>This extension allows NUnit to recognize and load NUnit projects, file type .nunit.</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="bin\addins\nunit-project-loader.dll" target="tools"/>
</files>
</package>

Просмотреть файл

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Extension.NUnitV2ResultWriter</id>
<title>NUnit 3 - NUnit V2 Result Writer Extension</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit Engine extension for writing test result files in NUnit V2 format.</summary>
<description>This extension allows NUnit to create result files in the V2 format, which is used by many CI servers.</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="bin\addins\nunit-v2-result-writer.dll" target="tools"/>
</files>
</package>

Просмотреть файл

@ -1 +0,0 @@
nunit.v2.driver.dll

Просмотреть файл

@ -1,28 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Extension.NUnitV2Driver</id>
<title>NUnit 3 - NUnit V2 Framework Driver Extension</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit Engine extension allowing execution of tests using NUnit 2.x.</summary>
<description>This extension allows NUnit to load and run tests compiled against earlier versions of the NUnit framework. Versions 2.0 through 2.6.4 are supported.</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="bin\addins\nunit.v2.driver.dll" target="tools"/>
<file src="bin\addins\nunit.core.dll" target="tools"/>
<file src="bin\addins\nunit.core.interfaces.dll" target="tools"/>
<file src="..\..\nuget\extensions\nunit.v2.driver.addins" target="tools"/>
</files>
</package>

Просмотреть файл

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Extension.TeamCityEventListener</id>
<title>NUnit 3 - Team City Event Listener Extension</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit Team City Event Listener extension for TeamCity.</summary>
<description>This extension sends specially formatted messages about test progress to TeamCity as each test executes, allowing TeamCity to monitor progress.</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="bin\addins\teamcity-event-listener.dll" target="tools"/>
</files>
</package>

Просмотреть файл

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Extension.VSProjectLoader</id>
<title>NUnit 3 - Visual Studio Project Loader Extension</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit Engine extension for loading Visual Studio formatted projects.</summary>
<description>This extension allows NUnit to recognize and load projects in Visual Studio format. It supports files of type .sln, .csproj, .vbproj, .vjsproj, .vcproj and .fsproj.</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="bin\addins\vs-project-loader.dll" target="tools"/>
</files>
</package>

Просмотреть файл

@ -1,49 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit</id>
<title>NUnit</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit is a unit-testing framework for all .Net languages with a strong TDD focus.</summary>
<description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.
This package includes the NUnit 3.0 framework assembly, which is referenced by your tests. You will need to install version 3.0 of the nunit3-console program or a third-party runner that supports NUnit 3.0 in order to execute tests. Runners intended for use with NUnit 2.x will not run 3.0 tests correctly.
Supported platforms:
- .NET 2.0+
- .NET Core (Universal Windows Apps 10+, DNX Core 5+)
- Windows 8
- Windows Phone 8 (Silverlight)
- Universal (Windows Phone 8.1+, Windows 8.1+)
- Xamarin (MonoTouch, MonoAndroid, Xamarin iOS Universal)
- Portable Libraries (supporting Profile259)</description>
<releaseNotes>This package includes the NUnit 3.0 framework assembly, which is referenced by your tests. You will need to install version 3.0 of the nunit3-console program or a third-party runner that supports NUnit 3.0 in order to execute tests. Runners intended for use with NUnit 2.x will not run 3.0 tests correctly.</releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd framework fluent assert theory plugin addin</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin/net-2.0/nunit.framework.dll" target="lib/net20" />
<file src="bin/net-2.0/nunit.framework.xml" target="lib/net20" />
<file src="bin/net-2.0/NUnit.System.Linq.dll" target="lib/net20" />
<file src="bin/net-3.5/nunit.framework.dll" target="lib/net35" />
<file src="bin/net-3.5/nunit.framework.xml" target="lib/net35" />
<file src="bin/net-4.0/nunit.framework.dll" target="lib/net40" />
<file src="bin/net-4.0/nunit.framework.xml" target="lib/net40" />
<file src="bin/net-4.5/nunit.framework.dll" target="lib/net45" />
<file src="bin/net-4.5/nunit.framework.xml" target="lib/net45" />
<file src="bin/portable/nunit.framework.dll" target="lib/dotnet" />
<file src="bin/portable/nunit.framework.xml" target="lib/dotnet" />
<file src="bin/portable/nunit.framework.dll" target="lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10" />
<file src="bin/portable/nunit.framework.xml" target="lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10" />
</files>
</package>

Просмотреть файл

@ -1,26 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnitCF</id>
<title>NUnit Version 3 for Compact Framework</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit is a unit-testing framework for all .Net languages with a strong TDD focus.</summary>
<description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.&#10;&#13;This package includes the NUnit 3.0 framework assembly for .NET Compact Framework 3.5, which is referenced by your tests. You will need to install the NUnitLiteCF package in order to run the tests. Two separate packages are used because future versions will be supported by additional runners.</description>
<language>en-US</language>
<tags>nunit test testing tdd framework fluent assert theory plugin addin cf compact framework</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin\netcf-3.5\nunit.framework.dll" target="lib\net35-cf" />
<file src="bin\netcf-3.5\nunit.framework.xml" target="lib\net35-cf" />
</files>
</package>

Просмотреть файл

@ -1,26 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.SL50</id>
<title>NUnit Version 3 for SilverLight 5.0</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnit is a unit-testing framework for .Net languages with a strong TDD focus.</summary>
<description>NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible.&#10;&#13;This package includes the NUnit 3.0 framework assembly for SilverLight 5.0, which is referenced by your tests. You will need to install the NUnitLite.SL50 package in order to run the tests.</description>
<language>en-US</language>
<tags>nunit test testing tdd framework fluent assert theory</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin\sl-5.0\nunit.framework.dll" target="lib\sl50" />
<file src="bin\sl-5.0\nunit.framework.xml" target="lib\sl50" />
</files>
</package>

Просмотреть файл

@ -1,41 +0,0 @@
// ***********************************************************************
// Copyright (c) 2015 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using NUnitLite;
namespace NUnitLite.Tests
{
public class Program
{
/// <summary>
/// The main program executes the tests. Output may be routed to
/// various locations, depending on the arguments passed.
/// </summary>
/// <remarks>Run with --help for a full list of arguments supported</remarks>
/// <param name="args"></param>
public static int Main(string[] args)
{
return new AutoRun().Execute(args);
}
}
}

Просмотреть файл

@ -1,37 +0,0 @@
' ***********************************************************************
' Copyright (c) 2015 Charlie Poole
'
' Permission is hereby granted, free of charge, to any person obtaining
' a copy of this software and associated documentation files (the
' "Software"), to deal in the Software without restriction, including
' without limitation the rights to use, copy, modify, merge, publish,
' distribute, sublicense, and/or sell copies of the Software, and to
' permit persons to whom the Software is furnished to do so, subject to
' the following conditions:
'
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
'
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
' MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
' LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
' OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
' WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
' ***********************************************************************
Imports NUnitLite
Public Class Program
''' <summary>
''' The main program executes the tests. Output may be routed to
''' various locations, depending on the arguments passed.
''' </summary>
''' <remarks>Run with --help for a full list of arguments supported</remarks>
Public Shared Function Main(ByVal args() As String) As Integer
Return New AutoRun().Execute(args)
End Function
End Class

Просмотреть файл

@ -1,9 +0,0 @@
param($installPath, $toolsPath, $package, $project)
If ($project.Type -ne "VB.NET")
{
$project.ProjectItems.Item("Program.vb").Delete()
}
If ($project.Type -ne "C#")
{
$project.ProjectItems.Item("Program.cs").Delete()
}

Просмотреть файл

@ -1,54 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnitLite</id>
<title>NUnitLite Version 3</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnitlite is a lightweight runner for tests that use the NUnit testing framework.</summary>
<description>NUnitLite provides a simple way to run NUnit tests, without the overhead of a full NUnit installation. It is suitable for projects that want to have a quick way to run tests using a console runner and don't need all the features of the NUnit engine and console runner.
Supported platforms:
- .NET 2.0+
- .NET Core (Universal Windows Apps 10+, DNX Core 5+)
- Portable Libraries (supporting Profile259)
How to use this package:
1. Create a console application for your tests and delete the generated class containing Main().
2. Install the NUnitLite package, which creates a new Main() as well as adding a reference to NUnitLite. This will also bring in the NUnit package, which adds a reference to the nunit framework to your project.
3. Add your tests to the test project and simply start the project to execute them.</description>
<language>en-US</language>
<tags>test unit testing tdd framework fluent assert device phone embedded</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
<dependencies>
<group>
<dependency id="NUnit" version="[$version$]" />
</group>
</dependencies>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin/net-2.0/nunitlite.dll" target="lib/net20" />
<file src="bin/net-3.5/nunitlite.dll" target="lib/net35" />
<file src="bin/net-4.0/nunitlite.dll" target="lib/net40" />
<file src="bin/net-4.5/nunitlite.dll" target="lib/net45" />
<file src="bin/portable/nunitlite.dll" target="lib/dotnet" />
<file src="bin/portable/nunitlite.dll" target="lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac" />
<file src="bin/net-2.0/nunitlite-runner.exe" target="tools/net20" />
<file src="bin/net-3.5/nunitlite-runner.exe" target="tools/net35" />
<file src="bin/net-4.0/nunitlite-runner.exe" target="tools/net40" />
<file src="bin/net-4.5/nunitlite-runner.exe" target="tools/net45" />
<file src="bin/portable/nunitlite-runner.exe" target="tools/portable" />
<file src="..\..\nuget\nunitlite\Program.cs" target="content" />
<file src="..\..\nuget\nunitlite\Program.vb" target="content" />
<file src="..\..\nuget\nunitlite\install.ps1" target="tools" />
</files>
</package>

Просмотреть файл

@ -1,33 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnitLiteCF</id>
<title>NUnitLite Version 3 for Compact Framework</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnitlite is a lightweight runner for tests that use the NUnit testing framework.</summary>
<description>NUnitLite provides a simple way to run NUnit tests, without the overhead of a full NUnit installation. This package contains a build of the NUnitLite runner for the .NET compact framework 3.5.</description>
<language>en-US</language>
<tags>test unit testing tdd framework fluent assert device phone embedded cf compact</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
<dependencies>
<group>
<dependency id="NUnitCF" version="[$version$]" />
</group>
</dependencies>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin\netcf-3.5\nunitlite.dll" target="lib\net35-cf" />
<file src="..\..\nuget\nunitlite\Program.cs" target="content" />
<file src="..\..\nuget\nunitlite\Program.vb" target="content" />
<file src="..\..\nuget\nunitlite\install.ps1" target="tools" />
</files>
</package>

Просмотреть файл

@ -1,31 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnitLite.SL50</id>
<title>NUnitLite Version 3 for SilverLight 5.0</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>NUnitlite is a lightweight runner for tests that use the NUnit testing framework.</summary>
<description>NUnitLite provides a simple way to run NUnit tests, without the overhead of a full NUnit installation. This package contains a build of the NUnitLite runner for SilverLight 5.0.</description>
<language>en-US</language>
<tags>test unit testing tdd framework fluent assert</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
<dependencies>
<group>
<dependency id="NUnit.SL50" version="[$version$]" />
</group>
</dependencies>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin\sl-5.0\nunitlite.dll" target="lib\sl50" />
<file src="bin\sl-5.0\nunitlite-runner.exe" target="tools\sl50" />
</files>
</package>

Просмотреть файл

@ -1,41 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Console</id>
<title>NUnit Console Runner Version 3 With Extensions</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>Console runner for version 3.0 of the NUnit unit-testing framework with common extensions.</summary>
<description>
This package includes the nunit3-console runner and test engine for version 3.0 of the NUnit unit-testing framework.
The following extensions are included with this package:
* NUnitProjectLoader - loads tests from NUnit projects
* VSProjectLoader - loads tests from Visual Studio projects
* NUnitV2ResultWriter - saves results in NUnit V2 format.
* NUnitV2FrameworkDriver - runs NUnit V2 tests.
Other extensions, if needed, must be installed separately.
</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
<dependencies>
<group>
<dependency id="NUnit.ConsoleRunner" version="[$version$]" />
<dependency id="NUnit.Extension.NUnitProjectLoader" version="[$version$]" />
<dependency id="NUnit.Extension.VSProjectLoader" version="[$version$]" />
<dependency id="NUnit.Extension.NUnitV2ResultWriter" version="[$version$]" />
<dependency id="NUnit.Extension.NUnitV2Driver" version="[$version$]" />
<dependency id="NUnit.Extension.TeamCityEventListener" version="[$version$]" />
</group>
</dependencies>
</metadata>
<files></files>
</package>

Просмотреть файл

@ -1,40 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.ConsoleRunner</id>
<title>NUnit Console Runner Version 3 (No Extensions)</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>Console runner for version 3.0 of the NUnit unit-testing framework, without any extensions.</summary>
<description>
This package includes the nunit3-console runner and test engine for version 3.0 of the NUnit unit-testing framework.
Any extensions, if needed, must be installed as separate packages.
</description>
<releaseNotes></releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
</metadata>
<files>
<file src="LICENSE.txt" />
<file src="NOTICES.txt" />
<file src="CHANGES.txt" />
<file src="bin/nunit-agent.exe" target="tools" />
<file src="bin/nunit-agent.exe.config" target="tools" />
<file src="bin/nunit-agent-x86.exe" target="tools" />
<file src="bin/nunit-agent-x86.exe.config" target="tools" />
<file src="bin/nunit3-console.exe" target="tools" />
<file src="bin/nunit3-console.exe.config" target="tools" />
<file src="bin/nunit.engine.api.dll" target="tools" />
<file src="bin/nunit.engine.api.xml" target="tools" />
<file src="bin/nunit.engine.dll" target="tools" />
<file src="bin/Mono.Cecil.dll" target="tools" />
<file src="..\..\nuget\engine\nunit.nuget.addins" target="tools"/>
</files>
</package>

Просмотреть файл

@ -1,35 +0,0 @@
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>NUnit.Runners</id>
<title>NUnit Console Version 3</title>
<version>$version$</version>
<authors>Charlie Poole</authors>
<owners>Charlie Poole</owners>
<licenseUrl>http://nunit.org/nuget/nunit3-license.txt</licenseUrl>
<projectUrl>http://nunit.org</projectUrl>
<iconUrl>http://nunit.org/nuget/nunitv3_32x32.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<summary>Console runner for version 3.0 of the NUnit unit-testing framework.</summary>
<description>This package is now a reference to the NUnit.Console package, which provides the nunit3-console runner and test engine for version 3.0 of the NUnit unit-testing framework.
The runner will run 2.6 tests using the included plugin.
Users may update their projects to use the NUnit.Console package directly if desired.</description>
<releaseNotes>This package no longer contains the gui and pnunit runners, which were in earlier releases. Those runners do not exist for NUnit 3.0 at this time.</releaseNotes>
<language>en-US</language>
<tags>nunit test testing tdd runner</tags>
<copyright>Copyright (c) 2016 Charlie Poole</copyright>
<dependencies>
<group>
<dependency id="NUnit.ConsoleRunner" version="[$version$]" />
<dependency id="NUnit.Extension.NUnitProjectLoader" version="[$version$]" />
<dependency id="NUnit.Extension.VSProjectLoader" version="[$version$]" />
<dependency id="NUnit.Extension.NUnitV2ResultWriter" version="[$version$]" />
<dependency id="NUnit.Extension.NUnitV2Driver" version="[$version$]" />
<dependency id="NUnit.Extension.TeamCityEventListener" version="[$version$]" />
</group>
</dependencies>
</metadata>
<files></files>
</package>

Просмотреть файл

@ -1,41 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F36D8EB6-8F40-400B-BBA0-98299D6F97B1}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitattributes = .gitattributes
.gitignore = .gitignore
NUnit.proj = NUnit.proj
README.md = README.md
EndProjectSection
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nunit", "install\master\nunit.wixproj", "{809C00DC-3FD3-45BF-BC0E-E284F314D306}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nunit-runners", "install\runners\nunit-runners.wixproj", "{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nunit-framework", "install\framework\nunit-framework.wixproj", "{20132190-582E-462E-B18B-4B2CEDDDB6C4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{809C00DC-3FD3-45BF-BC0E-E284F314D306}.Debug|x86.ActiveCfg = Debug|x86
{809C00DC-3FD3-45BF-BC0E-E284F314D306}.Debug|x86.Build.0 = Debug|x86
{809C00DC-3FD3-45BF-BC0E-E284F314D306}.Release|x86.ActiveCfg = Release|x86
{809C00DC-3FD3-45BF-BC0E-E284F314D306}.Release|x86.Build.0 = Release|x86
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Debug|x86.ActiveCfg = Debug|x86
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Debug|x86.Build.0 = Debug|x86
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Release|x86.ActiveCfg = Release|x86
{0E7186B7-0CE3-4EA3-8C53-7A8F95E33A75}.Release|x86.Build.0 = Release|x86
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Debug|x86.ActiveCfg = Debug|x86
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Debug|x86.Build.0 = Debug|x86
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Release|x86.ActiveCfg = Release|x86
{20132190-582E-462E-B18B-4B2CEDDDB6C4}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Разница между файлами не показана из-за своего большого размера Загрузить разницу

77
nunit.portable.agent.sln Normal file
Просмотреть файл

@ -0,0 +1,77 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{49D441DF-39FD-4F4D-AECA-86CF8EFE23AF}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitattributes = .gitattributes
.gitignore = .gitignore
.travis.yml = .travis.yml
appveyor.yml = appveyor.yml
build.cake = build.cake
BUILDING.md = BUILDING.md
CHANGES.txt = CHANGES.txt
CONTRIBUTING.md = CONTRIBUTING.md
global.json = global.json
LICENSE.txt = LICENSE.txt
NOTICES.txt = NOTICES.txt
nunit.ico = nunit.ico
README.md = README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{A972031D-2F61-4183-AF75-99EE1A9F6B32}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NUnitEngine", "NUnitEngine", "{31B45C4C-206F-4F31-9CC6-33BF11DFEE39}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Portable", "Portable", "{32405F86-07E7-41A7-94EB-2AD6B290ED07}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.portable.agent", "src\NUnitEngine\Portable\nunit.portable.agent\nunit.portable.agent.csproj", "{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.portable.agent.tests", "src\NUnitEngine\Portable\nunit.portable.agent.tests\nunit.portable.agent.tests.csproj", "{8CDC481D-DB17-4145-9963-9E895C29CBC5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "engine", "engine", "{43A219A8-2995-4884-806F-FDB9CD25D403}"
ProjectSection(SolutionItems) = preProject
nuget\engine\nunit.portable.agent.nuspec = nuget\engine\nunit.portable.agent.nuspec
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-4.5", "src\NUnitFramework\mock-assembly\mock-assembly-4.5.csproj", "{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Release|Any CPU.Build.0 = Release|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Release|Any CPU.Build.0 = Release|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{A972031D-2F61-4183-AF75-99EE1A9F6B32} = {49D441DF-39FD-4F4D-AECA-86CF8EFE23AF}
{32405F86-07E7-41A7-94EB-2AD6B290ED07} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B} = {32405F86-07E7-41A7-94EB-2AD6B290ED07}
{8CDC481D-DB17-4145-9963-9E895C29CBC5} = {32405F86-07E7-41A7-94EB-2AD6B290ED07}
{43A219A8-2995-4884-806F-FDB9CD25D403} = {A972031D-2F61-4183-AF75-99EE1A9F6B32}
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D} = {32405F86-07E7-41A7-94EB-2AD6B290ED07}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = src\NUnitFramework\tests\nunitlite.tests-2.0.csproj
{28B605B2-E2E9-417E-8369-49E263F1F31B} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{FFF45826-991F-465B-8A03-0E1DB7E8F38C} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{11640C9F-03A3-456B-848D-9B4A126F9506} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
EndGlobalSection
EndGlobal

Просмотреть файл

571
nunit.sln
Просмотреть файл

@ -1,571 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NUnitFramework", "NUnitFramework", "{5D8A9D62-C11C-45B2-8965-43DE8160B558}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET-2.0", "NET-2.0", "{64FE69B2-CE0B-4A47-83A3-9DE803851447}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework-2.0", "src\NUnitFramework\framework\nunit.framework-2.0.csproj", "{12B66B03-90F1-4992-BD33-BDF3C69AE49E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-2.0", "src\NUnitFramework\mock-assembly\mock-assembly-2.0.csproj", "{2E368281-3BA8-4050-B05E-0E0E43F8F446}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.testdata-2.0", "src\NUnitFramework\testdata\nunit.testdata-2.0.csproj", "{15B64946-4989-4873-915C-3E181772FA03}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slow-nunit-tests-2.0", "src\NUnitFramework\slow-tests\slow-nunit-tests-2.0.csproj", "{B0791F6D-5D14-40DD-A2CB-5D2A97892693}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.tests-2.0", "src\NUnitFramework\tests\nunit.framework.tests-2.0.csproj", "{EA9871E3-9972-4476-821E-3961C28125E8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET-4.0", "NET-4.0", "{83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework-4.0", "src\NUnitFramework\framework\nunit.framework-4.0.csproj", "{6A281C98-B74D-403B-8536-966871B992E3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-4.0", "src\NUnitFramework\mock-assembly\mock-assembly-4.0.csproj", "{DDCE1AE3-AA0D-4E2D-AD1B-8CA322AFA7DD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slow-nunit-tests-4.0", "src\NUnitFramework\slow-tests\slow-nunit-tests-4.0.csproj", "{1D38AEC8-F5C0-4B1C-A0AE-18F4015A2E78}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.testdata-4.0", "src\NUnitFramework\testdata\nunit.testdata-4.0.csproj", "{A35E6AD6-6D46-41E1-8DB1-A41086793893}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.tests-4.0", "src\NUnitFramework\tests\nunit.framework.tests-4.0.csproj", "{08D0F53A-CD37-4060-B5A2-BCC202F0DE46}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET-4.5", "NET-4.5", "{7B573D52-181D-482F-A61C-82E543B3E958}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework-4.5", "src\NUnitFramework\framework\nunit.framework-4.5.csproj", "{D209C368-1277-4EA6-A887-AA6EBA51AB99}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-4.5", "src\NUnitFramework\mock-assembly\mock-assembly-4.5.csproj", "{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slow-nunit-tests-4.5", "src\NUnitFramework\slow-tests\slow-nunit-tests-4.5.csproj", "{705FBD41-77A9-4FE7-A6C1-85026F2DDA09}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.testdata-4.5", "src\NUnitFramework\testdata\nunit.testdata-4.5.csproj", "{E7541163-D7BB-4E9A-A722-D7737B7A2995}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.tests-4.5", "src\NUnitFramework\tests\nunit.framework.tests-4.5.csproj", "{5B8B0EAB-3E74-48BB-8231-26E73B2019DC}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SL-5.0", "SL-5.0", "{A21BFC37-44FC-41A0-B6E7-6F949F45A635}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{49D441DF-39FD-4F4D-AECA-86CF8EFE23AF}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
.gitattributes = .gitattributes
.gitignore = .gitignore
.travis.yml = .travis.yml
appveyor.yml = appveyor.yml
build.cake = build.cake
BUILDING.md = BUILDING.md
CHANGES.txt = CHANGES.txt
CONTRIBUTING.md = CONTRIBUTING.md
EngineAndConsoleTests.nunit = EngineAndConsoleTests.nunit
global.json = global.json
LICENSE.txt = LICENSE.txt
NOTICES.txt = NOTICES.txt
nunit.ico = nunit.ico
README.md = README.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nuget", "nuget", "{A972031D-2F61-4183-AF75-99EE1A9F6B32}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NUnitEngine", "NUnitEngine", "{31B45C4C-206F-4F31-9CC6-33BF11DFEE39}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.engine.api", "src\NUnitEngine\nunit.engine.api\nunit.engine.api.csproj", "{775FAD50-3623-4922-97C4-DFB29A8BE4C7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.engine", "src\NUnitEngine\nunit.engine\nunit.engine.csproj", "{372A3447-D657-40FF-A089-77C19FEC30C8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.engine.tests", "src\NUnitEngine\nunit.engine.tests\nunit.engine.tests.csproj", "{D694CB69-6CFB-4762-86C2-EB27B808B282}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-agent", "src\NUnitEngine\nunit-agent\nunit-agent.csproj", "{C2A8FC7A-FA64-46EA-AF6D-73D6B371DBF8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NUnitConsole", "NUnitConsole", "{576DB1E6-C5EC-4FEF-A826-EC19D8BEE572}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit3-console", "src\NUnitConsole\nunit3-console\nunit3-console.csproj", "{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit3-console.tests", "src\NUnitConsole\nunit3-console.tests\nunit3-console.tests.csproj", "{B310A760-8AE1-41CA-81F8-03B12E2FCE30}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-agent-x86", "src\NUnitEngine\nunit-agent\nunit-agent-x86.csproj", "{28B605B2-E2E9-417E-8369-49E263F1F31B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Portable", "Portable", "{A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework-portable", "src\NUnitFramework\framework\nunit.framework-portable.csproj", "{D6FBBB3A-F6B8-45BB-B657-A7226AB96624}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework-sl-5.0", "src\NUnitFramework\framework\nunit.framework-sl-5.0.csproj", "{3DEB15F9-E7DA-403F-B6D3-A8499310397F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.testdata-portable", "src\NUnitFramework\testdata\nunit.testdata-portable.csproj", "{9ED200E4-2026-4955-87E0-D8CEA7BD9E7F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.testdata-sl-5.0", "src\NUnitFramework\testdata\nunit.testdata-sl-5.0.csproj", "{A76794DA-29A4-4D63-9850-E0E363A2FAFD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.tests-sl-5.0", "src\NUnitFramework\tests\nunit.framework.tests-sl-5.0.csproj", "{A4F0C741-6ED4-46C8-AE75-57E1C7197E22}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Addins", "Addins", "{B923C1E7-54DD-4E79-A1A9-B21123863B04}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vs-project-loader", "src\NUnitEngine\Addins\vs-project-loader\vs-project-loader.csproj", "{96181317-7B6F-49F0-B283-6E804D41C8AF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-project-loader", "src\NUnitEngine\Addins\nunit-project-loader\nunit-project-loader.csproj", "{E71A76CA-0089-4E1A-A7FB-210429DBED6E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "addin-tests", "src\NUnitEngine\Addins\addin-tests\addin-tests.csproj", "{793CEC1B-D44D-4162-BE03-913BF1FDB458}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-v2-result-writer", "src\NUnitEngine\Addins\nunit-v2-result-writer\nunit-v2-result-writer.csproj", "{AECFA3FB-E55A-4151-9DEA-F715FBB972BA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.v2.driver", "src\NUnitEngine\Addins\nunit.v2.driver\nunit.v2.driver.csproj", "{379058E2-E834-4CC7-B5CD-AC8DFCF82AEA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.v2.driver.tests", "src\NUnitEngine\Addins\nunit.v2.driver.tests\nunit.v2.driver.tests.csproj", "{B6D3AEAE-ECDA-4047-A9BA-CC6DA3EBEDF8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-portable", "src\NUnitFramework\mock-assembly\mock-assembly-portable.csproj", "{8C53C716-3E54-4DFE-8CD9-F4099042FCFA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-sl-5.0", "src\NUnitFramework\mock-assembly\mock-assembly-sl-5.0.csproj", "{C4D16DF1-B6FA-42F5-834E-B01DA1BAA1FF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.tests-portable", "src\NUnitFramework\tests\nunit.framework.tests-portable.csproj", "{3AFA44B9-9DF0-494E-B633-6E6B9F2BB808}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-2.0", "src\NUnitFramework\nunitlite.tests\nunitlite.tests-2.0.csproj", "{42BC31BF-0A03-43EC-925B-1419DD7F2C7C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-4.0", "src\NUnitFramework\nunitlite.tests\nunitlite.tests-4.0.csproj", "{F0BA2671-5160-4164-B1FC-2883728C42D9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-4.5", "src\NUnitFramework\nunitlite.tests\nunitlite.tests-4.5.csproj", "{8472DB53-5950-4A70-864C-567A55A6C4A1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-sl-5.0", "src\NUnitFramework\nunitlite.tests\nunitlite.tests-sl-5.0.csproj", "{5249870F-7119-45DE-A269-66D6451E2507}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-portable", "src\NUnitFramework\nunitlite.tests\nunitlite.tests-portable.csproj", "{6872DB53-3250-4A70-2A4C-567A55A6C4B3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-2.0", "src\NUnitFramework\nunitlite\nunitlite-2.0.csproj", "{28C7B9D6-BE1F-45E5-952C-0D5C9CA3EFDF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-4.0", "src\NUnitFramework\nunitlite\nunitlite-4.0.csproj", "{DBD0C8B0-BE4E-4CBF-AAD4-44BEA2EA830B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-4.5", "src\NUnitFramework\nunitlite\nunitlite-4.5.csproj", "{46EC0BC1-8F51-4B4D-B967-2EE452EA68FC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-portable", "src\NUnitFramework\nunitlite\nunitlite-portable.csproj", "{D339BFC2-AF3F-46FA-899A-14BAD4BCA35B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-sl-5.0", "src\NUnitFramework\nunitlite\nunitlite-sl-5.0.csproj", "{0A5F920A-1BF5-4DAC-B799-0C618B203797}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-runner-portable", "src\NUnitFramework\nunitlite-runner\nunitlite-runner-portable.csproj", "{1A48458D-31A4-48D3-8EB2-2C79CFE4E82C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-runner-4.5", "src\NUnitFramework\nunitlite-runner\nunitlite-runner-4.5.csproj", "{B00DC1F7-764B-4B65-9953-FA557E2EC493}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-runner-2.0", "src\NUnitFramework\nunitlite-runner\nunitlite-runner-2.0.csproj", "{3FA7B726-8AF9-4554-B41A-0BD915E4EAB5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-runner-4.0", "src\NUnitFramework\nunitlite-runner\nunitlite-runner-4.0.csproj", "{C861E6BA-852B-4BC1-ACE7-77C8D6E7898B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-runner-sl-5.0", "src\NUnitFramework\nunitlite-runner\nunitlite-runner-sl-5.0.csproj", "{901DA110-F30A-4515-880D-E9D59B6ECB4E}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Portable", "Portable", "{32405F86-07E7-41A7-94EB-2AD6B290ED07}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slow-nunit-tests-portable", "src\NUnitFramework\slow-tests\slow-nunit-tests-portable.csproj", "{74CB429E-69D7-4525-BBDF-BBC47DBC7070}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slow-nunit-tests-sl-5.0", "src\NUnitFramework\slow-tests\slow-nunit-tests-sl-5.0.csproj", "{A2B973C4-EA96-4B00-B2BE-04BFD9D5AA39}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.portable.agent", "src\NUnitEngine\Portable\nunit.portable.agent\nunit.portable.agent.csproj", "{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.portable.agent.tests", "src\NUnitEngine\Portable\nunit.portable.agent.tests\nunit.portable.agent.tests.csproj", "{8CDC481D-DB17-4145-9963-9E895C29CBC5}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "extensions", "extensions", "{B538DFF5-4309-497A-8E5D-415BE2FA3F8F}"
ProjectSection(SolutionItems) = preProject
nuget\extensions\nunit-project-loader.nuspec = nuget\extensions\nunit-project-loader.nuspec
nuget\extensions\nunit-v2-result-writer.nuspec = nuget\extensions\nunit-v2-result-writer.nuspec
nuget\extensions\nunit.v2.driver.addins = nuget\extensions\nunit.v2.driver.addins
nuget\extensions\nunit.v2.driver.nuspec = nuget\extensions\nunit.v2.driver.nuspec
nuget\extensions\teamcity-event-listener.nuspec = nuget\extensions\teamcity-event-listener.nuspec
nuget\extensions\vs-project-loader.nuspec = nuget\extensions\vs-project-loader.nuspec
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "engine", "engine", "{43A219A8-2995-4884-806F-FDB9CD25D403}"
ProjectSection(SolutionItems) = preProject
nuget\engine\nunit.engine.nuspec = nuget\engine\nunit.engine.nuspec
nuget\engine\nunit.engine.tool.nuspec = nuget\engine\nunit.engine.tool.nuspec
nuget\engine\nunit.nuget.addins = nuget\engine\nunit.nuget.addins
nuget\engine\nunit.portable.agent.nuspec = nuget\engine\nunit.portable.agent.nuspec
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "framework", "framework", "{BC87F477-1A7A-45D0-9AC1-9F7315264732}"
ProjectSection(SolutionItems) = preProject
nuget\framework\nunit.nuspec = nuget\framework\nunit.nuspec
nuget\framework\nunitCF.nuspec = nuget\framework\nunitCF.nuspec
nuget\framework\nunitSL.nuspec = nuget\framework\nunitSL.nuspec
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "nunitlite", "nunitlite", "{140CDAD6-6E11-4A97-94F3-B23A14391117}"
ProjectSection(SolutionItems) = preProject
nuget\nunitlite\install.ps1 = nuget\nunitlite\install.ps1
nuget\nunitlite\nunitlite.nuspec = nuget\nunitlite\nunitlite.nuspec
nuget\nunitlite\nunitliteCF.nuspec = nuget\nunitlite\nunitliteCF.nuspec
nuget\nunitlite\nunitliteSL.nuspec = nuget\nunitlite\nunitliteSL.nuspec
nuget\nunitlite\Program.cs = nuget\nunitlite\Program.cs
nuget\nunitlite\Program.vb = nuget\nunitlite\Program.vb
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "runners", "runners", "{F3E87D0F-6F06-4C0B-AE06-42C0834C3C6E}"
ProjectSection(SolutionItems) = preProject
nuget\runners\nunit.console-runner-with-extensions.nuspec = nuget\runners\nunit.console-runner-with-extensions.nuspec
nuget\runners\nunit.console-runner.nuspec = nuget\runners\nunit.console-runner.nuspec
nuget\runners\nunit.runners.nuspec = nuget\runners\nunit.runners.nuspec
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NET-3.5", "NET-3.5", "{49BF96D3-3F1B-4553-BE55-296FA7C3F659}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework-3.5", "src\NUnitFramework\framework\nunit.framework-3.5.csproj", "{7FA125B4-E377-4D4C-AECB-17B934E3A4B3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-3.5", "src\NUnitFramework\nunitlite\nunitlite-3.5.csproj", "{82F93F6E-5C10-4CC7-BC65-AC0B9CA6D39A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-3.5", "src\NUnitFramework\mock-assembly\mock-assembly-3.5.csproj", "{8FCE12F2-FE7B-43D0-94E9-3B71FECAFE64}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-3.5", "src\NUnitFramework\nunitlite.tests\nunitlite.tests-3.5.csproj", "{FD6D4774-71B7-4D7A-BE91-753B12C0BB4E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-runner-3.5", "src\NUnitFramework\nunitlite-runner\nunitlite-runner-3.5.csproj", "{A7E48768-23B5-4A11-B10A-048FB21A0955}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slow-nunit-tests-3.5", "src\NUnitFramework\slow-tests\slow-nunit-tests-3.5.csproj", "{C6156B98-923A-474B-B257-29107476E93C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.testdata-3.5", "src\NUnitFramework\testdata\nunit.testdata-3.5.csproj", "{520F4C89-51B6-49D6-9ED7-4523048C0154}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.tests-3.5", "src\NUnitFramework\tests\nunit.framework.tests-3.5.csproj", "{B93FC354-D59D-4650-84E4-7FCA7D51689A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "teamcity-event-listener", "src\NUnitEngine\Addins\teamcity-event-listener\teamcity-event-listener.csproj", "{A867079B-A172-4DAE-9549-63B331092A23}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{12B66B03-90F1-4992-BD33-BDF3C69AE49E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12B66B03-90F1-4992-BD33-BDF3C69AE49E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12B66B03-90F1-4992-BD33-BDF3C69AE49E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12B66B03-90F1-4992-BD33-BDF3C69AE49E}.Release|Any CPU.Build.0 = Release|Any CPU
{2E368281-3BA8-4050-B05E-0E0E43F8F446}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2E368281-3BA8-4050-B05E-0E0E43F8F446}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2E368281-3BA8-4050-B05E-0E0E43F8F446}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2E368281-3BA8-4050-B05E-0E0E43F8F446}.Release|Any CPU.Build.0 = Release|Any CPU
{15B64946-4989-4873-915C-3E181772FA03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15B64946-4989-4873-915C-3E181772FA03}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15B64946-4989-4873-915C-3E181772FA03}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15B64946-4989-4873-915C-3E181772FA03}.Release|Any CPU.Build.0 = Release|Any CPU
{B0791F6D-5D14-40DD-A2CB-5D2A97892693}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B0791F6D-5D14-40DD-A2CB-5D2A97892693}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B0791F6D-5D14-40DD-A2CB-5D2A97892693}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0791F6D-5D14-40DD-A2CB-5D2A97892693}.Release|Any CPU.Build.0 = Release|Any CPU
{EA9871E3-9972-4476-821E-3961C28125E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA9871E3-9972-4476-821E-3961C28125E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA9871E3-9972-4476-821E-3961C28125E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA9871E3-9972-4476-821E-3961C28125E8}.Release|Any CPU.Build.0 = Release|Any CPU
{6A281C98-B74D-403B-8536-966871B992E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A281C98-B74D-403B-8536-966871B992E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A281C98-B74D-403B-8536-966871B992E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A281C98-B74D-403B-8536-966871B992E3}.Release|Any CPU.Build.0 = Release|Any CPU
{DDCE1AE3-AA0D-4E2D-AD1B-8CA322AFA7DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DDCE1AE3-AA0D-4E2D-AD1B-8CA322AFA7DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DDCE1AE3-AA0D-4E2D-AD1B-8CA322AFA7DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DDCE1AE3-AA0D-4E2D-AD1B-8CA322AFA7DD}.Release|Any CPU.Build.0 = Release|Any CPU
{1D38AEC8-F5C0-4B1C-A0AE-18F4015A2E78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D38AEC8-F5C0-4B1C-A0AE-18F4015A2E78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D38AEC8-F5C0-4B1C-A0AE-18F4015A2E78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D38AEC8-F5C0-4B1C-A0AE-18F4015A2E78}.Release|Any CPU.Build.0 = Release|Any CPU
{A35E6AD6-6D46-41E1-8DB1-A41086793893}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A35E6AD6-6D46-41E1-8DB1-A41086793893}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A35E6AD6-6D46-41E1-8DB1-A41086793893}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A35E6AD6-6D46-41E1-8DB1-A41086793893}.Release|Any CPU.Build.0 = Release|Any CPU
{08D0F53A-CD37-4060-B5A2-BCC202F0DE46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08D0F53A-CD37-4060-B5A2-BCC202F0DE46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08D0F53A-CD37-4060-B5A2-BCC202F0DE46}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08D0F53A-CD37-4060-B5A2-BCC202F0DE46}.Release|Any CPU.Build.0 = Release|Any CPU
{D209C368-1277-4EA6-A887-AA6EBA51AB99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D209C368-1277-4EA6-A887-AA6EBA51AB99}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D209C368-1277-4EA6-A887-AA6EBA51AB99}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D209C368-1277-4EA6-A887-AA6EBA51AB99}.Release|Any CPU.Build.0 = Release|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D}.Release|Any CPU.Build.0 = Release|Any CPU
{705FBD41-77A9-4FE7-A6C1-85026F2DDA09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{705FBD41-77A9-4FE7-A6C1-85026F2DDA09}.Debug|Any CPU.Build.0 = Debug|Any CPU
{705FBD41-77A9-4FE7-A6C1-85026F2DDA09}.Release|Any CPU.ActiveCfg = Release|Any CPU
{705FBD41-77A9-4FE7-A6C1-85026F2DDA09}.Release|Any CPU.Build.0 = Release|Any CPU
{E7541163-D7BB-4E9A-A722-D7737B7A2995}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7541163-D7BB-4E9A-A722-D7737B7A2995}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7541163-D7BB-4E9A-A722-D7737B7A2995}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7541163-D7BB-4E9A-A722-D7737B7A2995}.Release|Any CPU.Build.0 = Release|Any CPU
{5B8B0EAB-3E74-48BB-8231-26E73B2019DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5B8B0EAB-3E74-48BB-8231-26E73B2019DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B8B0EAB-3E74-48BB-8231-26E73B2019DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B8B0EAB-3E74-48BB-8231-26E73B2019DC}.Release|Any CPU.Build.0 = Release|Any CPU
{775FAD50-3623-4922-97C4-DFB29A8BE4C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{775FAD50-3623-4922-97C4-DFB29A8BE4C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{775FAD50-3623-4922-97C4-DFB29A8BE4C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{775FAD50-3623-4922-97C4-DFB29A8BE4C7}.Release|Any CPU.Build.0 = Release|Any CPU
{372A3447-D657-40FF-A089-77C19FEC30C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{372A3447-D657-40FF-A089-77C19FEC30C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{372A3447-D657-40FF-A089-77C19FEC30C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{372A3447-D657-40FF-A089-77C19FEC30C8}.Release|Any CPU.Build.0 = Release|Any CPU
{D694CB69-6CFB-4762-86C2-EB27B808B282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D694CB69-6CFB-4762-86C2-EB27B808B282}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D694CB69-6CFB-4762-86C2-EB27B808B282}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D694CB69-6CFB-4762-86C2-EB27B808B282}.Release|Any CPU.Build.0 = Release|Any CPU
{C2A8FC7A-FA64-46EA-AF6D-73D6B371DBF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C2A8FC7A-FA64-46EA-AF6D-73D6B371DBF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C2A8FC7A-FA64-46EA-AF6D-73D6B371DBF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C2A8FC7A-FA64-46EA-AF6D-73D6B371DBF8}.Release|Any CPU.Build.0 = Release|Any CPU
{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46}.Release|Any CPU.Build.0 = Release|Any CPU
{B310A760-8AE1-41CA-81F8-03B12E2FCE30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B310A760-8AE1-41CA-81F8-03B12E2FCE30}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B310A760-8AE1-41CA-81F8-03B12E2FCE30}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B310A760-8AE1-41CA-81F8-03B12E2FCE30}.Release|Any CPU.Build.0 = Release|Any CPU
{28B605B2-E2E9-417E-8369-49E263F1F31B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28B605B2-E2E9-417E-8369-49E263F1F31B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28B605B2-E2E9-417E-8369-49E263F1F31B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{28B605B2-E2E9-417E-8369-49E263F1F31B}.Release|Any CPU.Build.0 = Release|Any CPU
{D6FBBB3A-F6B8-45BB-B657-A7226AB96624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D6FBBB3A-F6B8-45BB-B657-A7226AB96624}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D6FBBB3A-F6B8-45BB-B657-A7226AB96624}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D6FBBB3A-F6B8-45BB-B657-A7226AB96624}.Release|Any CPU.Build.0 = Release|Any CPU
{3DEB15F9-E7DA-403F-B6D3-A8499310397F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3DEB15F9-E7DA-403F-B6D3-A8499310397F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3DEB15F9-E7DA-403F-B6D3-A8499310397F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3DEB15F9-E7DA-403F-B6D3-A8499310397F}.Release|Any CPU.Build.0 = Release|Any CPU
{9ED200E4-2026-4955-87E0-D8CEA7BD9E7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9ED200E4-2026-4955-87E0-D8CEA7BD9E7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9ED200E4-2026-4955-87E0-D8CEA7BD9E7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9ED200E4-2026-4955-87E0-D8CEA7BD9E7F}.Release|Any CPU.Build.0 = Release|Any CPU
{A76794DA-29A4-4D63-9850-E0E363A2FAFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A76794DA-29A4-4D63-9850-E0E363A2FAFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A76794DA-29A4-4D63-9850-E0E363A2FAFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A76794DA-29A4-4D63-9850-E0E363A2FAFD}.Release|Any CPU.Build.0 = Release|Any CPU
{A4F0C741-6ED4-46C8-AE75-57E1C7197E22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A4F0C741-6ED4-46C8-AE75-57E1C7197E22}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A4F0C741-6ED4-46C8-AE75-57E1C7197E22}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A4F0C741-6ED4-46C8-AE75-57E1C7197E22}.Release|Any CPU.Build.0 = Release|Any CPU
{96181317-7B6F-49F0-B283-6E804D41C8AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96181317-7B6F-49F0-B283-6E804D41C8AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96181317-7B6F-49F0-B283-6E804D41C8AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96181317-7B6F-49F0-B283-6E804D41C8AF}.Release|Any CPU.Build.0 = Release|Any CPU
{E71A76CA-0089-4E1A-A7FB-210429DBED6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E71A76CA-0089-4E1A-A7FB-210429DBED6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E71A76CA-0089-4E1A-A7FB-210429DBED6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E71A76CA-0089-4E1A-A7FB-210429DBED6E}.Release|Any CPU.Build.0 = Release|Any CPU
{793CEC1B-D44D-4162-BE03-913BF1FDB458}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{793CEC1B-D44D-4162-BE03-913BF1FDB458}.Debug|Any CPU.Build.0 = Debug|Any CPU
{793CEC1B-D44D-4162-BE03-913BF1FDB458}.Release|Any CPU.ActiveCfg = Release|Any CPU
{793CEC1B-D44D-4162-BE03-913BF1FDB458}.Release|Any CPU.Build.0 = Release|Any CPU
{AECFA3FB-E55A-4151-9DEA-F715FBB972BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AECFA3FB-E55A-4151-9DEA-F715FBB972BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AECFA3FB-E55A-4151-9DEA-F715FBB972BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AECFA3FB-E55A-4151-9DEA-F715FBB972BA}.Release|Any CPU.Build.0 = Release|Any CPU
{379058E2-E834-4CC7-B5CD-AC8DFCF82AEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{379058E2-E834-4CC7-B5CD-AC8DFCF82AEA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{379058E2-E834-4CC7-B5CD-AC8DFCF82AEA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{379058E2-E834-4CC7-B5CD-AC8DFCF82AEA}.Release|Any CPU.Build.0 = Release|Any CPU
{B6D3AEAE-ECDA-4047-A9BA-CC6DA3EBEDF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6D3AEAE-ECDA-4047-A9BA-CC6DA3EBEDF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6D3AEAE-ECDA-4047-A9BA-CC6DA3EBEDF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6D3AEAE-ECDA-4047-A9BA-CC6DA3EBEDF8}.Release|Any CPU.Build.0 = Release|Any CPU
{8C53C716-3E54-4DFE-8CD9-F4099042FCFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8C53C716-3E54-4DFE-8CD9-F4099042FCFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8C53C716-3E54-4DFE-8CD9-F4099042FCFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8C53C716-3E54-4DFE-8CD9-F4099042FCFA}.Release|Any CPU.Build.0 = Release|Any CPU
{C4D16DF1-B6FA-42F5-834E-B01DA1BAA1FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C4D16DF1-B6FA-42F5-834E-B01DA1BAA1FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4D16DF1-B6FA-42F5-834E-B01DA1BAA1FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4D16DF1-B6FA-42F5-834E-B01DA1BAA1FF}.Release|Any CPU.Build.0 = Release|Any CPU
{3AFA44B9-9DF0-494E-B633-6E6B9F2BB808}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3AFA44B9-9DF0-494E-B633-6E6B9F2BB808}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3AFA44B9-9DF0-494E-B633-6E6B9F2BB808}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3AFA44B9-9DF0-494E-B633-6E6B9F2BB808}.Release|Any CPU.Build.0 = Release|Any CPU
{42BC31BF-0A03-43EC-925B-1419DD7F2C7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{42BC31BF-0A03-43EC-925B-1419DD7F2C7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42BC31BF-0A03-43EC-925B-1419DD7F2C7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{42BC31BF-0A03-43EC-925B-1419DD7F2C7C}.Release|Any CPU.Build.0 = Release|Any CPU
{F0BA2671-5160-4164-B1FC-2883728C42D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F0BA2671-5160-4164-B1FC-2883728C42D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F0BA2671-5160-4164-B1FC-2883728C42D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F0BA2671-5160-4164-B1FC-2883728C42D9}.Release|Any CPU.Build.0 = Release|Any CPU
{8472DB53-5950-4A70-864C-567A55A6C4A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8472DB53-5950-4A70-864C-567A55A6C4A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8472DB53-5950-4A70-864C-567A55A6C4A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8472DB53-5950-4A70-864C-567A55A6C4A1}.Release|Any CPU.Build.0 = Release|Any CPU
{5249870F-7119-45DE-A269-66D6451E2507}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5249870F-7119-45DE-A269-66D6451E2507}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5249870F-7119-45DE-A269-66D6451E2507}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5249870F-7119-45DE-A269-66D6451E2507}.Release|Any CPU.Build.0 = Release|Any CPU
{6872DB53-3250-4A70-2A4C-567A55A6C4B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6872DB53-3250-4A70-2A4C-567A55A6C4B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6872DB53-3250-4A70-2A4C-567A55A6C4B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6872DB53-3250-4A70-2A4C-567A55A6C4B3}.Release|Any CPU.Build.0 = Release|Any CPU
{28C7B9D6-BE1F-45E5-952C-0D5C9CA3EFDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28C7B9D6-BE1F-45E5-952C-0D5C9CA3EFDF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28C7B9D6-BE1F-45E5-952C-0D5C9CA3EFDF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{28C7B9D6-BE1F-45E5-952C-0D5C9CA3EFDF}.Release|Any CPU.Build.0 = Release|Any CPU
{DBD0C8B0-BE4E-4CBF-AAD4-44BEA2EA830B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DBD0C8B0-BE4E-4CBF-AAD4-44BEA2EA830B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DBD0C8B0-BE4E-4CBF-AAD4-44BEA2EA830B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DBD0C8B0-BE4E-4CBF-AAD4-44BEA2EA830B}.Release|Any CPU.Build.0 = Release|Any CPU
{46EC0BC1-8F51-4B4D-B967-2EE452EA68FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{46EC0BC1-8F51-4B4D-B967-2EE452EA68FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46EC0BC1-8F51-4B4D-B967-2EE452EA68FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{46EC0BC1-8F51-4B4D-B967-2EE452EA68FC}.Release|Any CPU.Build.0 = Release|Any CPU
{D339BFC2-AF3F-46FA-899A-14BAD4BCA35B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D339BFC2-AF3F-46FA-899A-14BAD4BCA35B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D339BFC2-AF3F-46FA-899A-14BAD4BCA35B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D339BFC2-AF3F-46FA-899A-14BAD4BCA35B}.Release|Any CPU.Build.0 = Release|Any CPU
{0A5F920A-1BF5-4DAC-B799-0C618B203797}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A5F920A-1BF5-4DAC-B799-0C618B203797}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A5F920A-1BF5-4DAC-B799-0C618B203797}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A5F920A-1BF5-4DAC-B799-0C618B203797}.Release|Any CPU.Build.0 = Release|Any CPU
{1A48458D-31A4-48D3-8EB2-2C79CFE4E82C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1A48458D-31A4-48D3-8EB2-2C79CFE4E82C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1A48458D-31A4-48D3-8EB2-2C79CFE4E82C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1A48458D-31A4-48D3-8EB2-2C79CFE4E82C}.Release|Any CPU.Build.0 = Release|Any CPU
{B00DC1F7-764B-4B65-9953-FA557E2EC493}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B00DC1F7-764B-4B65-9953-FA557E2EC493}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B00DC1F7-764B-4B65-9953-FA557E2EC493}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B00DC1F7-764B-4B65-9953-FA557E2EC493}.Release|Any CPU.Build.0 = Release|Any CPU
{3FA7B726-8AF9-4554-B41A-0BD915E4EAB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3FA7B726-8AF9-4554-B41A-0BD915E4EAB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3FA7B726-8AF9-4554-B41A-0BD915E4EAB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3FA7B726-8AF9-4554-B41A-0BD915E4EAB5}.Release|Any CPU.Build.0 = Release|Any CPU
{C861E6BA-852B-4BC1-ACE7-77C8D6E7898B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C861E6BA-852B-4BC1-ACE7-77C8D6E7898B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C861E6BA-852B-4BC1-ACE7-77C8D6E7898B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C861E6BA-852B-4BC1-ACE7-77C8D6E7898B}.Release|Any CPU.Build.0 = Release|Any CPU
{901DA110-F30A-4515-880D-E9D59B6ECB4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{901DA110-F30A-4515-880D-E9D59B6ECB4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{901DA110-F30A-4515-880D-E9D59B6ECB4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{901DA110-F30A-4515-880D-E9D59B6ECB4E}.Release|Any CPU.Build.0 = Release|Any CPU
{74CB429E-69D7-4525-BBDF-BBC47DBC7070}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{74CB429E-69D7-4525-BBDF-BBC47DBC7070}.Debug|Any CPU.Build.0 = Debug|Any CPU
{74CB429E-69D7-4525-BBDF-BBC47DBC7070}.Release|Any CPU.ActiveCfg = Release|Any CPU
{74CB429E-69D7-4525-BBDF-BBC47DBC7070}.Release|Any CPU.Build.0 = Release|Any CPU
{A2B973C4-EA96-4B00-B2BE-04BFD9D5AA39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A2B973C4-EA96-4B00-B2BE-04BFD9D5AA39}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A2B973C4-EA96-4B00-B2BE-04BFD9D5AA39}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A2B973C4-EA96-4B00-B2BE-04BFD9D5AA39}.Release|Any CPU.Build.0 = Release|Any CPU
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B}.Release|Any CPU.Build.0 = Release|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8CDC481D-DB17-4145-9963-9E895C29CBC5}.Release|Any CPU.Build.0 = Release|Any CPU
{7FA125B4-E377-4D4C-AECB-17B934E3A4B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7FA125B4-E377-4D4C-AECB-17B934E3A4B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7FA125B4-E377-4D4C-AECB-17B934E3A4B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7FA125B4-E377-4D4C-AECB-17B934E3A4B3}.Release|Any CPU.Build.0 = Release|Any CPU
{82F93F6E-5C10-4CC7-BC65-AC0B9CA6D39A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{82F93F6E-5C10-4CC7-BC65-AC0B9CA6D39A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{82F93F6E-5C10-4CC7-BC65-AC0B9CA6D39A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{82F93F6E-5C10-4CC7-BC65-AC0B9CA6D39A}.Release|Any CPU.Build.0 = Release|Any CPU
{8FCE12F2-FE7B-43D0-94E9-3B71FECAFE64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8FCE12F2-FE7B-43D0-94E9-3B71FECAFE64}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8FCE12F2-FE7B-43D0-94E9-3B71FECAFE64}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8FCE12F2-FE7B-43D0-94E9-3B71FECAFE64}.Release|Any CPU.Build.0 = Release|Any CPU
{FD6D4774-71B7-4D7A-BE91-753B12C0BB4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FD6D4774-71B7-4D7A-BE91-753B12C0BB4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FD6D4774-71B7-4D7A-BE91-753B12C0BB4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FD6D4774-71B7-4D7A-BE91-753B12C0BB4E}.Release|Any CPU.Build.0 = Release|Any CPU
{A7E48768-23B5-4A11-B10A-048FB21A0955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A7E48768-23B5-4A11-B10A-048FB21A0955}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A7E48768-23B5-4A11-B10A-048FB21A0955}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A7E48768-23B5-4A11-B10A-048FB21A0955}.Release|Any CPU.Build.0 = Release|Any CPU
{C6156B98-923A-474B-B257-29107476E93C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C6156B98-923A-474B-B257-29107476E93C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C6156B98-923A-474B-B257-29107476E93C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C6156B98-923A-474B-B257-29107476E93C}.Release|Any CPU.Build.0 = Release|Any CPU
{520F4C89-51B6-49D6-9ED7-4523048C0154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{520F4C89-51B6-49D6-9ED7-4523048C0154}.Debug|Any CPU.Build.0 = Debug|Any CPU
{520F4C89-51B6-49D6-9ED7-4523048C0154}.Release|Any CPU.ActiveCfg = Release|Any CPU
{520F4C89-51B6-49D6-9ED7-4523048C0154}.Release|Any CPU.Build.0 = Release|Any CPU
{B93FC354-D59D-4650-84E4-7FCA7D51689A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B93FC354-D59D-4650-84E4-7FCA7D51689A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B93FC354-D59D-4650-84E4-7FCA7D51689A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B93FC354-D59D-4650-84E4-7FCA7D51689A}.Release|Any CPU.Build.0 = Release|Any CPU
{A867079B-A172-4DAE-9549-63B331092A23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A867079B-A172-4DAE-9549-63B331092A23}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A867079B-A172-4DAE-9549-63B331092A23}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A867079B-A172-4DAE-9549-63B331092A23}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{64FE69B2-CE0B-4A47-83A3-9DE803851447} = {5D8A9D62-C11C-45B2-8965-43DE8160B558}
{12B66B03-90F1-4992-BD33-BDF3C69AE49E} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{2E368281-3BA8-4050-B05E-0E0E43F8F446} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{15B64946-4989-4873-915C-3E181772FA03} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{B0791F6D-5D14-40DD-A2CB-5D2A97892693} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{EA9871E3-9972-4476-821E-3961C28125E8} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3} = {5D8A9D62-C11C-45B2-8965-43DE8160B558}
{6A281C98-B74D-403B-8536-966871B992E3} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{DDCE1AE3-AA0D-4E2D-AD1B-8CA322AFA7DD} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{1D38AEC8-F5C0-4B1C-A0AE-18F4015A2E78} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{A35E6AD6-6D46-41E1-8DB1-A41086793893} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{08D0F53A-CD37-4060-B5A2-BCC202F0DE46} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{7B573D52-181D-482F-A61C-82E543B3E958} = {5D8A9D62-C11C-45B2-8965-43DE8160B558}
{D209C368-1277-4EA6-A887-AA6EBA51AB99} = {7B573D52-181D-482F-A61C-82E543B3E958}
{C3264FF3-E2D7-48D7-93A7-CDC9A827AD9D} = {7B573D52-181D-482F-A61C-82E543B3E958}
{705FBD41-77A9-4FE7-A6C1-85026F2DDA09} = {7B573D52-181D-482F-A61C-82E543B3E958}
{E7541163-D7BB-4E9A-A722-D7737B7A2995} = {7B573D52-181D-482F-A61C-82E543B3E958}
{5B8B0EAB-3E74-48BB-8231-26E73B2019DC} = {7B573D52-181D-482F-A61C-82E543B3E958}
{A21BFC37-44FC-41A0-B6E7-6F949F45A635} = {5D8A9D62-C11C-45B2-8965-43DE8160B558}
{A972031D-2F61-4183-AF75-99EE1A9F6B32} = {49D441DF-39FD-4F4D-AECA-86CF8EFE23AF}
{775FAD50-3623-4922-97C4-DFB29A8BE4C7} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{372A3447-D657-40FF-A089-77C19FEC30C8} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{D694CB69-6CFB-4762-86C2-EB27B808B282} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{C2A8FC7A-FA64-46EA-AF6D-73D6B371DBF8} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46} = {576DB1E6-C5EC-4FEF-A826-EC19D8BEE572}
{B310A760-8AE1-41CA-81F8-03B12E2FCE30} = {576DB1E6-C5EC-4FEF-A826-EC19D8BEE572}
{28B605B2-E2E9-417E-8369-49E263F1F31B} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7} = {5D8A9D62-C11C-45B2-8965-43DE8160B558}
{D6FBBB3A-F6B8-45BB-B657-A7226AB96624} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{3DEB15F9-E7DA-403F-B6D3-A8499310397F} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{9ED200E4-2026-4955-87E0-D8CEA7BD9E7F} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{A76794DA-29A4-4D63-9850-E0E363A2FAFD} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{A4F0C741-6ED4-46C8-AE75-57E1C7197E22} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{B923C1E7-54DD-4E79-A1A9-B21123863B04} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{96181317-7B6F-49F0-B283-6E804D41C8AF} = {B923C1E7-54DD-4E79-A1A9-B21123863B04}
{E71A76CA-0089-4E1A-A7FB-210429DBED6E} = {B923C1E7-54DD-4E79-A1A9-B21123863B04}
{793CEC1B-D44D-4162-BE03-913BF1FDB458} = {B923C1E7-54DD-4E79-A1A9-B21123863B04}
{AECFA3FB-E55A-4151-9DEA-F715FBB972BA} = {B923C1E7-54DD-4E79-A1A9-B21123863B04}
{379058E2-E834-4CC7-B5CD-AC8DFCF82AEA} = {B923C1E7-54DD-4E79-A1A9-B21123863B04}
{B6D3AEAE-ECDA-4047-A9BA-CC6DA3EBEDF8} = {B923C1E7-54DD-4E79-A1A9-B21123863B04}
{8C53C716-3E54-4DFE-8CD9-F4099042FCFA} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{C4D16DF1-B6FA-42F5-834E-B01DA1BAA1FF} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{3AFA44B9-9DF0-494E-B633-6E6B9F2BB808} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{42BC31BF-0A03-43EC-925B-1419DD7F2C7C} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{F0BA2671-5160-4164-B1FC-2883728C42D9} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{8472DB53-5950-4A70-864C-567A55A6C4A1} = {7B573D52-181D-482F-A61C-82E543B3E958}
{5249870F-7119-45DE-A269-66D6451E2507} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{6872DB53-3250-4A70-2A4C-567A55A6C4B3} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{28C7B9D6-BE1F-45E5-952C-0D5C9CA3EFDF} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{DBD0C8B0-BE4E-4CBF-AAD4-44BEA2EA830B} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{46EC0BC1-8F51-4B4D-B967-2EE452EA68FC} = {7B573D52-181D-482F-A61C-82E543B3E958}
{D339BFC2-AF3F-46FA-899A-14BAD4BCA35B} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{0A5F920A-1BF5-4DAC-B799-0C618B203797} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{1A48458D-31A4-48D3-8EB2-2C79CFE4E82C} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{B00DC1F7-764B-4B65-9953-FA557E2EC493} = {7B573D52-181D-482F-A61C-82E543B3E958}
{3FA7B726-8AF9-4554-B41A-0BD915E4EAB5} = {64FE69B2-CE0B-4A47-83A3-9DE803851447}
{C861E6BA-852B-4BC1-ACE7-77C8D6E7898B} = {83154E24-B0DD-48E7-8BB5-55CF3D7B0FE3}
{901DA110-F30A-4515-880D-E9D59B6ECB4E} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{32405F86-07E7-41A7-94EB-2AD6B290ED07} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{74CB429E-69D7-4525-BBDF-BBC47DBC7070} = {A6EBC77C-9A34-4796-B4D0-E7A1E21A65A7}
{A2B973C4-EA96-4B00-B2BE-04BFD9D5AA39} = {A21BFC37-44FC-41A0-B6E7-6F949F45A635}
{0F18F7A5-87CA-41E0-ACB2-A13C68D6CC5B} = {32405F86-07E7-41A7-94EB-2AD6B290ED07}
{8CDC481D-DB17-4145-9963-9E895C29CBC5} = {32405F86-07E7-41A7-94EB-2AD6B290ED07}
{B538DFF5-4309-497A-8E5D-415BE2FA3F8F} = {A972031D-2F61-4183-AF75-99EE1A9F6B32}
{43A219A8-2995-4884-806F-FDB9CD25D403} = {A972031D-2F61-4183-AF75-99EE1A9F6B32}
{BC87F477-1A7A-45D0-9AC1-9F7315264732} = {A972031D-2F61-4183-AF75-99EE1A9F6B32}
{140CDAD6-6E11-4A97-94F3-B23A14391117} = {A972031D-2F61-4183-AF75-99EE1A9F6B32}
{F3E87D0F-6F06-4C0B-AE06-42C0834C3C6E} = {A972031D-2F61-4183-AF75-99EE1A9F6B32}
{49BF96D3-3F1B-4553-BE55-296FA7C3F659} = {5D8A9D62-C11C-45B2-8965-43DE8160B558}
{7FA125B4-E377-4D4C-AECB-17B934E3A4B3} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{82F93F6E-5C10-4CC7-BC65-AC0B9CA6D39A} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{8FCE12F2-FE7B-43D0-94E9-3B71FECAFE64} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{FD6D4774-71B7-4D7A-BE91-753B12C0BB4E} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{A7E48768-23B5-4A11-B10A-048FB21A0955} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{C6156B98-923A-474B-B257-29107476E93C} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{520F4C89-51B6-49D6-9ED7-4523048C0154} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{B93FC354-D59D-4650-84E4-7FCA7D51689A} = {49BF96D3-3F1B-4553-BE55-296FA7C3F659}
{A867079B-A172-4DAE-9549-63B331092A23} = {B923C1E7-54DD-4E79-A1A9-B21123863B04}
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = src\NUnitFramework\tests\nunitlite.tests-2.0.csproj
{28B605B2-E2E9-417E-8369-49E263F1F31B} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{FFF45826-991F-465B-8A03-0E1DB7E8F38C} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
{11640C9F-03A3-456B-848D-9B4A126F9506} = {31B45C4C-206F-4F31-9CC6-33BF11DFEE39}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,66 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework-netcf-3.5", "src\NUnitFramework\framework\nunit.framework-netcf-3.5.csproj", "{B41DB8FB-0D2F-45CE-9345-AF469FC05EE8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.testdata-netcf-3.5", "src\NUnitFramework\testdata\nunit.testdata-netcf-3.5.csproj", "{0B7C0B55-6A49-4F32-993E-C9ED6DA0B73C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.tests-netcf-3.5", "src\NUnitFramework\tests\nunit.framework.tests-netcf-3.5.csproj", "{80A9EC94-2C42-44AC-9D2C-E1418D712C48}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mock-assembly-netcf-3.5", "src\NUnitFramework\mock-assembly\mock-assembly-netcf-3.5.csproj", "{D40A4728-2F9B-41D7-AAD9-7AD95D0032C3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slow-nunit-tests-netcf-3.5", "src\NUnitFramework\slow-tests\slow-nunit-tests-netcf-3.5.csproj", "{48C7F514-CA22-4405-9804-AE1703B8BC3F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite.tests-netcf-3.5", "src\NUnitFramework\nunitlite.tests\nunitlite.tests-netcf-3.5.csproj", "{C99C43D5-7706-4072-9CC0-9CF52412440E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-netcf-3.5", "src\NUnitFramework\nunitlite\nunitlite-netcf-3.5.csproj", "{FCB4F998-02D6-4D7F-A188-E0FB1F12F151}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitlite-runner-netcf-3.5", "src\NUnitFramework\nunitlite-runner\nunitlite-runner-netcf-3.5.csproj", "{D8D5220D-E155-4A60-AB63-0DEC87A54C87}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B41DB8FB-0D2F-45CE-9345-AF469FC05EE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B41DB8FB-0D2F-45CE-9345-AF469FC05EE8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B41DB8FB-0D2F-45CE-9345-AF469FC05EE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B41DB8FB-0D2F-45CE-9345-AF469FC05EE8}.Release|Any CPU.Build.0 = Release|Any CPU
{0B7C0B55-6A49-4F32-993E-C9ED6DA0B73C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0B7C0B55-6A49-4F32-993E-C9ED6DA0B73C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0B7C0B55-6A49-4F32-993E-C9ED6DA0B73C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0B7C0B55-6A49-4F32-993E-C9ED6DA0B73C}.Release|Any CPU.Build.0 = Release|Any CPU
{80A9EC94-2C42-44AC-9D2C-E1418D712C48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{80A9EC94-2C42-44AC-9D2C-E1418D712C48}.Debug|Any CPU.Build.0 = Debug|Any CPU
{80A9EC94-2C42-44AC-9D2C-E1418D712C48}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{80A9EC94-2C42-44AC-9D2C-E1418D712C48}.Release|Any CPU.ActiveCfg = Release|Any CPU
{80A9EC94-2C42-44AC-9D2C-E1418D712C48}.Release|Any CPU.Build.0 = Release|Any CPU
{80A9EC94-2C42-44AC-9D2C-E1418D712C48}.Release|Any CPU.Deploy.0 = Release|Any CPU
{D40A4728-2F9B-41D7-AAD9-7AD95D0032C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D40A4728-2F9B-41D7-AAD9-7AD95D0032C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D40A4728-2F9B-41D7-AAD9-7AD95D0032C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D40A4728-2F9B-41D7-AAD9-7AD95D0032C3}.Release|Any CPU.Build.0 = Release|Any CPU
{48C7F514-CA22-4405-9804-AE1703B8BC3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48C7F514-CA22-4405-9804-AE1703B8BC3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48C7F514-CA22-4405-9804-AE1703B8BC3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{48C7F514-CA22-4405-9804-AE1703B8BC3F}.Release|Any CPU.Build.0 = Release|Any CPU
{C99C43D5-7706-4072-9CC0-9CF52412440E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C99C43D5-7706-4072-9CC0-9CF52412440E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C99C43D5-7706-4072-9CC0-9CF52412440E}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{C99C43D5-7706-4072-9CC0-9CF52412440E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C99C43D5-7706-4072-9CC0-9CF52412440E}.Release|Any CPU.Build.0 = Release|Any CPU
{FCB4F998-02D6-4D7F-A188-E0FB1F12F151}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FCB4F998-02D6-4D7F-A188-E0FB1F12F151}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FCB4F998-02D6-4D7F-A188-E0FB1F12F151}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FCB4F998-02D6-4D7F-A188-E0FB1F12F151}.Release|Any CPU.Build.0 = Release|Any CPU
{D8D5220D-E155-4A60-AB63-0DEC87A54C87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D8D5220D-E155-4A60-AB63-0DEC87A54C87}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8D5220D-E155-4A60-AB63-0DEC87A54C87}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{D8D5220D-E155-4A60-AB63-0DEC87A54C87}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8D5220D-E155-4A60-AB63-0DEC87A54C87}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,30 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System.Reflection;
//
// Current version for the NUnit Console
//
[assembly: AssemblyVersion("3.3.0.0")]
[assembly: AssemblyFileVersion("3.3.0.0")]

Просмотреть файл

@ -1,71 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using NUnit.Common;
using NUnit.Framework;
namespace NUnit.ConsoleRunner.Tests
{
using Utilities;
[TestFixture, Parallelizable(ParallelScope.None)]
public class ColorConsoleTests
{
private ColorStyle _testStyle;
[SetUp]
public void SetUp()
{
// Find a test color that is different than the console color
if (Console.ForegroundColor != ColorConsole.GetColor( ColorStyle.Error ))
_testStyle = ColorStyle.Error;
else if (Console.ForegroundColor != ColorConsole.GetColor( ColorStyle.Pass ))
_testStyle = ColorStyle.Pass;
else
Assert.Inconclusive("Could not find a color to test with");
// Set to an unknown, unlikely color so that we can test for change
Console.ForegroundColor = ConsoleColor.Magenta;
Assume.That(Console.ForegroundColor, Is.EqualTo(ConsoleColor.Magenta), "Color tests cannot be run because the current console does not support color");
}
[TearDown]
public void TearDown()
{
Console.ResetColor();
}
[Test]
public void TestConstructor()
{
ConsoleColor expected = ColorConsole.GetColor(_testStyle);
using(new ColorConsole(_testStyle))
{
Assert.That(Console.ForegroundColor, Is.EqualTo(expected));
}
Assert.That( Console.ForegroundColor, Is.Not.EqualTo(expected) );
}
}
}

Просмотреть файл

@ -1,43 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using NUnit.Common;
using NUnit.Framework;
namespace NUnit.ConsoleRunner.Utilities.Tests
{
[TestFixture]
public class ColorStyleTests
{
// We can only test colors that are the same for all console backgrounds
[TestCase(ColorStyle.Pass, ConsoleColor.Green)]
[TestCase(ColorStyle.Failure, ConsoleColor.Red)]
//[TestCase(ColorStyle.Warning, ConsoleColor.Yellow)]
[TestCase(ColorStyle.Error, ConsoleColor.Red)]
public void TestGetColor( ColorStyle style, ConsoleColor expected )
{
Assert.That(ColorConsole.GetColor(style), Is.EqualTo(expected));
}
}
}

Просмотреть файл

@ -1,579 +0,0 @@
// ***********************************************************************
// Copyright (c) 2011 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System.IO;
using System.Reflection;
using NUnit.Common;
using NUnit.Options;
namespace NUnit.ConsoleRunner.Tests
{
using System.Collections.Generic;
using Framework;
[TestFixture]
public class CommandLineTests
{
#region General Tests
[Test]
public void NoInputFiles()
{
ConsoleOptions options = new ConsoleOptions();
Assert.True(options.Validate());
Assert.AreEqual(0, options.InputFiles.Count);
}
[TestCase("ShowHelp", "help|h")]
[TestCase("ShowVersion", "version|V")]
[TestCase("StopOnError", "stoponerror")]
[TestCase("WaitBeforeExit", "wait")]
[TestCase("NoHeader", "noheader|noh")]
[TestCase("RunAsX86", "x86")]
[TestCase("DisposeRunners", "dispose-runners")]
[TestCase("ShadowCopyFiles", "shadowcopy")]
[TestCase("TeamCity", "teamcity")]
[TestCase("DebugTests", "debug")]
[TestCase("PauseBeforeRun", "pause")]
#if DEBUG
[TestCase("DebugAgent", "debug-agent")]
#endif
public void CanRecognizeBooleanOptions(string propertyName, string pattern)
{
string[] prototypes = pattern.Split('|');
PropertyInfo property = GetPropertyInfo(propertyName);
Assert.AreEqual(typeof(bool), property.PropertyType, "Property '{0}' is wrong type", propertyName);
foreach (string option in prototypes)
{
ConsoleOptions options;
if (option.Length == 1)
{
options = new ConsoleOptions("-" + option);
Assert.AreEqual(true, (bool)property.GetValue(options, null), "Didn't recognize -" + option);
options = new ConsoleOptions("-" + option + "+");
Assert.AreEqual(true, (bool)property.GetValue(options, null), "Didn't recognize -" + option + "+");
options = new ConsoleOptions("-" + option + "-");
Assert.AreEqual(false, (bool)property.GetValue(options, null), "Didn't recognize -" + option + "-");
}
else
{
options = new ConsoleOptions("--" + option);
Assert.AreEqual(true, (bool)property.GetValue(options, null), "Didn't recognize --" + option);
}
options = new ConsoleOptions("/" + option);
Assert.AreEqual(true, (bool)property.GetValue(options, null), "Didn't recognize /" + option);
}
}
[TestCase("WhereClause", "where", new string[] { "cat==Fast" }, new string[0])]
[TestCase("ActiveConfig", "config", new string[] { "Debug" }, new string[0])]
[TestCase("ProcessModel", "process", new string[] { "InProcess", "Separate", "Multiple" }, new string[] { "JUNK" })]
[TestCase("DomainUsage", "domain", new string[] { "None", "Single", "Multiple" }, new string[] { "JUNK" })]
[TestCase("Framework", "framework", new string[] { "net-4.0" }, new string[0])]
[TestCase("OutFile", "output|out", new string[] { "output.txt" }, new string[0])]
[TestCase("ErrFile", "err", new string[] { "error.txt" }, new string[0])]
[TestCase("WorkDirectory", "work", new string[] { "results" }, new string[0])]
[TestCase("DisplayTestLabels", "labels", new string[] { "Off", "On", "All" }, new string[] { "JUNK" })]
[TestCase("InternalTraceLevel", "trace", new string[] { "Off", "Error", "Warning", "Info", "Debug", "Verbose" }, new string[] { "JUNK" })]
[TestCase("DefaultTestNamePattern", "test-name-format", new string[] { "{m}{a}" }, new string[0])]
public void CanRecognizeStringOptions(string propertyName, string pattern, string[] goodValues, string[] badValues)
{
string[] prototypes = pattern.Split('|');
PropertyInfo property = GetPropertyInfo(propertyName);
Assert.AreEqual(typeof(string), property.PropertyType);
foreach (string option in prototypes)
{
foreach (string value in goodValues)
{
string optionPlusValue = string.Format("--{0}:{1}", option, value);
ConsoleOptions options = new ConsoleOptions(optionPlusValue);
Assert.True(options.Validate(), "Should be valid: " + optionPlusValue);
Assert.AreEqual(value, (string)property.GetValue(options, null), "Didn't recognize " + optionPlusValue);
}
foreach (string value in badValues)
{
string optionPlusValue = string.Format("--{0}:{1}", option, value);
ConsoleOptions options = new ConsoleOptions(optionPlusValue);
Assert.False(options.Validate(), "Should not be valid: " + optionPlusValue);
}
}
}
[Test]
public void CanRegognizeInProcessOption()
{
ConsoleOptions options = new ConsoleOptions("--inprocess");
Assert.True(options.Validate(), "Should be valid: --inprocess");
Assert.AreEqual("InProcess", options.ProcessModel, "Didn't recognize --inprocess");
}
[TestCase("ProcessModel", "process", new string[] { "InProcess", "Separate", "Multiple" })]
[TestCase("DomainUsage", "domain", new string[] { "None", "Single", "Multiple" })]
[TestCase("DisplayTestLabels", "labels", new string[] { "Off", "On", "All" })]
[TestCase("InternalTraceLevel", "trace", new string[] { "Off", "Error", "Warning", "Info", "Debug", "Verbose" })]
public void CanRecognizeLowerCaseOptionValues(string propertyName, string optionName, string[] canonicalValues)
{
PropertyInfo property = GetPropertyInfo(propertyName);
Assert.AreEqual(typeof(string), property.PropertyType);
foreach (string canonicalValue in canonicalValues)
{
string lowercaseValue = canonicalValue.ToLowerInvariant();
string optionPlusValue = string.Format("--{0}:{1}", optionName, lowercaseValue);
ConsoleOptions options = new ConsoleOptions(optionPlusValue);
Assert.True(options.Validate(), "Should be valid: " + optionPlusValue);
Assert.AreEqual(canonicalValue, (string)property.GetValue(options, null), "Didn't recognize " + optionPlusValue);
}
}
[TestCase("DefaultTimeout", "timeout")]
[TestCase("RandomSeed", "seed")]
[TestCase("NumberOfTestWorkers", "workers")]
[TestCase("MaxAgents", "agents")]
public void CanRecognizeIntOptions(string propertyName, string pattern)
{
string[] prototypes = pattern.Split('|');
PropertyInfo property = GetPropertyInfo(propertyName);
Assert.AreEqual(typeof(int), property.PropertyType);
foreach (string option in prototypes)
{
ConsoleOptions options = new ConsoleOptions("--" + option + ":42");
Assert.AreEqual(42, (int)property.GetValue(options, null), "Didn't recognize --" + option + ":42");
}
}
//[TestCase("InternalTraceLevel", "trace", typeof(InternalTraceLevel))]
//public void CanRecognizeEnumOptions(string propertyName, string pattern, Type enumType)
//{
// string[] prototypes = pattern.Split('|');
// PropertyInfo property = GetPropertyInfo(propertyName);
// Assert.IsNotNull(property, "Property {0} not found", propertyName);
// Assert.IsTrue(property.PropertyType.IsEnum, "Property {0} is not an enum", propertyName);
// Assert.AreEqual(enumType, property.PropertyType);
// foreach (string option in prototypes)
// {
// foreach (string name in Enum.GetNames(enumType))
// {
// {
// ConsoleOptions options = new ConsoleOptions("--" + option + ":" + name);
// Assert.AreEqual(name, property.GetValue(options, null).ToString(), "Didn't recognize -" + option + ":" + name);
// }
// }
// }
//}
[TestCase("--where")]
[TestCase("--config")]
[TestCase("--process")]
[TestCase("--domain")]
[TestCase("--framework")]
[TestCase("--timeout")]
[TestCase("--output")]
[TestCase("--err")]
[TestCase("--work")]
[TestCase("--trace")]
[TestCase("--test-name-format")]
public void MissingValuesAreReported(string option)
{
ConsoleOptions options = new ConsoleOptions(option + "=");
Assert.False(options.Validate(), "Missing value should not be valid");
Assert.AreEqual("Missing required value for option '" + option + "'.", options.ErrorMessages[0]);
}
[Test]
public void AssemblyName()
{
ConsoleOptions options = new ConsoleOptions("nunit.tests.dll");
Assert.True(options.Validate());
Assert.AreEqual(1, options.InputFiles.Count);
Assert.AreEqual("nunit.tests.dll", options.InputFiles[0]);
}
//[Test]
//public void FixtureNamePlusAssemblyIsValid()
//{
// ConsoleOptions options = new ConsoleOptions( "-fixture:NUnit.Tests.AllTests", "nunit.tests.dll" );
// Assert.AreEqual("nunit.tests.dll", options.Parameters[0]);
// Assert.AreEqual("NUnit.Tests.AllTests", options.fixture);
// Assert.IsTrue(options.Validate());
//}
[Test]
public void AssemblyAloneIsValid()
{
ConsoleOptions options = new ConsoleOptions("nunit.tests.dll");
Assert.True(options.Validate());
Assert.AreEqual(0, options.ErrorMessages.Count, "command line should be valid");
}
[Test, Platform("32-Bit")]
public void X86AndInProcessAreCompatibleIn32BitProcess()
{
ConsoleOptions options = new ConsoleOptions("nunit.tests.dll", "--x86", "--inprocess");
Assert.True(options.Validate());
Assert.AreEqual(0, options.ErrorMessages.Count, "command line should be valid");
}
[Test, Platform("64-Bit")]
public void X86AndInProcessAreNotCompatibleIn64BitProcess()
{
ConsoleOptions options = new ConsoleOptions("nunit.tests.dll", "--x86", "--inprocess");
Assert.False(options.Validate(), "Should be invalid");
Assert.AreEqual("The --x86 and --inprocess options are incompatible.", options.ErrorMessages[0]);
}
[Test]
public void InvalidOption()
{
ConsoleOptions options = new ConsoleOptions("-assembly:nunit.tests.dll");
Assert.False(options.Validate());
Assert.AreEqual(1, options.ErrorMessages.Count);
Assert.AreEqual("Invalid argument: -assembly:nunit.tests.dll", options.ErrorMessages[0]);
}
//[Test]
//public void NoFixtureNameProvided()
//{
// ConsoleOptions options = new ConsoleOptions( "-fixture:", "nunit.tests.dll" );
// Assert.IsFalse(options.Validate());
//}
[Test]
public void InvalidCommandLineParms()
{
ConsoleOptions options = new ConsoleOptions("-garbage:TestFixture", "-assembly:Tests.dll");
Assert.False(options.Validate());
Assert.AreEqual(2, options.ErrorMessages.Count);
Assert.AreEqual("Invalid argument: -garbage:TestFixture", options.ErrorMessages[0]);
Assert.AreEqual("Invalid argument: -assembly:Tests.dll", options.ErrorMessages[1]);
}
#endregion
#region Timeout Option
[Test]
public void TimeoutIsMinusOneIfNoOptionIsProvided()
{
ConsoleOptions options = new ConsoleOptions("tests.dll");
Assert.True(options.Validate());
Assert.AreEqual(-1, options.DefaultTimeout);
}
[Test]
public void TimeoutThrowsExceptionIfOptionHasNoValue()
{
Assert.Throws<OptionException>(() => new ConsoleOptions("tests.dll", "-timeout"));
}
[Test]
public void TimeoutParsesIntValueCorrectly()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-timeout:5000");
Assert.True(options.Validate());
Assert.AreEqual(5000, options.DefaultTimeout);
}
[Test]
public void TimeoutCausesErrorIfValueIsNotInteger()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-timeout:abc");
Assert.False(options.Validate());
Assert.AreEqual(-1, options.DefaultTimeout);
}
#endregion
#region EngineResult Option
[Test]
public void ResultOptionWithFilePath()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:results.xml");
Assert.True(options.Validate());
Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set");
Assert.AreEqual("tests.dll", options.InputFiles[0]);
OutputSpecification spec = options.ResultOutputSpecifications[0];
Assert.AreEqual("results.xml", spec.OutputPath);
Assert.AreEqual("nunit3", spec.Format);
Assert.Null(spec.Transform);
}
[Test]
public void ResultOptionWithFilePathAndFormat()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:results.xml;format=nunit2");
Assert.True(options.Validate());
Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set");
Assert.AreEqual("tests.dll", options.InputFiles[0]);
OutputSpecification spec = options.ResultOutputSpecifications[0];
Assert.AreEqual("results.xml", spec.OutputPath);
Assert.AreEqual("nunit2", spec.Format);
Assert.Null(spec.Transform);
}
[Test]
public void ResultOptionWithFilePathAndTransform()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:results.xml;transform=transform.xslt");
Assert.True(options.Validate());
Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set");
Assert.AreEqual("tests.dll", options.InputFiles[0]);
OutputSpecification spec = options.ResultOutputSpecifications[0];
Assert.AreEqual("results.xml", spec.OutputPath);
Assert.AreEqual("user", spec.Format);
Assert.AreEqual("transform.xslt", spec.Transform);
}
[Test]
public void FileNameWithoutResultOptionLooksLikeParameter()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "results.xml");
Assert.True(options.Validate());
Assert.AreEqual(0, options.ErrorMessages.Count);
Assert.AreEqual(2, options.InputFiles.Count);
}
[Test]
public void ResultOptionWithoutFileNameIsInvalid()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:");
Assert.False(options.Validate(), "Should not be valid");
Assert.AreEqual(1, options.ErrorMessages.Count, "An error was expected");
}
[Test]
public void ResultOptionMayBeRepeated()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-result:results.xml", "-result:nunit2results.xml;format=nunit2", "-result:myresult.xml;transform=mytransform.xslt");
Assert.True(options.Validate(), "Should be valid");
var specs = options.ResultOutputSpecifications;
Assert.AreEqual(3, specs.Count);
var spec1 = specs[0];
Assert.AreEqual("results.xml", spec1.OutputPath);
Assert.AreEqual("nunit3", spec1.Format);
Assert.Null(spec1.Transform);
var spec2 = specs[1];
Assert.AreEqual("nunit2results.xml", spec2.OutputPath);
Assert.AreEqual("nunit2", spec2.Format);
Assert.Null(spec2.Transform);
var spec3 = specs[2];
Assert.AreEqual("myresult.xml", spec3.OutputPath);
Assert.AreEqual("user", spec3.Format);
Assert.AreEqual("mytransform.xslt", spec3.Transform);
}
[Test]
public void DefaultResultSpecification()
{
var options = new ConsoleOptions("test.dll");
Assert.AreEqual(1, options.ResultOutputSpecifications.Count);
var spec = options.ResultOutputSpecifications[0];
Assert.AreEqual("TestResult.xml", spec.OutputPath);
Assert.AreEqual("nunit3", spec.Format);
Assert.Null(spec.Transform);
}
[Test]
public void NoResultSuppressesDefaultResultSpecification()
{
var options = new ConsoleOptions("test.dll", "-noresult");
Assert.AreEqual(0, options.ResultOutputSpecifications.Count);
}
[Test]
public void NoResultSuppressesAllResultSpecifications()
{
var options = new ConsoleOptions("test.dll", "-result:results.xml", "-noresult", "-result:nunit2results.xml;format=nunit2");
Assert.AreEqual(0, options.ResultOutputSpecifications.Count);
}
#endregion
#region Explore Option
[Test]
public void ExploreOptionWithoutPath()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore");
Assert.True(options.Validate());
Assert.True(options.Explore);
}
[Test]
public void ExploreOptionWithFilePath()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore:results.xml");
Assert.True(options.Validate());
Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set");
Assert.AreEqual("tests.dll", options.InputFiles[0]);
Assert.True(options.Explore);
OutputSpecification spec = options.ExploreOutputSpecifications[0];
Assert.AreEqual("results.xml", spec.OutputPath);
Assert.AreEqual("nunit3", spec.Format);
Assert.Null(spec.Transform);
}
[Test]
public void ExploreOptionWithFilePathAndFormat()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore:results.xml;format=cases");
Assert.True(options.Validate());
Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set");
Assert.AreEqual("tests.dll", options.InputFiles[0]);
Assert.True(options.Explore);
OutputSpecification spec = options.ExploreOutputSpecifications[0];
Assert.AreEqual("results.xml", spec.OutputPath);
Assert.AreEqual("cases", spec.Format);
Assert.Null(spec.Transform);
}
[Test]
public void ExploreOptionWithFilePathAndTransform()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore:results.xml;transform=myreport.xslt");
Assert.True(options.Validate());
Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set");
Assert.AreEqual("tests.dll", options.InputFiles[0]);
Assert.True(options.Explore);
OutputSpecification spec = options.ExploreOutputSpecifications[0];
Assert.AreEqual("results.xml", spec.OutputPath);
Assert.AreEqual("user", spec.Format);
Assert.AreEqual("myreport.xslt", spec.Transform);
}
[Test]
public void ExploreOptionWithFilePathUsingEqualSign()
{
ConsoleOptions options = new ConsoleOptions("tests.dll", "-explore=C:/nunit/tests/bin/Debug/console-test.xml");
Assert.True(options.Validate());
Assert.True(options.Explore);
Assert.AreEqual(1, options.InputFiles.Count, "assembly should be set");
Assert.AreEqual("tests.dll", options.InputFiles[0]);
Assert.AreEqual("C:/nunit/tests/bin/Debug/console-test.xml", options.ExploreOutputSpecifications[0].OutputPath);
}
[Test]
[TestCase(true, null, true)]
[TestCase(false, null, false)]
[TestCase(true, false, true)]
[TestCase(false, false, false)]
[TestCase(true, true, true)]
[TestCase(false, true, true)]
public void ShouldSetTeamCityFlagAccordingToArgsAndDefauls(bool hasTeamcityInCmd, bool? defaultTeamcity, bool expectedTeamCity)
{
// Given
List<string> args = new List<string> { "tests.dll" };
if (hasTeamcityInCmd)
{
args.Add("--teamcity");
}
ConsoleOptions options;
if (defaultTeamcity.HasValue)
{
options = new ConsoleOptions(new DefaultOptionsProviderStub(defaultTeamcity.Value), args.ToArray());
}
else
{
options = new ConsoleOptions(args.ToArray());
}
// When
var actualTeamCity = options.TeamCity;
// Then
Assert.AreEqual(actualTeamCity, expectedTeamCity);
}
#endregion
#region Testlist Option
[Test]
public void ShouldNotFailOnEmptyLine()
{
var testListPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestListWithEmptyLine.tst");
// Not copying this test file into releases
Assume.That(testListPath, Does.Exist);
var options = new ConsoleOptions("--testlist=" + testListPath);
Assert.That(options.errorMessages, Is.Empty);
Assert.That(options.TestList, Is.EqualTo(new[] {"AmazingTest"}));
}
#endregion
#region Helper Methods
private static FieldInfo GetFieldInfo(string fieldName)
{
FieldInfo field = typeof(ConsoleOptions).GetField(fieldName);
Assert.IsNotNull(field, "The field '{0}' is not defined", fieldName);
return field;
}
private static PropertyInfo GetPropertyInfo(string propertyName)
{
PropertyInfo property = typeof(ConsoleOptions).GetProperty(propertyName);
Assert.IsNotNull(property, "The property '{0}' is not defined", propertyName);
return property;
}
#endregion
internal sealed class DefaultOptionsProviderStub : IDefaultOptionsProvider
{
public DefaultOptionsProviderStub(bool teamCity)
{
TeamCity = teamCity;
}
public bool TeamCity { get; private set; }
}
}
}

Просмотреть файл

@ -1,75 +0,0 @@
// ***********************************************************************
// Copyright (c) 2015 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
namespace NUnit.ConsoleRunner.Tests
{
[TestFixture, Explicit]
public class ConsoleOutputTests
{
[OneTimeSetUp]
public void OneTimeSetUp()
{
Console.WriteLine("OneTimeSetUp: Console.WriteLine()");
Console.Error.WriteLine("OneTimeSetUp: Console.Error.WriteLine()");
TestContext.WriteLine("OneTimeSetUp: TestContext.WriteLine()");
}
[SetUp]
public void SetUp()
{
Console.WriteLine("SetUp: Console.WriteLine()");
Console.Error.WriteLine("SetUp: Console.Error.WriteLine()");
TestContext.WriteLine("SetUp: TestContext.WriteLine()");
}
[TearDown]
public void TearDown()
{
Console.WriteLine("TearDown: Console.WriteLine()");
Console.Error.WriteLine("TearDown: Console.Error.WriteLine()");
TestContext.WriteLine("TearDown: TestContext.WriteLine()");
}
[OneTimeTearDown]
public void OneTimeTearDown()
{
Console.WriteLine("OneTimeTearDown: Console.WriteLine()");
Console.Error.WriteLine("OneTimeTearDown: Console.Error.WriteLine()");
TestContext.WriteLine("OneTimeTearDown: TestContext.WriteLine()");
}
[Test]
public void Test()
{
Console.WriteLine("Test: Console.WriteLine()");
Console.Error.WriteLine("Test: Console.Error.WriteLine()");
TestContext.WriteLine("Test: TestContext.WriteLine()");
}
}
}

Просмотреть файл

@ -1,9 +0,0 @@
<NUnitProject>
<Settings autoconfig="true" processModel="Default" domainUsage="Default" />
<Config name="Debug">
<assembly path="nunit3-console.tests.dll" />
</Config>
<Config name="Release">
<assembly path="nunit3-console.tests.dll" />
</Config>
</NUnitProject>

Просмотреть файл

@ -1,145 +0,0 @@
// ***********************************************************************
// Copyright (c) 2011-2015 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System.IO;
using NUnit.Common;
using NUnit.Framework;
namespace NUnit.ConsoleRunner.Tests
{
public class MakeTestPackageTests
{
[Test]
public void SingleAssembly()
{
var options = new ConsoleOptions("test.dll");
var package = ConsoleRunner.MakeTestPackage(options);
Assert.AreEqual(1, package.SubPackages.Count);
Assert.AreEqual(Path.GetFullPath("test.dll"), package.SubPackages[0].FullName);
}
[Test]
public void MultipleAssemblies()
{
var names = new [] { "test1.dll", "test2.dll", "test3.dll" };
var options = new ConsoleOptions(names);
var package = ConsoleRunner.MakeTestPackage(options);
Assert.AreEqual(3, package.SubPackages.Count);
Assert.AreEqual(Path.GetFullPath("test1.dll"), package.SubPackages[0].FullName);
Assert.AreEqual(Path.GetFullPath("test2.dll"), package.SubPackages[1].FullName);
Assert.AreEqual(Path.GetFullPath("test3.dll"), package.SubPackages[2].FullName);
}
[TestCase("--timeout=50", "DefaultTimeout", 50)]
[TestCase("--x86", "RunAsX86", true)]
[TestCase("--dispose-runners", "DisposeRunners", true)]
[TestCase("--shadowcopy", "ShadowCopyFiles", true)]
[TestCase("--process=Separate", "ProcessModel", "Separate")]
[TestCase("--process=separate", "ProcessModel", "Separate")]
[TestCase("--process=Single", "ProcessModel", "InProcess")]
[TestCase("--process=InProcess", "ProcessModel", "InProcess")]
[TestCase("--inprocess", "ProcessModel", "InProcess")]
[TestCase("--domain=Multiple", "DomainUsage", "Multiple")]
[TestCase("--domain=multiple", "DomainUsage", "Multiple")]
[TestCase("--framework=net-4.0", "RuntimeFramework", "net-4.0")]
[TestCase("--config=Release", "ActiveConfig", "Release")]
[TestCase("--trace=Error", "InternalTraceLevel", "Error")]
[TestCase("--trace=error", "InternalTraceLevel", "Error")]
[TestCase("--seed=1234", "RandomSeed", 1234)]
[TestCase("--agents=5", "MaxAgents", 5)]
[TestCase("--workers=3", "NumberOfTestWorkers", 3)]
[TestCase("--workers=0", "NumberOfTestWorkers", 0)]
[TestCase("--debug", "DebugTests", true)]
[TestCase("--pause", "PauseBeforeRun", true)]
#if DEBUG
[TestCase("--debug-agent", "DebugAgent", true)]
#endif
public void WhenOptionIsSpecified_PackageIncludesSetting(string option, string key, object val)
{
var options = new ConsoleOptions("test.dll", option);
var package = ConsoleRunner.MakeTestPackage(options);
Assert.That(package.Settings.ContainsKey(key), "Setting not included for {0}", option);
Assert.AreEqual(val, package.Settings[key], "NumberOfTestWorkers not set correctly for {0}", option);
}
[Test]
public void WhenDebugging_NumberOfTestWorkersDefaultsToZero()
{
var options = new ConsoleOptions("test.dll", "--debug");
var package = ConsoleRunner.MakeTestPackage(options);
Assert.That(package.Settings["DebugTests"], Is.EqualTo(true));
Assert.That(package.Settings["NumberOfTestWorkers"], Is.EqualTo(0));
}
[Test]
public void WhenDebugging_NumberOfTestWorkersMayBeOverridden()
{
var options = new ConsoleOptions("test.dll", "--debug", "--workers=3");
var package = ConsoleRunner.MakeTestPackage(options);
Assert.That(package.Settings["DebugTests"], Is.EqualTo(true));
Assert.That(package.Settings["NumberOfTestWorkers"], Is.EqualTo(3));
}
//[Test]
//public void EnumOptions_MayBeSpecifiedAsInts()
//{
// var options = new ConsoleOptions("test.dll", "--trace=4");
// var package = ConsoleRunner.MakeTestPackage(options);
// Assert.That(package.Settings.ContainsKey("InternalTraceLevel"));
// Assert.AreEqual("Info", package.Settings["InternalTraceLevel"]);
//}
//[Test]
//public void EnumOptions_InvalidNamesCauseAnError()
//{
// var options = new ConsoleOptions("test.dll", "--trace=All");
// Assert.False(options.Validate());
//}
//[Test]
//public void EnumOptions_OutOfRangeValuesAreUsedAsIs()
//{
// var options = new ConsoleOptions("test.dll", "--trace=7");
// var package = ConsoleRunner.MakeTestPackage(options);
// Assert.That(package.Settings.ContainsKey("InternalTraceLevel"));
// Assert.AreEqual(7, package.Settings["InternalTraceLevel"]);
//}
[Test]
public void WhenNoOptionsAreSpecified_PackageContainsWorkDirectorySettingOnly()
{
var options = new ConsoleOptions("test.dll");
var package = ConsoleRunner.MakeTestPackage(options);
Assert.AreEqual(1, package.Settings.Count);
Assert.That(package.Settings.Keys, Contains.Item("WorkDirectory"));
}
}
}

Просмотреть файл

@ -1,108 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="failureType">
<xs:sequence>
<xs:element ref="message" />
<xs:element ref="stack-trace" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="reasonType">
<xs:sequence>
<xs:element ref="message" />
</xs:sequence>
</xs:complexType>
<xs:element name="message" type="xs:string" />
<xs:complexType name="resultsType">
<xs:choice>
<xs:element name="test-suite" type="test-suiteType" maxOccurs="unbounded" />
<xs:element name="test-case" type="test-caseType" maxOccurs="unbounded" minOccurs="0" />
</xs:choice>
</xs:complexType>
<xs:element name="stack-trace" type="xs:string" />
<xs:element name="test-results" type="resultType" />
<xs:complexType name="categoriesType">
<xs:sequence>
<xs:element name="category" type="categoryType" maxOccurs="unbounded" minOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="categoryType">
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="propertiesType">
<xs:sequence>
<xs:element name="property" type="propertyType" maxOccurs="unbounded" minOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="propertyType">
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="environmentType">
<xs:attribute name="nunit-version" type="xs:string" use="required" />
<xs:attribute name="clr-version" type="xs:string" use="required" />
<xs:attribute name="os-version" type="xs:string" use="required" />
<xs:attribute name="platform" type="xs:string" use="required" />
<xs:attribute name="cwd" type="xs:string" use="required" />
<xs:attribute name="machine-name" type="xs:string" use="required" />
<xs:attribute name="user" type="xs:string" use="required" />
<xs:attribute name="user-domain" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="culture-infoType">
<xs:attribute name="current-culture" type="xs:string" use="required" />
<xs:attribute name="current-uiculture" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="resultType">
<xs:sequence>
<xs:element name="environment" type="environmentType" />
<xs:element name="culture-info" type="culture-infoType" />
<xs:element name="test-suite" type="test-suiteType" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="total" type="xs:decimal" use="required" />
<xs:attribute name="errors" type="xs:decimal" use="required" />
<xs:attribute name="failures" type="xs:decimal" use="required" />
<xs:attribute name="inconclusive" type="xs:decimal" use="required" />
<xs:attribute name="not-run" type="xs:decimal" use="required" />
<xs:attribute name="ignored" type="xs:decimal" use="required" />
<xs:attribute name="skipped" type="xs:decimal" use="required" />
<xs:attribute name="invalid" type="xs:decimal" use="required" />
<xs:attribute name="date" type="xs:string" use="required" />
<xs:attribute name="time" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="test-caseType">
<xs:sequence>
<xs:element name="categories" type="categoriesType" minOccurs="0" maxOccurs="1" />
<xs:element name="properties" type="propertiesType" minOccurs="0" maxOccurs="1" />
<xs:choice>
<xs:element name="failure" type="failureType" minOccurs="0" />
<xs:element name="reason" type="reasonType" minOccurs="0" />
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional" />
<xs:attribute name="success" type="xs:string" use="optional" />
<xs:attribute name="time" type="xs:string" use="optional" />
<xs:attribute name="executed" type="xs:string" use="required" />
<xs:attribute name="asserts" type="xs:string" use="optional" />
<xs:attribute name="result" type="xs:string" use="required" />
</xs:complexType>
<xs:complexType name="test-suiteType">
<xs:sequence>
<xs:element name="categories" type="categoriesType" minOccurs="0" maxOccurs="1" />
<xs:element name="properties" type="propertiesType" minOccurs="0" maxOccurs="1" />
<xs:choice>
<xs:element name="failure" type="failureType" minOccurs="0" />
<xs:element name="reason" type="reasonType" minOccurs="0" />
</xs:choice>
<xs:element name="results" type="resultsType" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="description" type="xs:string" use="optional" />
<xs:attribute name="success" type="xs:string" use="optional" />
<xs:attribute name="time" type="xs:string" use="optional" />
<xs:attribute name="executed" type="xs:string" use="required" />
<xs:attribute name="asserts" type="xs:string" use="optional" />
<xs:attribute name="result" type="xs:string" use="required" />
</xs:complexType>
</xs:schema>

Просмотреть файл

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("nunit3-console.tests")]
[assembly: AssemblyDescription("Tests of the NUnit Console Runner")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f5209525-004e-44bc-8e19-9616924467ea")]

Просмотреть файл

@ -1,202 +0,0 @@
// ***********************************************************************
// Copyright (c) 2015 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml;
using NUnit.Common;
using NUnit.Engine;
using NUnit.Framework;
using NUnit.Framework.Api;
using NUnit.Framework.Internal;
using NUnit.Tests.Assemblies;
using NUnit.Engine.Internal;
namespace NUnit.ConsoleRunner.Tests
{
public class ResultReporterTests
{
private XmlNode _result;
private ResultReporter _reporter;
private StringBuilder _report;
[OneTimeSetUp]
public void CreateResult()
{
var mockAssembly = typeof (MockAssembly).Assembly;
var emptySettings = new Dictionary<string, object>();
var runner = new NUnitTestAssemblyRunner(new DefaultTestAssemblyBuilder());
runner.Load(mockAssembly, emptySettings);
var xmlText = runner.Run(TestListener.NULL, Framework.Internal.TestFilter.Empty).ToXml(true).OuterXml;
var engineResult = AddMetadata(new TestEngineResult(xmlText));
_result = engineResult.Xml;
Assert.NotNull(_result, "Unable to create report result.");
}
[SetUp]
public void CreateReporter()
{
_report = new StringBuilder();
var writer = new ExtendedTextWrapper(new StringWriter(_report));
_reporter = new ResultReporter(_result, writer, new ConsoleOptions());
}
[Test]
public void ReportSequenceTest()
{
var report = GetReport(_reporter.ReportResults);
var reportSequence = new[]
{
"Tests Not Run",
"Errors and Failures",
"Test Run Summary"
};
int last = -1;
foreach (string title in reportSequence)
{
var index = report.IndexOf(title);
Assert.That(index > 0, "Report not found: " + title);
Assert.That(index > last, "Report out of sequence: " + title);
last = index;
}
}
[Test]
public void SummaryReportTest()
{
var expected = new [] {
"Test Run Summary",
" Overall result: Failed",
" Test Count: 42, Passed: 27, Failed: 7, Inconclusive: 1, Skipped: 7",
" Failed Tests - Failures: 3, Errors: 1, Invalid: 3",
" Skipped Tests - Ignored: 4, Explicit: 3, Other: 0",
" Start time: 2015-10-19 02:12:28Z",
" End time: 2015-10-19 02:12:29Z",
" Duration: 0.349 seconds",
""
};
var actualSummary = GetReportLines(_reporter.WriteSummaryReport);
Assert.That(actualSummary, Is.EqualTo(expected));
}
[Test]
public void ErrorsAndFailuresReportTest()
{
var nl = Environment.NewLine;
var expected = new [] {
"Errors and Failures",
"1) Failed : NUnit.Tests.Assemblies.MockTestFixture.FailingTest" + nl +
"Intentional failure",
"2) Invalid : NUnit.Tests.Assemblies.MockTestFixture.NonPublicTest" + nl +
"Method is not public",
"3) Invalid : NUnit.Tests.Assemblies.MockTestFixture.NotRunnableTest" + nl +
"No arguments were provided",
"4) Error : NUnit.Tests.Assemblies.MockTestFixture.TestWithException" + nl +
"System.Exception : Intentional Exception",
"5) Invalid : NUnit.Tests.BadFixture" + nl +
"No suitable constructor was found",
"6) Failed : NUnit.Tests.CDataTestFixure.DemonstrateIllegalSequenceAtEndOfFailureMessage" + nl +
"The CDATA was: <![CDATA[ My <xml> ]]>",
"7) Failed : NUnit.Tests.CDataTestFixure.DemonstrateIllegalSequenceInFailureMessage" + nl +
"Deliberate failure to illustrate ]]> in message",
};
var actualErrorFailuresReport = GetReport(_reporter.WriteErrorsAndFailuresReport);
foreach (var ex in expected)
{
Assert.That(actualErrorFailuresReport, Does.Contain(ex));
}
}
[Test]
public void TestsNotRunTest()
{
var expected = new [] {
"Tests Not Run",
"",
"1) Explicit : NUnit.Tests.Assemblies.MockTestFixture.ExplicitTest",
"",
"2) Ignored : NUnit.Tests.Assemblies.MockTestFixture.IgnoreTest",
"Ignore Message",
"",
"3) Explicit : NUnit.Tests.ExplicitFixture.Test1",
"OneTimeSetUp: ",
"",
"4) Explicit : NUnit.Tests.ExplicitFixture.Test2",
"OneTimeSetUp: ",
"",
"5) Ignored : NUnit.Tests.IgnoredFixture.Test1",
"OneTimeSetUp: BECAUSE",
"",
"6) Ignored : NUnit.Tests.IgnoredFixture.Test2",
"OneTimeSetUp: BECAUSE",
"",
"7) Ignored : NUnit.Tests.IgnoredFixture.Test3",
"OneTimeSetUp: BECAUSE",
""
};
var report = GetReportLines(_reporter.WriteNotRunReport);
Assert.That(report, Is.EqualTo(expected));
}
#region Helper Methods
private TestEngineResult AddMetadata(TestEngineResult input)
{
input.Add("<settings><setting name=\"Setting1Name\" value=\"Setting1Value\"></setting><setting name=\"Setting2Name\" value=\"Setting2Value\"></setting></settings>");
return input.Aggregate("test-run start-time=\"2015-10-19 02:12:28Z\" end-time=\"2015-10-19 02:12:29Z\" duration=\"0.348616\"", string.Empty, string.Empty);
}
private string GetReport(TestDelegate del)
{
del();
return _report.ToString();
}
private IList<string> GetReportLines(TestDelegate del)
{
var rdr = new StringReader(GetReport(del));
string line;
var lines = new List<string>();
while ((line = rdr.ReadLine()) != null)
lines.Add(line);
return lines;
}
#endregion
}
}

Просмотреть файл

@ -1,113 +0,0 @@
// ***********************************************************************
// Copyright (c) 2016 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.IO;
using System.Text;
using NUnit.Framework;
namespace NUnit.ConsoleRunner.Tests
{
public class TestEventHandlerTests
{
private StringBuilder _output;
private TextWriter _writer;
private string Output { get { return _output.ToString(); } }
[SetUp]
public void CreateWriter()
{
_output = new StringBuilder();
_writer = new StringWriter(_output);
}
[TestCaseSource("EventData")]
public void EventsWriteExpectedOutput(string report, string labels, string expected)
{
var handler = new TestEventHandler(_writer, labels);
handler.OnTestEvent(report);
if (Environment.NewLine != "\r\n")
expected = expected.Replace("\r\n", Environment.NewLine);
Assert.That(Output, Is.EqualTo(expected));
}
static TestCaseData[] EventData = new TestCaseData[]
{
// Start Events
new TestCaseData("<start-test/>", "Off", ""),
new TestCaseData("<start-test/>", "On", ""),
new TestCaseData("<start-test/>", "All", ""),
new TestCaseData("<start-suite/>", "Off", ""),
new TestCaseData("<start-suite/>", "On", ""),
new TestCaseData("<start-suite/>", "All", ""),
// Finish Events - No Output
new TestCaseData("<test-case fullname='SomeName'/>", "Off", ""),
new TestCaseData("<test-case fullname='SomeName'/>", "On", ""),
new TestCaseData("<test-case fullname='SomeName'/>", "All", "=> SomeName\r\n"),
new TestCaseData("<test-suite fullname='SomeName'/>", "Off", ""),
new TestCaseData("<test-suite fullname='SomeName'/>", "On", ""),
new TestCaseData("<test-suite fullname='SomeName'/>", "All", ""),
// Finish Events - With Output
new TestCaseData(
"<test-case fullname='SomeName'><output>OUTPUT</output></test-case>",
"Off",
"OUTPUT\r\n"),
new TestCaseData(
"<test-case fullname='SomeName'><output>OUTPUT</output></test-case>",
"On",
"=> SomeName\r\nOUTPUT\r\n"),
new TestCaseData(
"<test-case fullname='SomeName'><output>OUTPUT</output></test-case>",
"All",
"=> SomeName\r\nOUTPUT\r\n"),
new TestCaseData(
"<test-suite fullname='SomeName'><output>OUTPUT</output></test-suite>",
"Off",
"OUTPUT\r\n"),
new TestCaseData(
"<test-suite fullname='SomeName'><output>OUTPUT</output></test-suite>",
"On",
"=> SomeName\r\nOUTPUT\r\n"),
new TestCaseData(
"<test-suite fullname='SomeName'><output>OUTPUT</output></test-suite>",
"All",
"=> SomeName\r\nOUTPUT\r\n"),
// Output Events
new TestCaseData(
"<test-output>OUTPUT</test-output>",
"Off",
"OUTPUT\r\n"),
new TestCaseData(
"<test-output>OUTPUT</test-output>",
"On",
"OUTPUT\r\n"),
new TestCaseData(
"<test-output>OUTPUT</test-output>",
"All",
"OUTPUT\r\n")
};
}
}

Просмотреть файл

@ -1,3 +0,0 @@

# No funny business...
AmazingTest

Просмотреть файл

@ -1,42 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='text'/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="test-run">
<xsl:text>NUnit Version </xsl:text>
<xsl:value-of select="environment/@nunit-version"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@start-time"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@end-time"/>
<xsl:text>&#xD;&#xA;&#xD;&#xA;</xsl:text>
<xsl:text>Runtime Environment -&#xD;&#xA;</xsl:text>
<xsl:text> OS Version: </xsl:text>
<xsl:value-of select="environment/@os-version"/>
<xsl:text>&#xD;&#xA;</xsl:text>
<xsl:text> CLR Version: </xsl:text>
<xsl:value-of select="environment/@clr-version"/>
<xsl:text>&#xD;&#xA;&#xD;&#xA;</xsl:text>
<xsl:text>Tests Run: </xsl:text>
<xsl:value-of select="@total"/>
<xsl:text>, Passed: </xsl:text>
<xsl:value-of select="@passed"/>
<xsl:text>, Failed: </xsl:text>
<xsl:value-of select="@failed"/>
<xsl:text>, Inconclusive: </xsl:text>
<xsl:value-of select="@inconclusive"/>
<xsl:text>, Skipped: </xsl:text>
<xsl:value-of select="@skipped"/>
<xsl:text>, Elapsed Time: </xsl:text>
<xsl:value-of select="@duration"/>
</xsl:template>
</xsl:stylesheet>

Просмотреть файл

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B310A760-8AE1-41CA-81F8-03B12E2FCE30}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NUnit.ConsoleRunner.Tests</RootNamespace>
<AssemblyName>nunit3-console.tests</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;NUNIT_CONSOLE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>1685</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>..\..\..\bin\Release\</OutputPath>
<DefineConstants>TRACE;NUNIT_CONSOLE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>1685</NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\CommonAssemblyInfo.cs">
<Link>Properties\CommonAssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\Common\tests\DefaultOptionsProviderTests.cs">
<Link>DefaultOptionsProviderTests.cs</Link>
</Compile>
<Compile Include="..\..\Common\tests\ExtendedTextWrapperTests.cs">
<Link>ExtendedTextWrapperTests.cs</Link>
</Compile>
<Compile Include="..\..\Common\tests\OutputSpecificationTests.cs">
<Link>OutputSpecificationTests.cs</Link>
</Compile>
<Compile Include="..\..\Common\tests\TestNameParserTests.cs">
<Link>TestNameParserTests.cs</Link>
</Compile>
<Compile Include="..\ConsoleVersion.cs">
<Link>Properties\ConsoleVersion.cs</Link>
</Compile>
<Compile Include="ColorConsoleTests.cs" />
<Compile Include="ColorStyleTests.cs" />
<Compile Include="CommandLineTests.cs" />
<Compile Include="ConsoleOutputTests.cs" />
<Compile Include="MakeTestPackageTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ResultReporterTests.cs" />
<Compile Include="TestEventHandlerTests.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="TestListWithEmptyLine.tst">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TextSummary.xslt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="NUnit2TestResult.xsd">
<SubType>Designer</SubType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\NUnitEngine\nunit.engine\nunit.engine.csproj">
<Project>{372A3447-D657-40FF-A089-77C19FEC30C8}</Project>
<Name>nunit.engine</Name>
</ProjectReference>
<ProjectReference Include="..\..\NUnitFramework\framework\nunit.framework-2.0.csproj">
<Project>{12B66B03-90F1-4992-BD33-BDF3C69AE49E}</Project>
<Name>nunit.framework-2.0</Name>
</ProjectReference>
<ProjectReference Include="..\nunit3-console\nunit3-console.csproj">
<Project>{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46}</Project>
<Name>nunit3-console</Name>
</ProjectReference>
<ProjectReference Include="..\..\NUnitEngine\nunit.engine.api\nunit.engine.api.csproj">
<Project>{775FAD50-3623-4922-97C4-DFB29A8BE4C7}</Project>
<Name>nunit.engine.api</Name>
</ProjectReference>
<ProjectReference Include="..\..\NUnitFramework\mock-assembly\mock-assembly-2.0.csproj">
<Project>{2E368281-3BA8-4050-B05E-0E0E43F8F446}</Project>
<Name>mock-assembly-2.0</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="ConsoleTests.nunit">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,149 +0,0 @@
// ***********************************************************************
// Copyright (c) 2015 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.IO;
namespace NUnit.Common
{
/// <summary>
/// ConsoleOptions encapsulates the option settings for
/// the nunit3-console program.
/// </summary>
public class ConsoleOptions : CommandLineOptions
{
#region Constructors
internal ConsoleOptions(IDefaultOptionsProvider provider, params string[] args) : base(provider, args) { }
public ConsoleOptions(params string[] args) : base(args) { }
#endregion
#region Properties
public string ActiveConfig { get; private set; }
public bool ActiveConfigSpecified { get { return ActiveConfig != null; } }
// Where to Run Tests
public string ProcessModel { get; private set; }
public bool ProcessModelSpecified { get { return ProcessModel != null; } }
public string DomainUsage { get; private set; }
public bool DomainUsageSpecified { get { return DomainUsage != null; } }
// How to Run Tests
public string Framework { get; private set; }
public bool FrameworkSpecified { get { return Framework != null; } }
public bool RunAsX86 { get; private set; }
public bool DisposeRunners { get; private set; }
public bool ShadowCopyFiles { get; private set; }
private int maxAgents = -1;
public int MaxAgents { get { return maxAgents; } }
public bool MaxAgentsSpecified { get { return maxAgents >= 0; } }
public bool DebugTests { get; private set; }
public bool DebugAgent { get; private set; }
public bool PauseBeforeRun { get; private set; }
#endregion
#region Overrides
protected override void CheckOptionCombinations()
{
base.CheckOptionCombinations();
// Normally, console is run in a 64-bit process on a 64-bit machine
// but this might vary if the process is started by some other program.
if (IntPtr.Size == 8 && RunAsX86 && ProcessModel == "InProcess")
ErrorMessages.Add("The --x86 and --inprocess options are incompatible.");
}
#endregion
#region Configure Additional Options for Console
protected override void ConfigureOptions()
{
base.ConfigureOptions();
this.Add("config=", "{NAME} of a project configuration to load (e.g.: Debug).",
v => ActiveConfig = RequiredValue(v, "--config"));
// Where to Run Tests
this.Add("process=", "{PROCESS} isolation for test assemblies.\nValues: InProcess, Separate, Multiple. If not specified, defaults to Separate for a single assembly or Multiple for more than one.",
v =>
{
ProcessModel = RequiredValue(v, "--process", "Single", "InProcess", "Separate", "Multiple");
// Change so it displays correctly even though it isn't absolutely needed
if (ProcessModel.ToLower() == "single")
ProcessModel = "InProcess";
});
this.Add("inprocess", "Synonym for --process:InProcess",
v => ProcessModel = "InProcess");
this.Add("domain=", "{DOMAIN} isolation for test assemblies.\nValues: None, Single, Multiple. If not specified, defaults to Single for a single assembly or Multiple for more than one.",
v => DomainUsage = RequiredValue(v, "--domain", "None", "Single", "Multiple"));
// How to Run Tests
this.Add("framework=", "{FRAMEWORK} type/version to use for tests.\nExamples: mono, net-3.5, v4.0, 2.0, mono-4.0. If not specified, tests will run under the framework they are compiled with.",
v => Framework = RequiredValue(v, "--framework"));
this.Add("x86", "Run tests in an x86 process on 64 bit systems",
v => RunAsX86 = v != null);
this.Add("dispose-runners", "Dispose each test runner after it has finished running its tests.",
v => DisposeRunners = v != null);
this.Add("shadowcopy", "Shadow copy test files",
v => ShadowCopyFiles = v != null);
this.Add("agents=", "Specify the maximum {NUMBER} of test assembly agents to run at one time. If not specified, there is no limit.",
v => maxAgents = RequiredInt(v, "--agents"));
this.Add("debug", "Launch debugger to debug tests.",
v => DebugTests = v != null);
this.Add("pause", "Pause before running to allow attaching a debugger.",
v => PauseBeforeRun = v != null);
#if DEBUG
this.Add("debug-agent", "Launch debugger in nunit-agent when it starts.",
v => DebugAgent = v != null);
#endif
}
#endregion
}
}

Просмотреть файл

@ -1,413 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;
using NUnit.Common;
using NUnit.ConsoleRunner.Utilities;
using NUnit.Engine;
using NUnit.Engine.Extensibility;
using System.Runtime.InteropServices;
namespace NUnit.ConsoleRunner
{
/// <summary>
/// ConsoleRunner provides the nunit3-console text-based
/// user interface, running the tests and reporting the results.
/// </summary>
public class ConsoleRunner
{
#region Console Runner Return Codes
public static readonly int OK = 0;
public static readonly int INVALID_ARG = -1;
public static readonly int INVALID_ASSEMBLY = -2;
//public static readonly int FIXTURE_NOT_FOUND = -3; //No longer in use
public static readonly int INVALID_TEST_FIXTURE = -4;
public static readonly int UNEXPECTED_ERROR = -100;
#endregion
#region Instance Fields
private ITestEngine _engine;
private ConsoleOptions _options;
private IResultService _resultService;
private ITestFilterService _filterService;
private IExtensionService _extensionService;
private ExtendedTextWriter _outWriter;
private TextWriter _errorWriter = Console.Error;
private string _workDirectory;
#endregion
#region Constructor
public ConsoleRunner(ITestEngine engine, ConsoleOptions options, ExtendedTextWriter writer)
{
_engine = engine;
_options = options;
_outWriter = writer;
_workDirectory = options.WorkDirectory;
if (_workDirectory == null)
_workDirectory = Environment.CurrentDirectory;
else if (!Directory.Exists(_workDirectory))
Directory.CreateDirectory(_workDirectory);
_resultService = _engine.Services.GetService<IResultService>();
_filterService = _engine.Services.GetService<ITestFilterService>();
_extensionService = _engine.Services.GetService<IExtensionService>();
// Enable TeamCityEventListener immediately, before the console is redirected
_extensionService.EnableExtension("NUnit.Engine.Listeners.TeamCityEventListener", _options.TeamCity);
}
#endregion
#region Execute Method
/// <summary>
/// Executes tests according to the provided commandline options.
/// </summary>
/// <returns></returns>
public int Execute()
{
if (!VerifyEngineSupport(_options))
return INVALID_ARG;
DisplayRuntimeEnvironment(_outWriter);
DisplayTestFiles();
TestPackage package = MakeTestPackage(_options);
// We display the filters at this point so that any exception message
// thrown by CreateTestFilter will be understandable.
DisplayTestFilters();
TestFilter filter = CreateTestFilter(_options);
if (_options.Explore)
return ExploreTests(package, filter);
else
return RunTests(package, filter);
}
private void DisplayTestFiles()
{
_outWriter.WriteLine(ColorStyle.SectionHeader, "Test Files");
foreach (string file in _options.InputFiles)
_outWriter.WriteLine(ColorStyle.Default, " " + file);
_outWriter.WriteLine();
}
#endregion
#region Helper Methods
private int ExploreTests(TestPackage package, TestFilter filter)
{
XmlNode result;
using (var runner = _engine.GetRunner(package))
result = runner.Explore(filter);
if (_options.ExploreOutputSpecifications.Count == 0)
{
_resultService.GetResultWriter("cases", null).WriteResultFile(result, Console.Out);
}
else
{
foreach (OutputSpecification spec in _options.ExploreOutputSpecifications)
{
_resultService.GetResultWriter(spec.Format, new object[] {spec.Transform}).WriteResultFile(result, spec.OutputPath);
_outWriter.WriteLine("Results ({0}) saved as {1}", spec.Format, spec.OutputPath);
}
}
return ConsoleRunner.OK;
}
private int RunTests(TestPackage package, TestFilter filter)
{
foreach (var spec in _options.ResultOutputSpecifications)
{
var outputPath = Path.Combine(_workDirectory, spec.OutputPath);
GetResultWriter(spec).CheckWritability(outputPath);
}
// TODO: Incorporate this in EventCollector?
RedirectErrorOutputAsRequested();
var labels = _options.DisplayTestLabels != null
? _options.DisplayTestLabels.ToUpperInvariant()
: "ON";
XmlNode result;
try
{
using (new SaveConsoleOutput())
using (new ColorConsole(ColorStyle.Output))
using (ITestRunner runner = _engine.GetRunner(package))
using (var output = CreateOutputWriter())
{
var eventHandler = new TestEventHandler(output, labels);
result = runner.Run(eventHandler, filter);
}
}
finally
{
RestoreErrorOutput();
}
var writer = new ColorConsoleWriter(!_options.NoColor);
var reporter = new ResultReporter(result, writer, _options);
reporter.ReportResults();
foreach (var spec in _options.ResultOutputSpecifications)
{
var outputPath = Path.Combine(_workDirectory, spec.OutputPath);
GetResultWriter(spec).WriteResultFile(result, outputPath);
_outWriter.WriteLine("Results ({0}) saved as {1}", spec.Format, spec.OutputPath);
}
if (reporter.Summary.UnexpectedError)
return ConsoleRunner.UNEXPECTED_ERROR;
if (reporter.Summary.InvalidAssemblies > 0)
return ConsoleRunner.INVALID_ASSEMBLY;
return reporter.Summary.InvalidTestFixtures > 0
? ConsoleRunner.INVALID_TEST_FIXTURE
: reporter.Summary.FailureCount + reporter.Summary.ErrorCount + reporter.Summary.InvalidCount;
}
private void DisplayRuntimeEnvironment(ExtendedTextWriter OutWriter)
{
OutWriter.WriteLine(ColorStyle.SectionHeader, "Runtime Environment");
OutWriter.WriteLabelLine(" OS Version: ", GetOSVersion());
OutWriter.WriteLabelLine(" CLR Version: ", Environment.Version.ToString());
OutWriter.WriteLine();
}
private static string GetOSVersion()
{
OperatingSystem os = Environment.OSVersion;
string osString = os.ToString();
if (os.Platform == PlatformID.Unix)
{
IntPtr buf = Marshal.AllocHGlobal(8192);
if (uname(buf) == 0)
{
var unixVariant = Marshal.PtrToStringAnsi(buf);
if (unixVariant.Equals("Darwin"))
unixVariant = "MacOSX";
osString = string.Format("{0} {1} {2}", unixVariant, os.Version, os.ServicePack);
}
Marshal.FreeHGlobal(buf);
}
return osString;
}
[DllImport("libc")]
static extern int uname(IntPtr buf);
private void DisplayTestFilters()
{
if (_options.TestList.Count > 0 || _options.WhereClauseSpecified)
{
_outWriter.WriteLine(ColorStyle.SectionHeader, "Test Filters");
if (_options.TestList.Count > 0)
foreach (string testName in _options.TestList)
_outWriter.WriteLabelLine(" Test: ", testName);
if (_options.WhereClauseSpecified)
_outWriter.WriteLabelLine(" Where: ", _options.WhereClause.Trim());
_outWriter.WriteLine();
}
}
private void RedirectErrorOutputAsRequested()
{
if (_options.ErrFileSpecified)
{
var errorStreamWriter = new StreamWriter(Path.Combine(_workDirectory, _options.ErrFile));
errorStreamWriter.AutoFlush = true;
_errorWriter = errorStreamWriter;
}
}
private ExtendedTextWriter CreateOutputWriter()
{
if (_options.OutFileSpecified)
{
var outStreamWriter = new StreamWriter(Path.Combine(_workDirectory, _options.OutFile));
outStreamWriter.AutoFlush = true;
return new ExtendedTextWrapper(outStreamWriter);
}
return _outWriter;
}
private void RestoreErrorOutput()
{
_errorWriter.Flush();
if (_options.ErrFileSpecified)
_errorWriter.Close();
}
private IResultWriter GetResultWriter(OutputSpecification spec)
{
return _resultService.GetResultWriter(spec.Format, new object[] {spec.Transform});
}
// This is public static for ease of testing
public static TestPackage MakeTestPackage(ConsoleOptions options)
{
TestPackage package = new TestPackage(options.InputFiles);
if (options.ProcessModelSpecified)
package.AddSetting(PackageSettings.ProcessModel, options.ProcessModel);
if (options.DomainUsageSpecified)
package.AddSetting(PackageSettings.DomainUsage, options.DomainUsage);
if (options.FrameworkSpecified)
package.AddSetting(PackageSettings.RuntimeFramework, options.Framework);
if (options.RunAsX86)
package.AddSetting(PackageSettings.RunAsX86, true);
if (options.DisposeRunners)
package.AddSetting(PackageSettings.DisposeRunners, true);
if (options.ShadowCopyFiles)
package.AddSetting(PackageSettings.ShadowCopyFiles, true);
if (options.DefaultTimeout >= 0)
package.AddSetting(PackageSettings.DefaultTimeout, options.DefaultTimeout);
if (options.InternalTraceLevelSpecified)
package.AddSetting(PackageSettings.InternalTraceLevel, options.InternalTraceLevel);
if (options.ActiveConfigSpecified)
package.AddSetting(PackageSettings.ActiveConfig, options.ActiveConfig);
// Always add work directory, in case current directory is changed
var workDirectory = options.WorkDirectory ?? Environment.CurrentDirectory;
package.AddSetting(PackageSettings.WorkDirectory, workDirectory);
if (options.StopOnError)
package.AddSetting(PackageSettings.StopOnError, true);
if (options.MaxAgentsSpecified)
package.AddSetting(PackageSettings.MaxAgents, options.MaxAgents);
if (options.NumberOfTestWorkersSpecified)
package.AddSetting(PackageSettings.NumberOfTestWorkers, options.NumberOfTestWorkers);
if (options.RandomSeedSpecified)
package.AddSetting(PackageSettings.RandomSeed, options.RandomSeed);
if (options.DebugTests)
{
package.AddSetting(PackageSettings.DebugTests, true);
if (!options.NumberOfTestWorkersSpecified)
package.AddSetting(PackageSettings.NumberOfTestWorkers, 0);
}
if (options.PauseBeforeRun)
package.AddSetting(PackageSettings.PauseBeforeRun, true);
#if DEBUG
if (options.DebugAgent)
package.AddSetting(PackageSettings.DebugAgent, true);
//foreach (KeyValuePair<string, object> entry in package.Settings)
// if (!(entry.Value is string || entry.Value is int || entry.Value is bool))
// throw new Exception(string.Format("Package setting {0} is not a valid type", entry.Key));
#endif
if (options.DefaultTestNamePattern != null)
package.AddSetting(PackageSettings.DefaultTestNamePattern, options.DefaultTestNamePattern);
return package;
}
private TestFilter CreateTestFilter(ConsoleOptions options)
{
ITestFilterBuilder builder = _filterService.GetTestFilterBuilder();
foreach (string testName in options.TestList)
builder.AddTest(testName);
if (options.WhereClauseSpecified)
builder.SelectWhere(options.WhereClause);
return builder.GetFilter();
}
private bool VerifyEngineSupport(ConsoleOptions options)
{
foreach (var spec in options.ResultOutputSpecifications)
{
bool available = false;
foreach (var format in _resultService.Formats)
{
if (spec.Format == format)
{
available = true;
break;
}
}
if (!available)
{
Console.WriteLine("Unknown result format: {0}", spec.Format);
return false;
}
}
return true;
}
#endregion
}
}

Просмотреть файл

@ -1,265 +0,0 @@
// ***********************************************************************
// Copyright (c) 2011 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.IO;
using System.Reflection;
using NUnit.Common;
using NUnit.Options;
using NUnit.Engine;
namespace NUnit.ConsoleRunner
{
/// <summary>
/// This class provides the entry point for the console runner.
/// </summary>
public class Program
{
//static Logger log = InternalTrace.GetLogger(typeof(Runner));
static ConsoleOptions Options = new ConsoleOptions(new DefaultOptionsProvider());
private static ExtendedTextWriter _outWriter;
// This has to be lazy otherwise NoColor command line option is not applied correctly
private static ExtendedTextWriter OutWriter
{
get
{
if (_outWriter == null) _outWriter = new ColorConsoleWriter(!Options.NoColor);
return _outWriter;
}
}
[STAThread]
public static int Main(string[] args)
{
try
{
Options.Parse(args);
}
catch (OptionException ex)
{
WriteHeader();
OutWriter.WriteLine(ColorStyle.Error, string.Format(ex.Message, ex.OptionName));
return ConsoleRunner.INVALID_ARG;
}
//ColorConsole.Enabled = !Options.NoColor;
// Create SettingsService early so we know the trace level right at the start
//SettingsService settingsService = new SettingsService();
//InternalTraceLevel level = (InternalTraceLevel)settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Default);
//if (options.trace != InternalTraceLevel.Default)
// level = options.trace;
//InternalTrace.Initialize("nunit3-console_%p.log", level);
//log.Info("NUnit3-console.exe starting");
try
{
if (Options.ShowVersion || !Options.NoHeader)
WriteHeader();
if (Options.ShowHelp || args.Length == 0)
{
WriteHelpText();
return ConsoleRunner.OK;
}
// We already showed version as a part of the header
if (Options.ShowVersion)
return ConsoleRunner.OK;
if (!Options.Validate())
{
using (new ColorConsole(ColorStyle.Error))
{
foreach (string message in Options.ErrorMessages)
Console.Error.WriteLine(message);
}
return ConsoleRunner.INVALID_ARG;
}
if (Options.InputFiles.Count == 0)
{
using (new ColorConsole(ColorStyle.Error))
Console.Error.WriteLine("Error: no inputs specified");
return ConsoleRunner.OK;
}
using (ITestEngine engine = TestEngineActivator.CreateInstance(false))
{
if (Options.WorkDirectory != null)
engine.WorkDirectory = Options.WorkDirectory;
if (Options.InternalTraceLevel != null)
engine.InternalTraceLevel = (InternalTraceLevel)Enum.Parse(typeof(InternalTraceLevel), Options.InternalTraceLevel);
try
{
return new ConsoleRunner(engine, Options, OutWriter).Execute();
}
catch (NUnitEngineException ex)
{
OutWriter.WriteLine(ColorStyle.Error, ex.Message);
return ConsoleRunner.INVALID_ARG;
}
catch (TestSelectionParserException ex)
{
OutWriter.WriteLine(ColorStyle.Error, ex.Message);
return ConsoleRunner.INVALID_ARG;
}
catch (FileNotFoundException ex)
{
OutWriter.WriteLine(ColorStyle.Error, ex.Message);
return ConsoleRunner.INVALID_ASSEMBLY;
}
catch (DirectoryNotFoundException ex)
{
OutWriter.WriteLine(ColorStyle.Error, ex.Message);
return ConsoleRunner.INVALID_ASSEMBLY;
}
catch (Exception ex)
{
OutWriter.WriteLine(ColorStyle.Error, ex.ToString());
return ConsoleRunner.UNEXPECTED_ERROR;
}
finally
{
if (Options.WaitBeforeExit)
{
using (new ColorConsole(ColorStyle.Warning))
{
Console.Out.WriteLine("\nPress any key to continue . . .");
Console.ReadKey(true);
}
}
// log.Info( "NUnit3-console.exe terminating" );
}
}
}
finally
{
Console.ResetColor();
}
}
private static void WriteHeader()
{
Assembly executingAssembly = Assembly.GetExecutingAssembly();
string versionText = executingAssembly.GetName().Version.ToString(3);
string programName = "NUnit Console Runner";
string copyrightText = "Copyright (C) 2016 Charlie Poole.\r\nAll Rights Reserved.";
string configText = String.Empty;
object[] attrs = executingAssembly.GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attrs.Length > 0)
programName = ((AssemblyTitleAttribute)attrs[0]).Title;
attrs = executingAssembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if ( attrs.Length > 0 )
copyrightText = ((AssemblyCopyrightAttribute)attrs[0]).Copyright;
attrs = executingAssembly.GetCustomAttributes(typeof(AssemblyConfigurationAttribute), false);
if ( attrs.Length > 0 )
{
string configuration = ( ( AssemblyConfigurationAttribute )attrs[0] ).Configuration;
if ( !String.IsNullOrEmpty( configuration ) )
{
configText = string.Format( "({0})", ( ( AssemblyConfigurationAttribute )attrs[0] ).Configuration );
}
}
OutWriter.WriteLine(ColorStyle.Header, string.Format("{0} {1} {2}", programName, versionText, configText));
OutWriter.WriteLine(ColorStyle.SubHeader, copyrightText);
OutWriter.WriteLine();
}
private static void WriteHelpText()
{
OutWriter.WriteLine();
OutWriter.WriteLine(ColorStyle.Header, "NUNIT3-CONSOLE [inputfiles] [options]");
OutWriter.WriteLine();
OutWriter.WriteLine(ColorStyle.Default, "Runs a set of NUnit tests from the console.");
OutWriter.WriteLine();
OutWriter.WriteLine(ColorStyle.SectionHeader, "InputFiles:");
OutWriter.WriteLine(ColorStyle.Default, " One or more assemblies or test projects of a recognized type.");
OutWriter.WriteLine();
OutWriter.WriteLine(ColorStyle.SectionHeader, "Options:");
using (new ColorConsole(ColorStyle.Default))
{
Options.WriteOptionDescriptions(Console.Out);
}
OutWriter.WriteLine();
OutWriter.WriteLine(ColorStyle.SectionHeader, "Description:");
using (new ColorConsole(ColorStyle.Default))
{
OutWriter.WriteLine(" By default, this command runs the tests contained in the");
OutWriter.WriteLine(" assemblies and projects specified. If the --explore option");
OutWriter.WriteLine(" is used, no tests are executed but a description of the tests");
OutWriter.WriteLine(" is saved in the specified or default format.");
OutWriter.WriteLine();
OutWriter.WriteLine(" The --where option is intended to extend or replace the earlier");
OutWriter.WriteLine(" --test, --include and --exclude options by use of a selection expression");
OutWriter.WriteLine(" describing exactly which tests to use. Examples of usage are:");
OutWriter.WriteLine(" --where:cat==Data");
OutWriter.WriteLine(" --where \"method =~ /DataTest*/ && cat = Slow\"");
OutWriter.WriteLine();
OutWriter.WriteLine(" Care should be taken in combining --where with --test or --testlist.");
OutWriter.WriteLine(" The test and where specifications are implicitly joined using &&, so");
OutWriter.WriteLine(" that BOTH sets of criteria must be satisfied in order for a test to run.");
OutWriter.WriteLine(" See the docs for more information and a full description of the syntax");
OutWriter.WriteLine(" information and a full description of the syntax.");
OutWriter.WriteLine();
OutWriter.WriteLine(" Several options that specify processing of XML output take");
OutWriter.WriteLine(" an output specification as a value. A SPEC may take one of");
OutWriter.WriteLine(" the following forms:");
OutWriter.WriteLine(" --OPTION:filename");
OutWriter.WriteLine(" --OPTION:filename;format=formatname");
OutWriter.WriteLine(" --OPTION:filename;transform=xsltfile");
OutWriter.WriteLine();
OutWriter.WriteLine(" The --result option may use any of the following formats:");
OutWriter.WriteLine(" nunit3 - the native XML format for NUnit 3.0");
OutWriter.WriteLine(" nunit2 - legacy XML format used by earlier releases of NUnit");
OutWriter.WriteLine();
OutWriter.WriteLine(" The --explore option may use any of the following formats:");
OutWriter.WriteLine(" nunit3 - the native XML format for NUnit 3.0");
OutWriter.WriteLine(" cases - a text file listing the full names of all test cases.");
OutWriter.WriteLine(" If --explore is used without any specification following, a list of");
OutWriter.WriteLine(" test cases is output to the writer.");
OutWriter.WriteLine();
OutWriter.WriteLine(" If none of the options {--result, --explore, --noxml} is used,");
OutWriter.WriteLine(" NUnit saves the results to TestResult.xml in nunit3 format");
OutWriter.WriteLine();
OutWriter.WriteLine(" Any transforms provided must handle input in the native nunit3 format.");
OutWriter.WriteLine();
//writer.WriteLine("Options that take values may use an equal sign, a colon");
//writer.WriteLine("or a space to separate the option from its value.");
//writer.WriteLine();
}
}
}
}

Просмотреть файл

@ -1,18 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NUnit Console Runner")]
[assembly: AssemblyDescription("The console command-line runner for NUnit")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("b2dfdf79-289b-4b45-ab40-8d461b7d56d7")]
[assembly: InternalsVisibleTo("nunit3-console.tests")]

Просмотреть файл

@ -1,310 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Globalization;
using System.Xml;
using NUnit.Common;
namespace NUnit.ConsoleRunner
{
using Utilities;
public class ResultReporter
{
private ExtendedTextWriter _writer;
private XmlNode _result;
private string _overallResult;
private ConsoleOptions _options;
private int _reportIndex = 0;
public ResultReporter(XmlNode result, ExtendedTextWriter writer, ConsoleOptions options)
{
_result = result;
_writer = writer;
_overallResult = result.GetAttribute("result");
if (_overallResult == "Skipped")
_overallResult = "Warning";
_options = options;
Summary = new ResultSummary(result);
}
public ResultSummary Summary { get; private set; }
/// <summary>
/// Reports the results to the console
/// </summary>
public void ReportResults()
{
_writer.WriteLine();
if (Summary.ExplicitCount + Summary.SkipCount + Summary.IgnoreCount > 0)
WriteNotRunReport();
if (_overallResult == "Failed")
WriteErrorsAndFailuresReport();
WriteRunSettingsReport();
WriteSummaryReport();
}
#region Summary Report
public void WriteRunSettingsReport()
{
var firstSuite = _result.SelectSingleNode("test-suite");
if (firstSuite != null)
{
var settings = firstSuite.SelectNodes("settings/setting");
if (settings.Count > 0)
{
_writer.WriteLine(ColorStyle.SectionHeader, "Run Settings");
foreach (XmlNode node in settings)
{
string name = node.GetAttribute("name");
string val = node.GetAttribute("value");
string label = string.Format(" {0}: ", name);
_writer.WriteLabelLine(label, val);
}
_writer.WriteLine();
}
}
}
public void WriteSummaryReport()
{
ColorStyle overall = _overallResult == "Passed"
? ColorStyle.Pass
: _overallResult == "Failed"
? ColorStyle.Failure
: _overallResult == "Warning"
? ColorStyle.Warning
: ColorStyle.Output;
_writer.WriteLine(ColorStyle.SectionHeader, "Test Run Summary");
_writer.WriteLabelLine(" Overall result: ", _overallResult, overall);
WriteSummaryCount(" Test Count: ", Summary.TestCount);
WriteSummaryCount(", Passed: ", Summary.PassCount);
WriteSummaryCount(", Failed: ", Summary.FailedCount, ColorStyle.Failure);
WriteSummaryCount(", Inconclusive: ", Summary.InconclusiveCount);
WriteSummaryCount(", Skipped: ", Summary.TotalSkipCount);
_writer.WriteLine();
if (Summary.FailedCount > 0)
{
WriteSummaryCount(" Failed Tests - Failures: ", Summary.FailureCount);
WriteSummaryCount(", Errors: ", Summary.ErrorCount, ColorStyle.Error);
WriteSummaryCount(", Invalid: ", Summary.InvalidCount);
_writer.WriteLine();
}
if (Summary.TotalSkipCount > 0)
{
WriteSummaryCount(" Skipped Tests - Ignored: ", Summary.IgnoreCount);
WriteSummaryCount(", Explicit: ", Summary.ExplicitCount);
WriteSummaryCount(", Other: ", Summary.SkipCount);
_writer.WriteLine();
}
var duration = _result.GetAttribute("duration", 0.0);
var startTime = _result.GetAttribute("start-time", DateTime.MinValue);
var endTime = _result.GetAttribute("end-time", DateTime.MaxValue);
_writer.WriteLabelLine(" Start time: ", startTime.ToString("u"));
_writer.WriteLabelLine(" End time: ", endTime.ToString("u"));
_writer.WriteLabelLine(" Duration: ", string.Format(NumberFormatInfo.InvariantInfo, "{0:0.000} seconds", duration));
_writer.WriteLine();
}
#endregion
#region Errors and Failures Report
public void WriteErrorsAndFailuresReport()
{
_reportIndex = 0;
_writer.WriteLine(ColorStyle.SectionHeader, "Errors and Failures");
_writer.WriteLine();
WriteErrorsAndFailures(_result);
if (_options.StopOnError)
{
_writer.WriteLine(ColorStyle.Failure, "Execution terminated after first error");
_writer.WriteLine();
}
}
private void WriteErrorsAndFailures(XmlNode result)
{
string resultState = result.GetAttribute("result");
switch (result.Name)
{
case "test-case":
if (resultState == "Failed")
WriteSingleResult(result, ColorStyle.Failure);
return;
case "test-run":
foreach (XmlNode childResult in result.ChildNodes)
WriteErrorsAndFailures(childResult);
break;
case "test-suite":
if (resultState == "Failed")
{
if (result.GetAttribute("type") == "Theory")
{
WriteSingleResult(result, ColorStyle.Failure);
}
else
{
var site = result.GetAttribute("site");
if (site != "Parent" && site != "Child")
WriteSingleResult(result, ColorStyle.Failure);
if (site == "SetUp") return;
}
}
foreach (XmlNode childResult in result.ChildNodes)
WriteErrorsAndFailures(childResult);
break;
}
}
#endregion
#region Not Run Report
public void WriteNotRunReport()
{
_reportIndex = 0;
_writer.WriteLine(ColorStyle.SectionHeader, "Tests Not Run");
_writer.WriteLine();
WriteNotRunResults(_result);
}
private void WriteNotRunResults(XmlNode result)
{
switch (result.Name)
{
case "test-case":
string status = result.GetAttribute("result");
if (status == "Skipped")
{
string label = result.GetAttribute("label");
var colorStyle = label == "Ignored"
? ColorStyle.Warning
: ColorStyle.Output;
WriteSingleResult(result, colorStyle);
}
break;
case "test-suite":
case "test-run":
foreach (XmlNode childResult in result.ChildNodes)
WriteNotRunResults(childResult);
break;
}
}
#endregion
#region Helper Methods
private void WriteSummaryCount(string label, int count)
{
_writer.WriteLabel(label, count.ToString(CultureInfo.CurrentUICulture));
}
private void WriteSummaryCount(string label, int count, ColorStyle color)
{
_writer.WriteLabel(label, count.ToString(CultureInfo.CurrentUICulture), count > 0 ? color : ColorStyle.Value);
}
private static readonly char[] EOL_CHARS = new char[] { '\r', '\n' };
private void WriteSingleResult(XmlNode result, ColorStyle colorStyle)
{
string status = result.GetAttribute("label");
if (status == null)
status = result.GetAttribute("result");
if (status == "Failed" || status == "Error")
{
var site = result.GetAttribute("site");
if (site == "SetUp" || site == "TearDown")
status = site + " " + status;
}
string fullName = result.GetAttribute("fullname");
_writer.WriteLine(colorStyle,
string.Format("{0}) {1} : {2}", ++_reportIndex, status, fullName));
XmlNode failureNode = result.SelectSingleNode("failure");
if (failureNode != null)
{
XmlNode message = failureNode.SelectSingleNode("message");
XmlNode stacktrace = failureNode.SelectSingleNode("stack-trace");
// In order to control the format, we trim any line-end chars
// from end of the strings we write and supply them via calls
// to WriteLine(). Newlines within the strings are retained.
if (message != null)
_writer.WriteLine(colorStyle, message.InnerText.TrimEnd(EOL_CHARS));
if (stacktrace != null)
_writer.WriteLine(colorStyle, stacktrace.InnerText.TrimEnd(EOL_CHARS));
}
XmlNode reasonNode = result.SelectSingleNode("reason");
if (reasonNode != null)
{
XmlNode message = reasonNode.SelectSingleNode("message");
if (message != null)
_writer.WriteLine(colorStyle, message.InnerText.TrimEnd(EOL_CHARS));
}
_writer.WriteLine(); // Skip after each item
}
#endregion
}
}

Просмотреть файл

@ -1,237 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Globalization;
using System.Xml;
namespace NUnit.ConsoleRunner
{
using Utilities;
/// <summary>
/// Summary description for ResultSummary.
/// </summary>
public class ResultSummary
{
#region Constructor
public ResultSummary(XmlNode result)
{
if (result.Name != "test-run")
throw new InvalidOperationException("Expected <test-run> as top-level element but was <" + result.Name + ">");
InitializeCounters();
Summarize(result);
}
#endregion
#region Properties
/// <summary>
/// Gets the number of test cases for which results
/// have been summarized. Any tests excluded by use of
/// Category or Explicit attributes are not counted.
/// </summary>
public int TestCount { get; private set; }
/// <summary>
/// Returns the number of test cases actually run.
/// </summary>
public int RunCount
{
get { return PassCount + FailureCount + ErrorCount + InconclusiveCount; }
}
/// <summary>
/// Returns the number of test cases not run for any reason.
/// </summary>
public int NotRunCount
{
get { return IgnoreCount + ExplicitCount + InvalidCount + SkipCount; }
}
/// <summary>
/// Returns the number of failed test cases (including errors and invalid tests)
/// </summary>
public int FailedCount
{
get { return FailureCount + InvalidCount + ErrorCount; }
}
/// <summary>
/// Returns the sum of skipped test cases, including ignored and explicit tests
/// </summary>
public int TotalSkipCount
{
get { return SkipCount + IgnoreCount + ExplicitCount; }
}
/// <summary>
/// Gets the count of passed tests
/// </summary>
public int PassCount { get; private set; }
/// <summary>
/// Gets the count of failed tests, excluding errors and invalid tests
/// </summary>
public int FailureCount { get; private set; }
/// <summary>
/// Returns the number of test cases that had an error.
/// </summary>
public int ErrorCount { get; private set; }
/// <summary>
/// Gets the count of inconclusive tests
/// </summary>
public int InconclusiveCount { get; private set; }
/// <summary>
/// Returns the number of test cases that were not runnable
/// due to errors in the signature of the class or method.
/// Such tests are also counted as Errors.
/// </summary>
public int InvalidCount { get; private set; }
/// <summary>
/// Gets the count of skipped tests, excluding ignored and explicit tests
/// </summary>
public int SkipCount { get; private set; }
/// <summary>
/// Gets the count of ignored tests
/// </summary>
public int IgnoreCount { get; private set; }
/// <summary>
/// Gets the count of tests not run because the are Explicit
/// </summary>
public int ExplicitCount { get; private set; }
/// <summary>
/// Gets the count of invalid assemblies
/// </summary>
public int InvalidAssemblies { get; private set; }
/// <summary>
/// An Unexpected error occurred
/// </summary>
public bool UnexpectedError { get; private set; }
/// <summary>
/// Invalid test fixture(s) were found
/// </summary>
public int InvalidTestFixtures { get; private set; }
#endregion
#region Helper Methods
private void InitializeCounters()
{
TestCount = 0;
PassCount = 0;
FailureCount = 0;
ErrorCount = 0;
InconclusiveCount = 0;
SkipCount = 0;
IgnoreCount = 0;
ExplicitCount = 0;
InvalidCount = 0;
InvalidAssemblies = 0;
}
private void Summarize(XmlNode node)
{
string type = node.GetAttribute("type");
string status = node.GetAttribute("result");
string label = node.GetAttribute("label");
switch (node.Name)
{
case "test-case":
TestCount++;
switch (status)
{
case "Passed":
PassCount++;
break;
case "Failed":
if (label == null)
FailureCount++;
else if (label == "Invalid")
InvalidCount++;
else
ErrorCount++;
break;
case "Inconclusive":
InconclusiveCount++;
break;
case "Skipped":
if (label == "Ignored")
IgnoreCount++;
else if (label == "Explicit")
ExplicitCount++;
else
SkipCount++;
break;
default:
SkipCount++;
break;
}
break;
case "test-suite":
if (status == "Failed" && label == "Invalid")
{
if (type == "Assembly") InvalidAssemblies++;
else InvalidTestFixtures++;
}
if (type == "Assembly" && status == "Failed" && label == "Error")
{
InvalidAssemblies++;
UnexpectedError = true;
}
Summarize(node.ChildNodes);
break;
case "test-run":
Summarize(node.ChildNodes);
break;
}
}
private void Summarize(XmlNodeList nodes)
{
foreach (XmlNode childResult in nodes)
Summarize(childResult);
}
#endregion
}
}

Просмотреть файл

@ -1,161 +0,0 @@
// ***********************************************************************
// Copyright (c) 2007 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.IO;
using System.Xml;
using NUnit.Common;
using NUnit.Engine;
using NUnit.ConsoleRunner.Utilities;
namespace NUnit.ConsoleRunner
{
/// <summary>
/// TestEventHandler processes events from the running
/// test for the console runner.
/// </summary>
public class TestEventHandler : MarshalByRefObject, ITestEventListener
{
private readonly string _displayLabels;
private readonly TextWriter _outWriter;
public TestEventHandler(TextWriter outWriter, string displayLabels)
{
_displayLabels = displayLabels.ToUpperInvariant();
_outWriter = outWriter;
}
#region ITestEventHandler Members
public void OnTestEvent(string report)
{
var doc = new XmlDocument();
doc.LoadXml(report);
var testEvent = doc.FirstChild;
switch (testEvent.Name)
{
case "test-case":
TestFinished(testEvent);
break;
case "test-suite":
SuiteFinished(testEvent);
break;
case "test-output":
TestOutput(testEvent);
break;
}
}
#endregion
#region Individual Handlers
private void TestFinished(XmlNode testResult)
{
var testName = testResult.Attributes["fullname"].Value;
var outputNode = testResult.SelectSingleNode("output");
if (_displayLabels == "ALL")
WriteLabelLine(testName);
if (outputNode != null)
{
if (_displayLabels == "ON")
WriteLabelLine(testName);
WriteOutputLine(outputNode.InnerText);
}
}
private void SuiteFinished(XmlNode testResult)
{
var suiteName = testResult.Attributes["fullname"].Value;
var outputNode = testResult.SelectSingleNode("output");
if (outputNode != null)
{
if (_displayLabels == "ON" || _displayLabels == "ALL")
WriteLabelLine(suiteName);
WriteOutputLine(outputNode.InnerText);
}
}
private void TestOutput(XmlNode outputNode)
{
var testName = outputNode.GetAttribute("testname");
var stream = outputNode.GetAttribute("stream");
if (_displayLabels == "ON" && testName != null)
WriteLabelLine(testName);
WriteOutputLine(outputNode.InnerText, stream == "Error" ? ColorStyle.Error : ColorStyle.Output);
}
private string _currentLabel;
private void WriteLabelLine(string label)
{
if (label != _currentLabel)
{
using (new ColorConsole(ColorStyle.SectionHeader))
_outWriter.WriteLine("=> {0}", label);
_currentLabel = label;
}
}
private void WriteOutputLine(string text)
{
WriteOutputLine(text, ColorStyle.Output);
}
private void WriteOutputLine(string text, ColorStyle color)
{
using (new ColorConsole(color))
{
_outWriter.Write(text);
// Some labels were being shown on the same line as the previous output
if (!text.EndsWith("\n"))
{
_outWriter.WriteLine();
}
}
}
#endregion
#region InitializeLifetimeService
public override object InitializeLifetimeService()
{
return null;
}
#endregion
}
}

Просмотреть файл

@ -1,47 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.IO;
namespace NUnit.ConsoleRunner.Utilities
{
/// <summary>
/// Saves Console.Out and Console.Error and restores them when the object
/// is destroyed
/// </summary>
public sealed class SaveConsoleOutput : IDisposable
{
private readonly TextWriter _savedOut = Console.Out;
private readonly TextWriter _savedError = Console.Error;
/// <summary>
/// Restores Console.Out and Console.Error
/// </summary>
public void Dispose()
{
Console.SetOut(_savedOut);
Console.SetError(_savedError);
}
}
}

Просмотреть файл

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!--
The console runner runs under .NET 2.0 or higher.
The setting useLegacyV2RuntimeActivationPolicy only applies
under .NET 4.0 and permits use of mixed mode assemblies,
which would otherwise not load correctly.
-->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319" />
<supportedRuntime version="v2.0.50727" />
</startup>
<runtime>
<!-- Ensure that test exceptions don't crash NUnit -->
<legacyUnhandledExceptionPolicy enabled="1" />
<!-- Run partial trust V2 assemblies in full trust under .NET 4.0 -->
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>

Просмотреть файл

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0"
xmlns="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- We should update the version number if we remember, but it is not required -->
<assemblyIdentity version="3.0.0.0" name="nunit3-console"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
Specifying requestedExecutionLevel node will disable file and registry virtualization. -->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of all Windows versions that this application is designed to work with.
Windows will automatically select the most compatible environment.-->
<!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node-->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node-->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node-->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- If your application is designed to work with Windows 8.1, uncomment the following supportedOS node-->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- If your application is designed to work with Windows 10, uncomment the following supportedOS node-->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
</application>
</compatibility>
</asmv1:assembly>

Просмотреть файл

@ -1,134 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{0DE218CA-AFB8-423A-9CD2-E22DEAC55C46}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NUnit.ConsoleRunner</RootNamespace>
<AssemblyName>nunit3-console</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;NUNIT_CONSOLE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Externalconsole>true</Externalconsole>
<Commandlineparameters>nunit.engine.tests.dll --inprocess</Commandlineparameters>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\..\bin\Release\</OutputPath>
<DefineConstants>TRACE;NUNIT_CONSOLE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Commandlineparameters>nunit.engine.tests.dll -process:Single</Commandlineparameters>
<Externalconsole>true</Externalconsole>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>..\..\..\nunit.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\CommonAssemblyInfo.cs">
<Link>Properties\CommonAssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\ColorConsole.cs">
<Link>ColorConsole.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\ColorConsoleWriter.cs">
<Link>ColorConsoleWriter.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\ColorStyle.cs">
<Link>ColorStyle.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\CommandLineOptions.cs">
<Link>CommandLineOptions.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\DefaultOptionsProvider.cs">
<Link>DefaultOptionsProvider.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\Env.cs">
<Link>Env.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\ExtendedTextWrapper.cs">
<Link>ExtendedTextWrapper.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\ExtendedTextWriter.cs">
<Link>ExtendedTextWriter.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\Guard.cs">
<Link>Utilities\Guard.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\IDefaultOptionsProvider.cs">
<Link>IDefaultOptionsProvider.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\Options.cs">
<Link>Options.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\OutputSpecification.cs">
<Link>Utilities\OutputSpecification.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\PackageSettings.cs">
<Link>PackageSettings.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\TestNameParser.cs">
<Link>Utilities\TestNameParser.cs</Link>
</Compile>
<Compile Include="..\..\Common\nunit\XmlHelper.cs">
<Link>XmlHelper.cs</Link>
</Compile>
<Compile Include="..\ConsoleVersion.cs">
<Link>Properties\ConsoleVersion.cs</Link>
</Compile>
<Compile Include="ConsoleOptions.cs" />
<Compile Include="ConsoleRunner.cs" />
<Compile Include="Program.cs" />
<Compile Include="ResultSummary.cs" />
<Compile Include="TestEventHandler.cs" />
<Compile Include="Utilities\SaveConsoleOutput.cs" />
<Compile Include="ResultReporter.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="app.manifest" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\NUnitEngine\nunit.engine.api\nunit.engine.api.csproj">
<Project>{775FAD50-3623-4922-97C4-DFB29A8BE4C7}</Project>
<Name>nunit.engine.api</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="..\..\..\nunit.ico">
<Link>nunit.ico</Link>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,205 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using NUnit.Engine.Extensibility;
using NUnit.Engine.Tests.resources;
using NUnit.Framework;
namespace NUnit.Engine.Services.ProjectLoaders.Tests
{
public class NUnitProjectLoaderTests
{
NUnitProjectLoader _loader;
[SetUp]
public void CreateLoader()
{
_loader = new NUnitProjectLoader();
}
[Test]
public void CheckExtension()
{
Assert.That(_loader.CanLoadFrom("dummy.nunit"));
Assert.False(_loader.CanLoadFrom("dummy.junk"));
}
[Test]
public void CanLoadEmptyProject()
{
using (TestResource file = new TestResource("NUnitProject_EmptyProject.nunit"))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.That(project.ProjectPath, Is.EqualTo(file.Path));
Assert.That(project.ConfigNames.Count, Is.EqualTo(0));
Assert.Null(project.ActiveConfigName);
}
}
[Test]
public void LoadEmptyConfigs()
{
using (TestResource file = new TestResource("NUnitProject_EmptyConfigs.nunit"))
{
IProject project = _loader.LoadFrom(file.Path);
var projectDir = Path.GetDirectoryName(file.Path);
Assert.AreEqual(2, project.ConfigNames.Count);
Assert.AreEqual("Debug", project.ActiveConfigName);
Assert.AreEqual(new string[] { "Debug", "Release" }, project.ConfigNames);
TestPackage package1 = project.GetTestPackage("Debug");
Assert.AreEqual(2, package1.Settings.Count);
Assert.AreEqual(true, package1.Settings["AutoBinPath"], "AutoBinPath");
Assert.AreEqual(projectDir, package1.Settings["BasePath"], "BasePath");
TestPackage package2 = project.GetTestPackage("Release");
Assert.AreEqual(2, package2.Settings.Count);
Assert.AreEqual(true, package2.Settings["AutoBinPath"], "AutoBinPath");
Assert.AreEqual(projectDir, package1.Settings["BasePath"], "BasePath");
}
}
[TestCase("NUnitProject.nunit")]
[TestCase("NUnitProject_XmlDecl.nunit")]
public void LoadNormalProject(string resourceName)
{
using (TestResource file = new TestResource(resourceName))
{
IProject _project = _loader.LoadFrom(file.Path);
var projectDir = Path.GetDirectoryName(file.Path);
var binDir = Path.Combine(projectDir, "bin");
var debugDir = Path.Combine(binDir, "debug");
var releaseDir = Path.Combine(binDir, "release");
Assert.AreEqual(2, _project.ConfigNames.Count);
Assert.AreEqual("Debug", _project.ActiveConfigName);
Assert.AreEqual(new string[] { "Debug", "Release" }, _project.ConfigNames);
TestPackage package1 = _project.GetTestPackage("Debug");
Assert.AreEqual(2, package1.SubPackages.Count);
Assert.AreEqual(
Path.Combine(debugDir, "assembly1.dll"),
package1.SubPackages[0].FullName);
Assert.AreEqual(
Path.Combine(debugDir, "assembly2.dll"),
package1.SubPackages[1].FullName);
Assert.AreEqual(2, package1.Settings.Count);
Assert.AreEqual(debugDir, package1.Settings["BasePath"], "BasePath");
Assert.AreEqual(true, package1.Settings["AutoBinPath"], "AutoBinPath");
TestPackage package2 = _project.GetTestPackage("Release");
Assert.AreEqual(2, package2.SubPackages.Count);
Assert.AreEqual(
Path.Combine(releaseDir, "assembly1.dll"),
package2.SubPackages[0].FullName);
Assert.AreEqual(
Path.Combine(releaseDir, "assembly2.dll"),
package2.SubPackages[1].FullName);
Assert.AreEqual(2, package2.Settings.Count);
Assert.AreEqual(releaseDir, package2.Settings["BasePath"]);
Assert.AreEqual(true, package2.Settings["AutoBinPath"]);
Assert.Throws<NUnitEngineException>(() =>
{
var package3 = _project.GetTestPackage("MissingConfiguration");
}, "Project loader should throw exception when attempting to use missing configuration");
}
}
[Test]
public void LoadProjectWithManualBinPath()
{
using (TestResource file = new TestResource("NUnitProject_ManualBinPath.nunit"))
{
IProject project = _loader.LoadFrom(file.Path);
var projectDir = Path.GetDirectoryName(file.Path);
Assert.AreEqual(1, project.ConfigNames.Count);
TestPackage package1 = project.GetTestPackage("Debug");
Assert.AreEqual(2, package1.Settings.Count);
Assert.AreEqual("bin_path_value", package1.Settings["PrivateBinPath"], "PrivateBinPath");
Assert.AreEqual(projectDir, package1.Settings["BasePath"], "BasePath");
}
}
[Test]
public void LoadProjectWithComplexSettings()
{
using (TestResource file = new TestResource("NUnitProject_ComplexSettings.nunit"))
{
IProject project = _loader.LoadFrom(file.Path);
var projectDir = Path.GetDirectoryName(file.Path);
var binDir = Path.Combine(projectDir, "bin");
var debugDir = Path.Combine(binDir, "debug");
var releaseDir = Path.Combine(binDir, "release");
Assert.AreEqual(2, project.ConfigNames.Count);
TestPackage package1 = project.GetTestPackage("Debug");
Assert.AreEqual(5, package1.Settings.Count);
Assert.AreEqual(debugDir, package1.Settings["BasePath"]);
Assert.AreEqual(true, package1.Settings["AutoBinPath"]);
Assert.AreEqual("Separate", package1.Settings["ProcessModel"]);
Assert.AreEqual("Multiple", package1.Settings["DomainUsage"]);
Assert.AreEqual("v2.0", package1.Settings["RuntimeFramework"]);
Assert.AreEqual(2, package1.SubPackages.Count);
Assert.AreEqual(
Path.Combine(debugDir, "assembly1.dll"),
package1.SubPackages[0].FullName);
Assert.AreEqual(
Path.Combine(debugDir, "assembly2.dll"),
package1.SubPackages[1].FullName);
TestPackage package2 = project.GetTestPackage("Release");
Assert.AreEqual(5, package2.Settings.Count);
Assert.AreEqual(releaseDir, package2.Settings["BasePath"]);
Assert.AreEqual(true, package2.Settings["AutoBinPath"]);
Assert.AreEqual("Separate", package2.Settings["ProcessModel"]);
Assert.AreEqual("Multiple", package2.Settings["DomainUsage"]);
Assert.AreEqual("v4.0", package2.Settings["RuntimeFramework"]);
Assert.AreEqual(2, package2.SubPackages.Count);
Assert.AreEqual(
Path.Combine(releaseDir, "assembly1.dll"),
package2.SubPackages[0].FullName);
Assert.AreEqual(
Path.Combine(releaseDir, "assembly2.dll"),
package2.SubPackages[1].FullName);
}
}
}
}

Просмотреть файл

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("addin-tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("addin-tests")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("3d3c1366-255e-483b-aa84-d1914b0f8af8")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Просмотреть файл

@ -1,469 +0,0 @@
// ***********************************************************************
// Copyright (c) 2015 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System.IO;
using System.Text;
using System.Xml;
using NUnit.Framework;
namespace NUnit.Engine.Listeners
{
using System;
[TestFixture]
public class TeamCityEventListenerTests
{
private StringBuilder _output;
private StringWriter _outputWriter;
[SetUp]
public void SetUp()
{
_output = new StringBuilder();
_outputWriter = new StringWriter(_output);
}
[TearDown]
public void TearDown()
{
_outputWriter.Dispose();
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenParallelizedTestsFromNUnit3()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Assembly 1
publisher.RegisterMessage(CreateStartSuite("1-1", "", "aaa" + Path.DirectorySeparatorChar + "Assembly1"));
publisher.RegisterMessage(CreateStartSuite("1-2", "1-1", "Assembly1.Namespace1"));
publisher.RegisterMessage(CreateStartSuite("1-3", "1-2", "Assembly1.Namespace1.1"));
// Assembly 2
publisher.RegisterMessage(CreateStartSuite("1-6", "", "ddd" + Path.DirectorySeparatorChar + "Assembly2"));
publisher.RegisterMessage(CreateStartSuite("1-7", "1-6", "Assembly2.Namespace2"));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-4", "1-3", "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-4", "1-3", "Assembly1.Namespace1.1.Test1", "0.1", "Text output"));
// Test Assembly2.Namespace2.1.Test1
publisher.RegisterMessage(CreateStartTest("1-8", "1-7", "Assembly2.Namespace2.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-8", "1-8", "Assembly2.Namespace2.1.Test1", "0.1", "Text output"));
// Test Assembly1.Namespace1.1.Test2
publisher.RegisterMessage(CreateStartTest("1-5", "1-3", "Assembly1.Namespace1.1.Test2"));
publisher.RegisterMessage(CreateTestCaseFailed("1-5", "1-3", "Assembly1.Namespace1.1.Test2", "0.2", "Error output", "Stack trace"));
publisher.RegisterMessage(CreateFinishSuite("1-7", "1-6", "Assembly2.Namespace2"));
publisher.RegisterMessage(CreateFinishSuite("1-6", "", "Assembly2"));
publisher.RegisterMessage(CreateFinishSuite("1-3", "1-2", "Assembly1.Namespace1.1"));
publisher.RegisterMessage(CreateFinishSuite("1-2", "1-1", "Assembly1.Namespace1"));
publisher.RegisterMessage(CreateFinishSuite("1-1", "", "Assembly1"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testSuiteStarted name='Assembly1' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testSuiteStarted name='Assembly2' flowId='1-6']" + Environment.NewLine
+ "##teamcity[flowStarted flowId='1-4' parent='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-4']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly1.Namespace1.1.Test1' out='Text output' flowId='1-4']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-4']" + Environment.NewLine
+ "##teamcity[flowFinished flowId='1-4']" + Environment.NewLine
+ "##teamcity[flowStarted flowId='1-8' parent='1-6']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly2.Namespace2.1.Test1' captureStandardOutput='false' flowId='1-8']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly2.Namespace2.1.Test1' out='Text output' flowId='1-8']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly2.Namespace2.1.Test1' duration='100' flowId='1-8']" + Environment.NewLine
+ "##teamcity[flowFinished flowId='1-8']" + Environment.NewLine
+ "##teamcity[flowStarted flowId='1-5' parent='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test2' captureStandardOutput='false' flowId='1-5']" + Environment.NewLine
+ "##teamcity[testFailed name='Assembly1.Namespace1.1.Test2' message='Error output' details='Stack trace' flowId='1-5']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test2' duration='200' flowId='1-5']" + Environment.NewLine
+ "##teamcity[flowFinished flowId='1-5']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly2' flowId='1-6']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly1' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenHas1SuiteFromNUnit3()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Assembly 1
publisher.RegisterMessage(CreateStartSuite("1-1", "", "aaa" + Path.DirectorySeparatorChar + "Assembly1"));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-2", "1-1", "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-2", "1-1", "Assembly1.Namespace1.1.Test1", "0.1", "Text output"));
publisher.RegisterMessage(CreateFinishSuite("1-1", "", "Assembly1"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testSuiteStarted name='Assembly1' flowId='1-1']" + Environment.NewLine
+ "##teamcity[flowStarted flowId='1-2' parent='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-2']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly1.Namespace1.1.Test1' out='Text output' flowId='1-2']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-2']" + Environment.NewLine
+ "##teamcity[flowFinished flowId='1-2']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly1' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenHasNoSuiteFromNUnit3()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-1", "", "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-1", "", "Assembly1.Namespace1.1.Test1", "0.1", "Text output"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly1.Namespace1.1.Test1' out='Text output' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenOutputIsEmpty()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-1", "", "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-1", "", "Assembly1.Namespace1.1.Test1", "0.1", ""));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenHasNoOutput()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-1", "", "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-1", "", "Assembly1.Namespace1.1.Test1", "10", null));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='10000' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenTestsFromNUnit2()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Assembly 1
publisher.RegisterMessage(CreateStartSuite("1-1", null, "aaa" + Path.DirectorySeparatorChar + "Assembly1"));
publisher.RegisterMessage(CreateStartSuite("1-2", null, "Assembly1.Namespace1"));
publisher.RegisterMessage(CreateStartSuite("1-3", null, "Assembly1.Namespace1.1"));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-4", null, "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-4", null, "Assembly1.Namespace1.1.Test1", "0.1", "Text output"));
// Test Assembly1.Namespace1.1.Test2
publisher.RegisterMessage(CreateStartTest("1-5", null, "Assembly1.Namespace1.1.Test2"));
publisher.RegisterMessage(CreateTestCaseFailed("1-5", null, "Assembly1.Namespace1.1.Test2", "0.2", "Error output", "Stack trace"));
publisher.RegisterMessage(CreateFinishSuite("1-3", null, "Assembly1.Namespace1.1"));
publisher.RegisterMessage(CreateFinishSuite("1-2", null, "Assembly1.Namespace1"));
publisher.RegisterMessage(CreateFinishSuite("1-1", null, "Assembly1"));
// Assembly 2
publisher.RegisterMessage(CreateStartSuite("1-6", null, "ddd//Assembly2"));
publisher.RegisterMessage(CreateStartSuite("1-7", null, "Assembly2.Namespace2"));
// Test Assembly2.Namespace2.1.Test1
publisher.RegisterMessage(CreateStartTest("1-8", null, "Assembly2.Namespace2.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-8", null, "Assembly2.Namespace2.1.Test1", "0.3", "Text output"));
publisher.RegisterMessage(CreateFinishSuite("1-7", null, "Assembly2.Namespace2"));
publisher.RegisterMessage(CreateFinishSuite("1-6", null, "Assembly2"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testSuiteStarted name='Assembly1' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly1.Namespace1.1.Test1' out='Text output' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test2' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFailed name='Assembly1.Namespace1.1.Test2' message='Error output' details='Stack trace' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test2' duration='200' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly1' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testSuiteStarted name='Assembly2' flowId='1-6']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly2.Namespace2.1.Test1' captureStandardOutput='false' flowId='1-6']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly2.Namespace2.1.Test1' out='Text output' flowId='1-6']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly2.Namespace2.1.Test1' duration='300' flowId='1-6']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly2' flowId='1-6']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenHas1SuiteFromNUnit2()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Assembly 1
publisher.RegisterMessage(CreateStartSuite("1-1", null, "aaa" + Path.DirectorySeparatorChar + "Assembly1"));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-2", null, "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-2", null, "Assembly1.Namespace1.1.Test1", "1.3", "Text output"));
publisher.RegisterMessage(CreateFinishSuite("1-1", null, "Assembly1"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testSuiteStarted name='Assembly1' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly1.Namespace1.1.Test1' out='Text output' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='1300' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly1' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWithValidFlowIdWhenHasNoSuiteFromNUnit2()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateStartTest("1-1", null, "Assembly1.Namespace1.1.Test1"));
publisher.RegisterMessage(CreateTestCaseSuccessful("1-1", null, "Assembly1.Namespace1.1.Test1", "0.1", "Text output"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStdOut name='Assembly1.Namespace1.1.Test1' out='Text output' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWhenOneTimeSetUpFailedFromNUnit3()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Assembly 1
publisher.RegisterMessage(CreateStartSuite("1-1", "", "aaa" + Path.DirectorySeparatorChar + "Assembly1"));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateTestCaseFailed("1-2", "1-1", "Assembly1.Namespace1.1.Test1", "0.1", "Error output", "Stack trace"));
publisher.RegisterMessage(CreateFinishSuite("1-1", "", "Assembly1"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testSuiteStarted name='Assembly1' flowId='1-1']" + Environment.NewLine
+ "##teamcity[flowStarted flowId='1-2' parent='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-2']" + Environment.NewLine
+ "##teamcity[testFailed name='Assembly1.Namespace1.1.Test1' message='Error output' details='Stack trace' flowId='1-2']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-2']" + Environment.NewLine
+ "##teamcity[flowFinished flowId='1-2']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly1' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
[Test]
public void ShouldSendMessagesWhenOneTimeSetUpFailedFromNUnit2()
{
// Given
var publisher = CreateInstance();
// When
publisher.RegisterMessage(CreateStartRun(1));
// Assembly 1
publisher.RegisterMessage(CreateStartSuite("1-1", null, "aaa" + Path.DirectorySeparatorChar + "Assembly1"));
// Test Assembly1.Namespace1.1.Test1
publisher.RegisterMessage(CreateTestCaseFailed("1-2", null, "Assembly1.Namespace1.1.Test1", "0.1", "Error output", "Stack trace"));
publisher.RegisterMessage(CreateFinishSuite("1-1", null, "Assembly1"));
publisher.RegisterMessage(CreateTestRun());
// Then
Assert.AreEqual(
"##teamcity[testSuiteStarted name='Assembly1' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testStarted name='Assembly1.Namespace1.1.Test1' captureStandardOutput='false' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFailed name='Assembly1.Namespace1.1.Test1' message='Error output' details='Stack trace' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testFinished name='Assembly1.Namespace1.1.Test1' duration='100' flowId='1-1']" + Environment.NewLine
+ "##teamcity[testSuiteFinished name='Assembly1' flowId='1-1']" + Environment.NewLine,
_output.ToString());
}
private static XmlNode CreateMessage(string text)
{
var doc = new XmlDocument();
doc.LoadXml(text);
return doc.FirstChild;
}
private static XmlNode CreateStartRun(int count)
{
return CreateMessage(string.Format("<start-run count='{0}'/>", count));
}
private static XmlNode CreateTestRun()
{
return CreateMessage("<test-run></test-run>");
}
private static XmlNode CreateStartSuite(string id, string parentId, string name)
{
return CreateMessage(string.Format("<start-suite id=\"{0}\" {1} name=\"{2}\" fullname=\"{2}\"/>", id, GetNamedAttr("parentId", parentId), name));
}
private static XmlNode CreateFinishSuite(string id, string parentId, string name)
{
return CreateMessage(string.Format("<test-suite id=\"{0}\" {1} name=\"{2}\" fullname=\"{2}\" runstate=\"Runnable\" testcasecount=\"3\" result=\"Failed\" duration=\"0.251125\" total=\"3\" passed=\"0\" failed=\"0\" inconclusive=\"0\" skipped=\"0\" asserts=\"0\"><failure><message><![CDATA[One or more child tests had errors]]></message></failure></test-suite>", id, GetNamedAttr("parentId", parentId), name));
}
private static XmlNode CreateStartTest(string id, string parentId, string name)
{
return CreateMessage(string.Format("<start-test id=\"{0}\" {1} name=\"{2}\" fullname=\"{2}\"/>", id, GetNamedAttr("parentId", parentId), name));
}
private static XmlNode CreateTestCaseSuccessful(string id, string parentId, string name, string duration, string output)
{
return CreateMessage(string.Format("<test-case id=\"{0}\" {1} name=\"{2}\" fullname=\"{2}\" runstate=\"Runnable\" result=\"Passed\" duration=\"{3}\" asserts=\"0\">{4}</test-case>", id, GetNamedAttr("parentId", parentId), name, duration, GetNamedElement("output", output)));
}
private static XmlNode CreateTestCaseFailed(string id, string parentId, string name, string duration, string message, string stackTrace)
{
return CreateMessage(string.Format("<test-case id=\"{0}\" {1} name=\"{2}\" fullname=\"{2}\" runstate=\"Runnable\" result=\"Failed\" duration=\"{3}\" asserts=\"0\"><properties><property name=\"_CATEGORIES\" value=\"F\" /></properties><failure><message><![CDATA[{4}]]></message><stack-trace><![CDATA[{5}]]></stack-trace></failure></test-case>", id, GetNamedAttr("parentId", parentId), name, duration, message, stackTrace));
}
private TeamCityEventListener CreateInstance()
{
return new TeamCityEventListener(_outputWriter);
}
private static string GetNamedAttr(string attrName, string attrValue)
{
if (attrValue == null)
{
return string.Empty;
}
return string.Format("{0}=\"{1}\"", attrName, attrValue);
}
private static string GetNamedElement(string elementName, string elementValue)
{
if (elementValue == null)
{
return string.Empty;
}
return string.Format("<{0}>{1}</{0}>", elementName, elementValue);
}
}
}

Просмотреть файл

@ -1,85 +0,0 @@
// ***********************************************************************
// Copyright (c) 2007-2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
namespace NUnit.Engine.Tests
{
using System;
using System.IO;
public class TempResourceFile : IDisposable
{
static readonly string TEMP_PATH = System.IO.Path.GetTempPath();
public string Path { get; private set; }
public bool IsRelativeToTempPath { get; private set; }
public TempResourceFile(Type type, string name) : this(type, name, null) {}
public TempResourceFile(Type type, string name, string filePath)
{
if (filePath == null)
filePath = name;
IsRelativeToTempPath = !System.IO.Path.IsPathRooted(filePath);
if (IsRelativeToTempPath)
filePath = System.IO.Path.Combine(TEMP_PATH, filePath);
Path = filePath;
Stream stream = type.Assembly.GetManifestResourceStream(type, name);
byte[] buffer = new byte[(int)stream.Length];
stream.Read(buffer, 0, buffer.Length);
string dir = System.IO.Path.GetDirectoryName(Path);
if(dir != null && dir.Length != 0)
{
Directory.CreateDirectory(dir);
}
using(FileStream fileStream = new FileStream(Path, FileMode.Create))
{
fileStream.Write(buffer, 0, buffer.Length);
}
}
public void Dispose()
{
File.Delete(Path);
string path = Path;
while(true)
{
path = System.IO.Path.GetDirectoryName(path);
if(path == null || path.Length == 0)
break;
if(IsRelativeToTempPath && path.Length <= TEMP_PATH.Length)
break;
if(Directory.GetFiles(path).Length > 0)
break;
Directory.Delete(path);
}
}
}
}

Просмотреть файл

@ -1,86 +0,0 @@
// ***********************************************************************
// Copyright (c) 2008-2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.IO;
using System.Collections;
using NUnit.Engine.Tests.resources;
using NUnit.Framework;
namespace NUnit.Engine.Services.ProjectLoaders.Tests
{
[TestFixture]
public class VSProjectTests
{
private string invalidFile = Path.Combine(Path.GetTempPath(), "invalid.csproj");
private void WriteInvalidFile( string text )
{
StreamWriter writer = new StreamWriter( invalidFile );
writer.WriteLine( text );
writer.Close();
}
[TearDown]
public void EraseInvalidFile()
{
if ( File.Exists( invalidFile ) )
File.Delete( invalidFile );
}
[Test]
public void NotWebProject()
{
Assert.IsFalse(VSProject.IsProjectFile(@"http://localhost/web.csproj"));
Assert.IsFalse(VSProject.IsProjectFile(@"\MyProject\http://localhost/web.csproj"));
}
[Test]
public void LoadInvalidFileType()
{
Assert.Throws<ArgumentException>(() => new VSProject(@"/test.junk"));
}
[Test]
public void FileNotFoundError()
{
Assert.Throws<FileNotFoundException>(() => new VSProject(@"/junk.csproj"));
}
[TestCase("<VisualStudioProject><junk></VisualStudioProject>")]
[TestCase("<VisualStudioProject><junk></junk></VisualStudioProject>")]
public void InvalidXmlFormat(string invalidXml)
{
WriteInvalidFile(invalidXml);
Assert.Throws<ArgumentException>(() => new VSProject(Path.Combine(Path.GetTempPath(), "invalid.csproj")));
}
[Test]
public void NoConfigurations()
{
WriteInvalidFile("<VisualStudioProject><CSharp><Build><Settings AssemblyName=\"invalid\" OutputType=\"Library\"></Settings></Build></CSharp></VisualStudioProject>");
VSProject project = new VSProject(Path.Combine(Path.GetTempPath(), "invalid.csproj"));
Assert.AreEqual(0, project.ConfigNames.Count);
}
}
}

Просмотреть файл

@ -1,194 +0,0 @@
// ***********************************************************************
// Copyright (c) 2008-2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.IO;
using NUnit.Engine.Extensibility;
using NUnit.Engine.Tests.resources;
using NUnit.Framework;
namespace NUnit.Engine.Services.ProjectLoaders.Tests
{
[TestFixture]
public class VisualStudioProjectLoaderTests
{
private VisualStudioProjectLoader _loader;
[SetUp]
public void CreateLoader()
{
_loader = new VisualStudioProjectLoader();
}
[TestCase("project.csproj", true)]
[TestCase("project.vbproj", true)]
[TestCase("project.vjsproj", true)]
[TestCase("project.fsproj", true)]
[TestCase("project.vcproj", true)]
[TestCase("project.sln", true)]
[TestCase("project.xyproj", false)]
public void ValidExtensions(string project, bool isGood)
{
if (isGood)
Assert.That(_loader.CanLoadFrom(project), "Should be loadable: {0}", project);
else
Assert.False(_loader.CanLoadFrom(project), "Should not be loadable: {0}", project);
}
[Test]
public void CannotLoadWebProject()
{
Assert.IsFalse(_loader.CanLoadFrom(@"http://localhost/web.csproj"));
Assert.IsFalse(_loader.CanLoadFrom(@"\MyProject\http://localhost/web.csproj"));
}
[TestCase("csharp-sample.csproj", new string[] { "Debug", "Release" }, "csharp-sample")]
[TestCase("csharp-sample.csproj", new string[] { "Debug", "Release" }, "csharp-sample")]
[TestCase("csharp-missing-output-path.csproj", new string[] { "Debug", "Release" }, "MissingOutputPath")]
[TestCase("csharp-xna-project.csproj", new string[] { "Debug|x86", "Release|x86" }, "XNAWindowsProject")]
[TestCase("vb-sample.vbproj", new string[] { "Debug", "Release" }, "vb-sample")]
[TestCase("jsharp-sample.vjsproj", new string[] { "Debug", "Release" }, "jsharp-sample")]
[TestCase("fsharp-sample.fsproj", new string[] { "Debug", "Release" }, "fsharp-sample")]
[TestCase("cpp-sample.vcproj", new string[] { "Debug|Win32", "Release|Win32" }, "cpp-sample")]
[TestCase("cpp-default-library.vcproj", new string[] { "Debug|Win32", "Release|Win32" }, "cpp-default-library")]
[TestCase("legacy-csharp-sample.csproj", new string[] { "Debug", "Release" }, "csharp-sample")]
[TestCase("legacy-csharp-hebrew-file-problem.csproj", new string[] { "Debug", "Release" }, "HebrewFileProblem")]
[TestCase("legacy-vb-sample.vbproj", new string[] { "Debug", "Release" }, "vb-sample")]
[TestCase("legacy-jsharp-sample.vjsproj", new string[] { "Debug", "Release" }, "jsharp-sample")]
[TestCase("legacy-cpp-sample.vcproj", new string[] { "Debug|Win32", "Release|Win32" }, "cpp-sample")]
[TestCase("legacy-cpp-library-with-macros.vcproj", new string[] { "Debug|Win32", "Release|Win32" }, "legacy-cpp-library-with-macros")]
[TestCase("legacy-cpp-makefile-project.vcproj", new string[] { "Debug|Win32", "Release|Win32" }, "MakeFileProject")]
public void CanLoadVsProject(string resourceName, string[] configs, string assemblyName)
{
Assert.That(_loader.CanLoadFrom(resourceName));
using (TestResource file = new TestResource(resourceName))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.That(project.ConfigNames, Is.EqualTo(configs));
foreach (var config in configs)
{
TestPackage package = project.GetTestPackage(config);
Assert.AreEqual(resourceName, package.Name);
Assert.AreEqual(1, package.SubPackages.Count);
Assert.AreEqual(assemblyName, Path.GetFileNameWithoutExtension(package.SubPackages[0].FullName));
Assert.That(package.Settings.ContainsKey("BasePath"));
Assert.That(Path.GetDirectoryName(package.SubPackages[0].FullName), Is.SamePath((string)package.Settings["BasePath"]));
}
}
}
[Test]
public void FromVSSolution2003()
{
using (new TestResource("legacy-csharp-sample.csproj", @"csharp\legacy-csharp-sample.csproj"))
using (new TestResource("legacy-jsharp-sample.vjsproj", @"jsharp\legacy-jsharp-sample.vjsproj"))
using (new TestResource("legacy-vb-sample.vbproj", @"vb\legacy-vb-sample.vbproj"))
using (new TestResource("legacy-cpp-sample.vcproj", @"cpp-sample\legacy-cpp-sample.vcproj"))
using (TestResource file = new TestResource("legacy-samples.sln"))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.AreEqual(2, project.ConfigNames.Count);
Assert.AreEqual(4, project.GetTestPackage("Debug").SubPackages.Count);
Assert.AreEqual(4, project.GetTestPackage("Release").SubPackages.Count);
}
}
[Test]
public void FromVSSolution2005()
{
using (new TestResource("csharp-sample.csproj", @"csharp\csharp-sample.csproj"))
using (new TestResource("jsharp-sample.vjsproj", @"jsharp\jsharp-sample.vjsproj"))
using (new TestResource("vb-sample.vbproj", @"vb\vb-sample.vbproj"))
using (new TestResource("cpp-sample.vcproj", @"cpp-sample\cpp-sample.vcproj"))
using (TestResource file = new TestResource("samples.sln"))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.AreEqual(2, project.ConfigNames.Count);
Assert.AreEqual(4, project.GetTestPackage("Debug").SubPackages.Count);
Assert.AreEqual(4, project.GetTestPackage("Release").SubPackages.Count);
}
}
[Test]
public void FromWebApplication()
{
using (new TestResource("legacy-csharp-sample.csproj", @"legacy-csharp-sample\legacy-csharp-sample.csproj"))
using (TestResource file = new TestResource("solution-with-web-application.sln"))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.AreEqual(2, project.ConfigNames.Count);
Assert.AreEqual(1, project.GetTestPackage("Debug").SubPackages.Count);
Assert.AreEqual(1, project.GetTestPackage("Release").SubPackages.Count);
}
}
[Test]
public void WithUnmanagedCpp()
{
using (new TestResource("legacy-csharp-sample.csproj", @"legacy-csharp-sample\legacy-csharp-sample.csproj"))
using (new TestResource("legacy-cpp-unmanaged.vcproj", @"legacy-cpp-unmanaged\legacy-cpp-unmanaged.vcproj"))
using (TestResource file = new TestResource("solution-with-unmanaged-cpp.sln"))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.AreEqual(2, project.ConfigNames.Count);
Assert.AreEqual(2, project.GetTestPackage("Debug").SubPackages.Count);
Assert.AreEqual(2, project.GetTestPackage("Release").SubPackages.Count);
}
}
[Test]
public void FromSolutionWithDisabledProject()
{
using (new TestResource("csharp-sample.csproj", @"csharp-sample\csharp-sample.csproj"))
using (new TestResource("csharp-debug-only.csproj", @"csharp-debug-only\csharp-debug-only.csproj"))
using (TestResource file = new TestResource("solution-with-disabled-project.sln"))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.AreEqual(2, project.ConfigNames.Count);
Assert.AreEqual(2, project.GetTestPackage("Release").SubPackages.Count, "Release should have 2 assemblies");
Assert.AreEqual(1, project.GetTestPackage("Debug").SubPackages.Count, "Debug should have 1 assembly");
}
}
[Test]
public void FromSolutionWithNonNunitTestProject()
{
using (new TestResource("csharp-sample.csproj", @"csharp-sample\csharp-sample.csproj"))
using (new TestResource("csharp-debug-only-no-nunit.csproj", @"csharp-debug-only-no-nunit\csharp-debug-only-no-nunit.csproj"))
using (TestResource file = new TestResource("solution-with-non-nunit-project.sln"))
{
IProject project = _loader.LoadFrom(file.Path);
Assert.AreEqual(2, project.ConfigNames.Count);
Assert.AreEqual(1, project.GetTestPackage("Release").SubPackages.Count, "Release should have 2 assemblies");
Assert.AreEqual(1, project.GetTestPackage("Debug").SubPackages.Count, "Debug should have 1 assembly");
}
}
}
}

Просмотреть файл

@ -1,175 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{793CEC1B-D44D-4162-BE03-913BF1FDB458}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NUnit.Engine.Tests</RootNamespace>
<AssemblyName>addin-tests</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\..\bin\Debug\addins\tests</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\..\..\bin\Release\addins\tests</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="NUnitProjectLoaderTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="resources\TestResource.cs" />
<Compile Include="TeamCityEventListenerTests.cs" />
<Compile Include="TempResourceFile.cs" />
<Compile Include="VisualStudioProjectLoaderTests.cs" />
<Compile Include="VSProjectTests.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\NUnitFramework\framework\nunit.framework-2.0.csproj">
<Project>{12B66B03-90F1-4992-BD33-BDF3C69AE49E}</Project>
<Name>nunit.framework-2.0</Name>
</ProjectReference>
<ProjectReference Include="..\..\nunit.engine.api\nunit.engine.api.csproj">
<Project>{775FAD50-3623-4922-97C4-DFB29A8BE4C7}</Project>
<Name>nunit.engine.api</Name>
</ProjectReference>
<ProjectReference Include="..\nunit-project-loader\nunit-project-loader.csproj">
<Project>{E71A76CA-0089-4E1A-A7FB-210429DBED6E}</Project>
<Name>nunit-project-loader</Name>
</ProjectReference>
<ProjectReference Include="..\teamcity-event-listener\teamcity-event-listener.csproj">
<Project>{a867079b-a172-4dae-9549-63b331092a23}</Project>
<Name>teamcity-event-listener</Name>
</ProjectReference>
<ProjectReference Include="..\vs-project-loader\vs-project-loader.csproj">
<Project>{96181317-7B6F-49F0-B283-6E804D41C8AF}</Project>
<Name>vs-project-loader</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\cpp-default-library.vcproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\cpp-sample.vcproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\csharp-debug-only.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\csharp-missing-output-path.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\csharp-sample.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\csharp-sample_noplatform.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\csharp-xna-project.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\fsharp-sample.fsproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\jsharp-sample.vjsproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-cpp-library-with-macros.vcproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-cpp-makefile-project.vcproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-cpp-sample.vcproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-cpp-unmanaged.vcproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-csharp-hebrew-file-problem.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-csharp-sample.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-jsharp-sample.vjsproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-samples.sln" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\legacy-vb-sample.vbproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\MultiplePlatformProject.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\NUnitProject.nunit" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\NUnitProject_ComplexSettings.nunit" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\NUnitProject_EmptyConfigs.nunit" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\NUnitProject_EmptyProject.nunit" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\NUnitProject_ManualBinPath.nunit" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\samples.sln" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\solution-with-disabled-project.sln" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\solution-with-unmanaged-cpp.sln" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\solution-with-web-application.sln" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\vb-sample.vbproj" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\NUnitProject_XmlDecl.nunit" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\csharp-debug-only-no-nunit.csproj" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="resources\solution-with-non-nunit-project.sln" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,91 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{23FF0E4C-DA55-4CC7-A948-09877A66001F}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MultiplePlatformProject</RootNamespace>
<AssemblyName>MultiplePlatformProject</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisRuleAssemblies>\rules</CodeAnalysisRuleAssemblies>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<CodeAnalysisRuleAssemblies>\rules</CodeAnalysisRuleAssemblies>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleAssemblies>\rules</CodeAnalysisRuleAssemblies>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleAssemblies>\rules</CodeAnalysisRuleAssemblies>
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,11 +0,0 @@
<NUnitProject>
<Settings activeconfig="Debug" />
<Config name="Debug" appbase="bin\debug" binpathtype="Auto">
<assembly path="assembly1.dll" />
<assembly path="assembly2.dll" />
</Config>
<Config name="Release" appbase="bin\release" binpathtype="Auto">
<assembly path="assembly1.dll" />
<assembly path="assembly2.dll" />
</Config>
</NUnitProject>

Просмотреть файл

@ -1,11 +0,0 @@
<NUnitProject>
<Settings activeconfig="Release" appbase="bin" processModel="Separate" domainUsage="Multiple" />
<Config name="Debug" appbase="debug" binpathtype="Auto" runtimeFramework="v2.0">
<assembly path="assembly1.dll" />
<assembly path="assembly2.dll" />
</Config>
<Config name="Release" appbase="release" binpathtype="Auto" runtimeFramework="v4.0">
<assembly path="assembly1.dll" />
<assembly path="assembly2.dll" />
</Config>
</NUnitProject>

Просмотреть файл

@ -1,5 +0,0 @@
<NUnitProject>
<Settings activeconfig="Debug" />
<Config name="Debug" binpathtype="Auto" />
<Config name="Release" binpathtype="Auto" />
</NUnitProject>

Просмотреть файл

@ -1 +0,0 @@
<NUnitProject />

Просмотреть файл

@ -1,4 +0,0 @@
<NUnitProject>
<Settings activeconfig="Debug" />
<Config name="Debug" binpath="bin_path_value" />
</NUnitProject>

Просмотреть файл

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<NUnitProject>
<Settings activeconfig="Debug" />
<Config name="Debug" appbase="bin\debug" binpathtype="Auto">
<assembly path="assembly1.dll" />
<assembly path="assembly2.dll" />
</Config>
<Config name="Release" appbase="bin\release" binpathtype="Auto">
<assembly path="assembly1.dll" />
<assembly path="assembly2.dll" />
</Config>
</NUnitProject>

Просмотреть файл

@ -1,40 +0,0 @@
// ***********************************************************************
// Copyright (c) 2007-2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
namespace NUnit.Engine.Tests.resources
{
public class TestResource : TempResourceFile
{
public TestResource(string name)
: base(typeof(TestResource), name)
{
}
public TestResource(string name, string filePath)
: base(typeof(TestResource), name, filePath)
{
}
}
}

Просмотреть файл

@ -1,254 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="cpp-default-library_VS2005"
ProjectGUID="{78092255-BD15-4D67-B3AF-1440FD498760}"
RootNamespace="cppdefaultlibrary_VS2005"
Keyword="ManagedCProj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
ManagedExtensions="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(NoInherit)"
LinkIncremental="2"
GenerateDebugInformation="true"
AssemblyDebug="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
ManagedExtensions="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="$(NoInherit)"
LinkIncremental="1"
GenerateDebugInformation="true"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
<AssemblyReference
RelativePath="System.dll"
AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
<AssemblyReference
RelativePath="System.Data.dll"
AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
/>
<AssemblyReference
RelativePath="System.XML.dll"
AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
/>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\AssemblyInfo.cpp"
>
</File>
<File
RelativePath=".\cpp-default-library_VS2005.cpp"
>
</File>
<File
RelativePath=".\Stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\cpp-default-library_VS2005.h"
>
</File>
<File
RelativePath=".\resource.h"
>
</File>
<File
RelativePath=".\Stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath=".\app.ico"
>
</File>
<File
RelativePath=".\app.rc"
>
</File>
</Filter>
<File
RelativePath=".\ReadMe.txt"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

Просмотреть файл

@ -1,229 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="cpp-sample_VS2005"
ProjectGUID="{7E5849C7-0469-4AD2-91B9-C87203934254}"
Keyword="ManagedCProj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="2"
CharacterSet="2"
ManagedExtensions="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalUsingDirectories="..\..\framework\bin\Debug"
PreprocessorDefinitions="WIN32;_DEBUG"
MinimalRebuild="FALSE"
BasicRuntimeChecks="0"
RuntimeLibrary="3"
UsePrecompiledHeader="3"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/cpp-sample.dll"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
CharacterSet="2"
ManagedExtensions="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalUsingDirectories="..\..\framework\bin\Release;..\..\framework\bin\Debug"
PreprocessorDefinitions="WIN32;NDEBUG"
MinimalRebuild="FALSE"
UsePrecompiledHeader="3"
WarningLevel="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/cpp-sample.dll"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
<AssemblyReference
RelativePath=""
AssemblyName=""
/>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
>
<File
RelativePath="AssemblyInfo.cpp"
>
</File>
<File
RelativePath="cppsample.cpp"
>
</File>
<File
RelativePath="Stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc"
>
<File
RelativePath="cppsample.h"
>
</File>
<File
RelativePath="Stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;r"
>
</Filter>
<File
RelativePath="ReadMe.txt"
>
</File>
</Files>
</VisualStudioProject>

Просмотреть файл

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DebugOnly</RootNamespace>
<AssemblyName>DebugOnly</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DebugOnly</RootNamespace>
<AssemblyName>DebugOnly</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="nunit.framework" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,51 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6BF38215-C9D9-418D-9D81-4DECBA679223}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MissingOutputPath</RootNamespace>
<AssemblyName>MissingOutputPath</AssemblyName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<OutputPath>bin\Common\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,106 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.40607</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{15D66EEE-A852-4A52-89C2-83E74ECF3770}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>csharp-sample</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>csharp_sample</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework">
<Name>nunit.framework</Name>
<HintPath>E:\Program Files\NUnit 2.2\bin\nunit.framework.dll</HintPath>
<AssemblyFolderKey>hklm\dn\nunit.framework</AssemblyFolderKey>
</Reference>
<Reference Include="System">
<Name>System</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll</HintPath>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll</HintPath>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="CSharpTest.cs">
<SubType>Code</SubType>
</Compile>
<Content Include="ReadMe.txt" />
<AppDesigner Include="Properties\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,106 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.40607</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{15D66EEE-A852-4A52-89C2-83E74ECF3770}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>csharp-sample_VS2005_noplatform</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>csharp_sample</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework">
<Name>nunit.framework</Name>
<HintPath>E:\Program Files\NUnit 2.2\bin\nunit.framework.dll</HintPath>
<AssemblyFolderKey>hklm\dn\nunit.framework</AssemblyFolderKey>
</Reference>
<Reference Include="System">
<Name>System</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll</HintPath>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll</HintPath>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="CSharpTest.cs">
<SubType>Code</SubType>
</Compile>
<Content Include="ReadMe.txt" />
<AppDesigner Include="Properties\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,81 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1BAC9824-B0E8-448F-B91A-80B93B9AB0F6}</ProjectGuid>
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>XNAWindowsProject</RootNamespace>
<AssemblyName>XNAWindowsProject</AssemblyName>
<XnaFrameworkVersion>v2.0</XnaFrameworkVersion>
<XnaPlatform>Windows</XnaPlatform>
<XnaCrossPlatformGroupID>587ca330-4151-41aa-a721-18cbd58d91ce</XnaCrossPlatformGroupID>
<ApplicationIcon>Game.ico</ApplicationIcon>
<Thumbnail>GameThumbnail.png</Thumbnail>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\x86\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\x86\Release</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib>
<UseVSHostingProcess>false</UseVSHostingProcess>
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Xna.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d, processorArchitecture=x86">
<Private>False</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="Microsoft.Xna.Framework.Game, Version=2.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d, processorArchitecture=MSIL">
<Private>False</Private>
<SpecificVersion>True</SpecificVersion>
</Reference>
<Reference Include="mscorlib">
<Private>False</Private>
</Reference>
<Reference Include="System">
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Program.cs" />
<Compile Include="Game1.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="Game.ico" />
<Content Include="GameThumbnail.png" />
</ItemGroup>
<ItemGroup>
<NestedContentProject Include="Content\Content.contentproj">
<Project>04ff7472-dfb8-4502-90ea-a99a54be6748</Project>
<Visible>False</Visible>
</NestedContentProject>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\v2.0\Microsoft.Xna.GameStudio.Common.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\v2.0\Microsoft.Xna.GameStudio.NestedContent.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5de001e7-2606-4dfe-8c03-90c70d2c3805}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>fsharp-sample</RootNamespace>
<AssemblyName>fsharp-sample</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<Name>fsharp-sample</Name>
<TargetFSharpCoreVersion>2.3.0.0</TargetFSharpCoreVersion>
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<Tailcalls>false</Tailcalls>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<WarningLevel>3</WarningLevel>
<DocumentationFile>bin\Debug\fsharp-sample.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<Tailcalls>true</Tailcalls>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<WarningLevel>3</WarningLevel>
<DocumentationFile>bin\Release\fsharp-sample.XML</DocumentationFile>
</PropertyGroup>
<Choose>
<When Condition="'$(VisualStudioVersion)' == '11.0'">
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
</PropertyGroup>
</Otherwise>
</Choose>
<Import Project="$(FSharpTargetsPath)" Condition="Exists('$(FSharpTargetsPath)')" />
<ItemGroup>
<Compile Include="AssertSyntaxTests.fs" />
<Content Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Private>True</Private>
</Reference>
<Reference Include="mscorlib" />
<Reference Include="nunit.framework">
<HintPath>packages\NUnit.3.0.0-alpha-3\lib\net20\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
</ItemGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,93 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.40607</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{B55A6E53-57A9-4205-B396-C9983B3AF46A}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>jsharp-sample</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<OutputType>Library</OutputType>
<RootNamespace>jsharp</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<BaseAddress>285212672</BaseAddress>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>true</DebugSymbols>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<BaseAddress>285212672</BaseAddress>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DebugSymbols>false</DebugSymbols>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework">
<Name>nunit.framework</Name>
<HintPath>E:\Program Files\NUnit 2.2\bin\nunit.framework.dll</HintPath>
<AssemblyFolderKey>hklm\dn\nunit.framework</AssemblyFolderKey>
</Reference>
<Reference Include="System">
<Name>System</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll</HintPath>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll</HintPath>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll</HintPath>
</Reference>
<Reference Include="vjslib">
<Name>vjslib</Name>
<HintPath>..\..\..\..\..\WINDOWS\Microsoft Visual JSharp .NET\Framework\v1.0.4205\vjslib.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.jsl">
<SubType>Code</SubType>
</Compile>
<Compile Include="JSharpTest.jsl">
<SubType>Code</SubType>
</Compile>
<Content Include="ReadMe.txt" />
<AppDesigner Include="Properties\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VISUALJSHARP.Targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,176 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="CPPLibrary"
ProjectGUID="{B6F3498B-4951-4F97-BB6F-6594D6394A87}"
RootNamespace="CPPLibrary"
Keyword="ManagedCProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/Zl"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG"
MinimalRebuild="FALSE"
BasicRuntimeChecks="0"
RuntimeLibrary="1"
UsePrecompiledHeader="3"
WarningLevel="3"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/noentry"
AdditionalDependencies="nochkclr.obj mscoree.lib"
OutputFile="$(OutDir)\$(ProjectName).dll"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
AssemblyDebug="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/Zl"
PreprocessorDefinitions="WIN32;NDEBUG"
MinimalRebuild="FALSE"
RuntimeLibrary="0"
UsePrecompiledHeader="3"
WarningLevel="3"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/noentry"
AdditionalDependencies="nochkclr.obj mscoree.lib"
OutputFile="$(OutDir)\$(ProjectName).dll"
LinkIncremental="1"
GenerateDebugInformation="TRUE"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
<AssemblyReference
RelativePath="mscorlib.dll"/>
<AssemblyReference
RelativePath="System.dll"/>
<AssemblyReference
RelativePath="System.Data.dll"/>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath=".\AssemblyInfo.cpp">
</File>
<File
RelativePath=".\CPPLibrary.cpp">
</File>
<File
RelativePath=".\Stdafx.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File
RelativePath=".\CPPLibrary.h">
</File>
<File
RelativePath=".\resource.h">
</File>
<File
RelativePath=".\Stdafx.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
<File
RelativePath=".\app.ico">
</File>
<File
RelativePath=".\app.rc">
</File>
</Filter>
<File
RelativePath=".\ReadMe.txt">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

Просмотреть файл

@ -1,56 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="MakeFileProject"
ProjectGUID="{69F9692E-8BEA-4C1B-AE8D-A619C251E0D3}"
Keyword="MakeFileProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="0">
<Tool
Name="VCNMakeTool"
Output="MakeFileProject.exe"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="0">
<Tool
Name="VCNMakeTool"
Output="MakeFileProject.exe"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
<File
RelativePath=".\readme.txt">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

Просмотреть файл

@ -1,154 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="cpp-sample"
ProjectGUID="{7E5849C7-0469-4AD2-91B9-C87203934254}"
Keyword="ManagedCProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="2"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalUsingDirectories="..\..\src\NUnitFramework\framework\bin\Debug"
PreprocessorDefinitions="WIN32;_DEBUG"
MinimalRebuild="FALSE"
BasicRuntimeChecks="0"
RuntimeLibrary="1"
UsePrecompiledHeader="3"
WarningLevel="3"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/cpp-sample.dll"
LinkIncremental="2"
GenerateDebugInformation="TRUE"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
CharacterSet="2"
ManagedExtensions="TRUE">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalUsingDirectories="..\..\src\NUnitFramework\framework\bin\Release;..\..\src\NUnitFramework\framework\bin\Debug"
PreprocessorDefinitions="WIN32;NDEBUG"
MinimalRebuild="FALSE"
UsePrecompiledHeader="3"
WarningLevel="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/cpp-sample.dll"
LinkIncremental="1"
GenerateDebugInformation="TRUE"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
<AssemblyReference
RelativePath="{ReferencesPath}\nunit.framework.dll"/>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
<File
RelativePath="AssemblyInfo.cpp">
</File>
<File
RelativePath="cppsample.cpp">
</File>
<File
RelativePath="Stdafx.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc">
<File
RelativePath="cppsample.h">
</File>
<File
RelativePath="Stdafx.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;r">
</Filter>
<File
RelativePath="ReadMe.txt">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

Просмотреть файл

@ -1,131 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="Unmanaged"
ProjectGUID="{FDBEFC64-EDEF-4645-81EB-C6EA9597170D}"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;UNMANAGED_EXPORTS"
MinimalRebuild="TRUE"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/Unmanaged.dll"
LinkIncremental="2"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/Unmanaged.pdb"
SubSystem="2"
ImportLibrary="$(OutDir)/Unmanaged.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;UNMANAGED_EXPORTS"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/Unmanaged.dll"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(OutDir)/Unmanaged.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

Просмотреть файл

@ -1,125 +0,0 @@
<VisualStudioProject>
<CSHARP
ProjectType = "Local"
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"
ProjectGuid = "{F848EF9E-5D1D-4785-9CCC-D529CD5728F0}"
>
<Build>
<Settings
ApplicationIcon = "App.ico"
AssemblyKeyContainerName = ""
AssemblyName = "HebrewFileProblem"
AssemblyOriginatorKeyFile = ""
DefaultClientScript = "JScript"
DefaultHTMLPageLayout = "Grid"
DefaultTargetSchema = "IE50"
DelaySign = "false"
OutputType = "Library"
PreBuildEvent = ""
PostBuildEvent = 'copy "$(ProjectDir)\UnitTests\*.txt" "$(TargetDir)" > nul&#xd;&#xa;'
RootNamespace = "SomeApp"
RunPostBuildEvent = "OnBuildSuccess"
StartupObject = ""
>
<Config
Name = "Debug"
AllowUnsafeBlocks = "false"
BaseAddress = "285212672"
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
DocumentationFile = ""
DebugSymbols = "true"
FileAlignment = "4096"
IncrementalBuild = "false"
NoStdLib = "false"
NoWarn = ""
Optimize = "false"
OutputPath = "bin\Debug\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
/>
<Config
Name = "Release"
AllowUnsafeBlocks = "false"
BaseAddress = "285212672"
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "TRACE"
DocumentationFile = ""
DebugSymbols = "false"
FileAlignment = "4096"
IncrementalBuild = "false"
NoStdLib = "false"
NoWarn = ""
Optimize = "true"
OutputPath = "bin\Release\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
/>
</Settings>
<References>
<Reference
Name = "System"
AssemblyName = "System"
HintPath = "..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.dll"
/>
<Reference
Name = "System.Data"
AssemblyName = "System.Data"
HintPath = "..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
/>
<Reference
Name = "System.XML"
AssemblyName = "System.XML"
HintPath = "..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
/>
<Reference
Name = "nunit.framework"
AssemblyName = "nunit.framework"
HintPath = "..\..\..\Program Files\NUnit 2.2.2\bin\nunit.framework.dll"
AssemblyFolderKey = "hklm\dn\nunit.framework"
/>
<Reference
Name = "nunit.core"
AssemblyName = "nunit.core"
HintPath = "..\..\..\Program Files\NUnit 2.2.2\bin\nunit.core.dll"
AssemblyFolderKey = "hklm\dn\nunit.framework"
/>
</References>
</Build>
<Files>
<Include>
<File
RelPath = "App.ico"
BuildAction = "Content"
/>
<File
RelPath = "AssemblyInfo.cs"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "Class1.cs"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "UnitTests\SomeTestFixture.cs"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "UnitTests\òáøéúhebrewFile.txt"
BuildAction = "Content"
/>
</Include>
</Files>
</CSHARP>
</VisualStudioProject>

Просмотреть файл

@ -1,110 +0,0 @@
<VisualStudioProject>
<CSHARP
ProjectType = "Local"
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"
ProjectGuid = "{15D66EEE-A852-4A52-89C2-83E74ECF3770}"
>
<Build>
<Settings
ApplicationIcon = ""
AssemblyKeyContainerName = ""
AssemblyName = "csharp-sample"
AssemblyOriginatorKeyFile = ""
DefaultClientScript = "JScript"
DefaultHTMLPageLayout = "Grid"
DefaultTargetSchema = "IE50"
DelaySign = "false"
OutputType = "Library"
PreBuildEvent = ""
PostBuildEvent = ""
RootNamespace = "csharp_sample"
RunPostBuildEvent = "OnBuildSuccess"
StartupObject = ""
>
<Config
Name = "Debug"
AllowUnsafeBlocks = "false"
BaseAddress = "285212672"
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
DocumentationFile = ""
DebugSymbols = "true"
FileAlignment = "4096"
IncrementalBuild = "true"
NoStdLib = "false"
NoWarn = ""
Optimize = "false"
OutputPath = "bin\Debug\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
/>
<Config
Name = "Release"
AllowUnsafeBlocks = "false"
BaseAddress = "285212672"
CheckForOverflowUnderflow = "false"
ConfigurationOverrideFile = ""
DefineConstants = "TRACE"
DocumentationFile = ""
DebugSymbols = "false"
FileAlignment = "4096"
IncrementalBuild = "false"
NoStdLib = "false"
NoWarn = ""
Optimize = "true"
OutputPath = "bin\Release\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
/>
</Settings>
<References>
<Reference
Name = "System"
AssemblyName = "System"
HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
/>
<Reference
Name = "System.Data"
AssemblyName = "System.Data"
HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"
/>
<Reference
Name = "System.XML"
AssemblyName = "System.Xml"
HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
/>
<Reference
Name = "nunit.framework"
AssemblyName = "nunit.framework"
HintPath = "E:\Program Files\NUnit 2.2\bin\nunit.framework.dll"
AssemblyFolderKey = "hklm\dn\nunit.framework"
/>
</References>
</Build>
<Files>
<Include>
<File
RelPath = "AssemblyInfo.cs"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "CSharpTest.cs"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "ReadMe.txt"
BuildAction = "Content"
/>
</Include>
</Files>
</CSHARP>
</VisualStudioProject>

Просмотреть файл

@ -1,101 +0,0 @@
<VisualStudioProject>
<VISUALJSHARP
ProjectType = "Local"
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"
ProjectGuid = "{B55A6E53-57A9-4205-B396-C9983B3AF46A}"
>
<Build>
<Settings
AssemblyKeyContainerName = ""
AssemblyName = "jsharp-sample"
AssemblyOriginatorKeyFile = ""
DefaultClientScript = "JScript"
DefaultHTMLPageLayout = "Grid"
DefaultTargetSchema = "IE50"
OutputType = "Library"
PreBuildEvent = ""
PostBuildEvent = ""
RootNamespace = "jsharp"
RunPostBuildEvent = "OnBuildSuccess"
StartupObject = ""
>
<Config
Name = "Debug"
BaseAddress = "285212672"
ConfigurationOverrideFile = ""
DefineConstants = "DEBUG;TRACE"
DebugSymbols = "true"
NoWarn = ""
Optimize = "false"
OutputPath = "bin\Debug\"
RegisterForComInterop = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
AdditionalOptions = ""
/>
<Config
Name = "Release"
BaseAddress = "285212672"
ConfigurationOverrideFile = ""
DefineConstants = "TRACE"
DebugSymbols = "false"
NoWarn = ""
Optimize = "true"
OutputPath = "bin\Release\"
RegisterForComInterop = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "4"
AdditionalOptions = ""
/>
</Settings>
<References>
<Reference
Name = "vjslib"
AssemblyName = "vjslib"
HintPath = "..\..\..\..\..\WINDOWS\Microsoft Visual JSharp .NET\Framework\v1.0.4205\vjslib.dll"
/>
<Reference
Name = "System"
AssemblyName = "System"
HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
/>
<Reference
Name = "System.Data"
AssemblyName = "System.Data"
HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"
/>
<Reference
Name = "System.XML"
AssemblyName = "System.Xml"
HintPath = "..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
/>
<Reference
Name = "nunit.framework"
AssemblyName = "nunit.framework"
HintPath = "E:\Program Files\NUnit 2.2\bin\nunit.framework.dll"
AssemblyFolderKey = "hklm\dn\nunit.framework"
/>
</References>
</Build>
<Files>
<Include>
<File
RelPath = "AssemblyInfo.jsl"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "JSharpTest.jsl"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "ReadMe.txt"
BuildAction = "Content"
/>
</Include>
</Files>
</VISUALJSHARP>
</VisualStudioProject>

Просмотреть файл

@ -1,45 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "legacy-csharp-sample", "csharp\legacy-csharp-sample.csproj", "{15D66EEE-A852-4A52-89C2-83E74ECF3770}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "legacy-jsharp-sample", "jsharp\legacy-jsharp-sample.vjsproj", "{B55A6E53-57A9-4205-B396-C9983B3AF46A}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "legacy-vb-sample", "vb\legacy-vb-sample.vbproj", "{F199991B-6C8E-4AB0-9AAA-703CD4897700}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy-cpp-sample", "cpp-sample\legacy-cpp-sample.vcproj", "{7E5849C7-0469-4AD2-91B9-C87203934254}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug.ActiveCfg = Debug|.NET
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug.Build.0 = Debug|.NET
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release.ActiveCfg = Release|.NET
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release.Build.0 = Release|.NET
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug.ActiveCfg = Debug|.NET
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug.Build.0 = Debug|.NET
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release.ActiveCfg = Release|.NET
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release.Build.0 = Release|.NET
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug.ActiveCfg = Debug|.NET
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug.Build.0 = Debug|.NET
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release.ActiveCfg = Release|.NET
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release.Build.0 = Release|.NET
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug.ActiveCfg = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug.Build.0 = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release.ActiveCfg = Release|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,107 +0,0 @@
<VisualStudioProject>
<VisualBasic
ProjectType = "Local"
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"
ProjectGuid = "{F199991B-6C8E-4AB0-9AAA-703CD4897700}"
>
<Build>
<Settings
ApplicationIcon = ""
AssemblyKeyContainerName = ""
AssemblyName = "vb-sample"
AssemblyOriginatorKeyFile = ""
AssemblyOriginatorKeyMode = "None"
DefaultClientScript = "JScript"
DefaultHTMLPageLayout = "Grid"
DefaultTargetSchema = "IE50"
DelaySign = "false"
OutputType = "Library"
OptionCompare = "Binary"
OptionExplicit = "On"
OptionStrict = "Off"
RootNamespace = "vb_sample"
StartupObject = ""
>
<Config
Name = "Debug"
BaseAddress = "285212672"
ConfigurationOverrideFile = ""
DefineConstants = ""
DefineDebug = "true"
DefineTrace = "true"
DebugSymbols = "true"
IncrementalBuild = "true"
Optimize = "false"
OutputPath = "bin\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "1"
/>
<Config
Name = "Release"
BaseAddress = "285212672"
ConfigurationOverrideFile = ""
DefineConstants = ""
DefineDebug = "false"
DefineTrace = "true"
DebugSymbols = "false"
IncrementalBuild = "false"
Optimize = "true"
OutputPath = "bin\"
RegisterForComInterop = "false"
RemoveIntegerChecks = "false"
TreatWarningsAsErrors = "false"
WarningLevel = "1"
/>
</Settings>
<References>
<Reference
Name = "System"
AssemblyName = "System"
/>
<Reference
Name = "System.Data"
AssemblyName = "System.Data"
/>
<Reference
Name = "System.XML"
AssemblyName = "System.Xml"
/>
<Reference
Name = "nunit.framework"
AssemblyName = "nunit.framework"
HintPath = "E:\Program Files\NUnit 2.2\bin\nunit.framework.dll"
AssemblyFolderKey = "hklm\dn\nunit.framework"
/>
</References>
<Imports>
<Import Namespace = "Microsoft.VisualBasic" />
<Import Namespace = "System" />
<Import Namespace = "System.Collections" />
<Import Namespace = "System.Data" />
<Import Namespace = "System.Diagnostics" />
</Imports>
</Build>
<Files>
<Include>
<File
RelPath = "AssemblyInfo.vb"
SubType = "Code"
BuildAction = "Compile"
/>
<File
RelPath = "ReadMe.txt"
BuildAction = "Content"
/>
<File
RelPath = "SimpleVBTest.vb"
SubType = "Code"
BuildAction = "Compile"
/>
</Include>
</Files>
</VisualBasic>
</VisualStudioProject>

Просмотреть файл

@ -1,73 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp-sample", "csharp\csharp-sample.csproj", "{15D66EEE-A852-4A52-89C2-83E74ECF3770}"
EndProject
Project("{E6FDF86B-F3D1-11D4-8576-0002A516ECE8}") = "jsharp-sample", "jsharp\jsharp-sample.vjsproj", "{B55A6E53-57A9-4205-B396-C9983B3AF46A}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "vb-sample", "vb\vb-sample.vbproj", "{F199991B-6C8E-4AB0-9AAA-703CD4897700}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-sample", "cpp-sample\cpp-sample.vcproj", "{7E5849C7-0469-4AD2-91B9-C87203934254}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|Mixed platforms = Debug|Mixed platforms
Debug|Win32 = Debug|Win32
Release|Any CPU = Release|Any CPU
Release|Mixed platforms = Release|Mixed platforms
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug|Mixed platforms.Build.0 = Debug|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug|Win32.ActiveCfg = Debug|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Debug|Win32.Build.0 = Debug|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release|Any CPU.Build.0 = Release|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release|Mixed platforms.ActiveCfg = Release|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release|Mixed platforms.Build.0 = Release|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release|Win32.ActiveCfg = Release|Any CPU
{15D66EEE-A852-4A52-89C2-83E74ECF3770}.Release|Win32.Build.0 = Release|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug|Mixed platforms.Build.0 = Debug|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug|Win32.ActiveCfg = Debug|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Debug|Win32.Build.0 = Debug|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release|Any CPU.Build.0 = Release|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release|Mixed platforms.ActiveCfg = Release|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release|Mixed platforms.Build.0 = Release|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release|Win32.ActiveCfg = Release|Any CPU
{B55A6E53-57A9-4205-B396-C9983B3AF46A}.Release|Win32.Build.0 = Release|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug|Mixed platforms.ActiveCfg = Debug|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug|Mixed platforms.Build.0 = Debug|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug|Win32.ActiveCfg = Debug|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Debug|Win32.Build.0 = Debug|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release|Any CPU.Build.0 = Release|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release|Mixed platforms.ActiveCfg = Release|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release|Mixed platforms.Build.0 = Release|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release|Win32.ActiveCfg = Release|Any CPU
{F199991B-6C8E-4AB0-9AAA-703CD4897700}.Release|Win32.Build.0 = Release|Any CPU
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug|Any CPU.ActiveCfg = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug|Any CPU.Build.0 = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug|Mixed platforms.ActiveCfg = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug|Mixed platforms.Build.0 = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug|Win32.ActiveCfg = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Debug|Win32.Build.0 = Debug|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release|Any CPU.ActiveCfg = Release|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release|Any CPU.Build.0 = Release|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release|Mixed platforms.ActiveCfg = Release|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release|Mixed platforms.Build.0 = Release|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release|Win32.ActiveCfg = Release|Win32
{7E5849C7-0469-4AD2-91B9-C87203934254}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,25 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp-sample", "csharp-sample\csharp-sample.csproj", "{45103FD8-4F1F-4B2D-9E75-20094E98EE64}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp-debug-only", "csharp-debug-only\csharp-debug-only.csproj", "{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Debug|Any CPU.Build.0 = Debug|Any CPU
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Release|Any CPU.ActiveCfg = Release|Any CPU
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Release|Any CPU.Build.0 = Release|Any CPU
{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,26 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp-sample", "csharp-sample\csharp-sample.csproj", "{45103FD8-4F1F-4B2D-9E75-20094E98EE64}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp-debug-only-no-nunit", "csharp-debug-only-no-nunit\csharp-debug-only-no-nunit.csproj", "{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Debug|Any CPU.Build.0 = Debug|Any CPU
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Release|Any CPU.ActiveCfg = Release|Any CPU
{45103FD8-4F1F-4B2D-9E75-20094E98EE64}.Release|Any CPU.Build.0 = Release|Any CPU
{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9DB5E6C-8A54-40F9-9B1E-225B58FE7ED4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,29 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 8.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "legacy-csharp-sample", "legacy-csharp-sample\legacy-csharp-sample.csproj", "{2F5189E6-19B3-465F-AF2D-41231B38A64E}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "legacy-cpp-unmanaged", "legacy-cpp-unmanaged\legacy-cpp-unmanaged.vcproj", "{FDBEFC64-EDEF-4645-81EB-C6EA9597170D}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
Release = Release
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{2F5189E6-19B3-465F-AF2D-41231B38A64E}.Debug.ActiveCfg = Debug|.NET
{2F5189E6-19B3-465F-AF2D-41231B38A64E}.Debug.Build.0 = Debug|.NET
{2F5189E6-19B3-465F-AF2D-41231B38A64E}.Release.ActiveCfg = Release|.NET
{2F5189E6-19B3-465F-AF2D-41231B38A64E}.Release.Build.0 = Release|.NET
{FDBEFC64-EDEF-4645-81EB-C6EA9597170D}.Debug.ActiveCfg = Debug|Win32
{FDBEFC64-EDEF-4645-81EB-C6EA9597170D}.Debug.Build.0 = Debug|Win32
{FDBEFC64-EDEF-4645-81EB-C6EA9597170D}.Release.ActiveCfg = Release|Win32
{FDBEFC64-EDEF-4645-81EB-C6EA9597170D}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,27 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 7.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApplication1", "http://localhost/WebApplication1/WebApplication1.csproj", "{7123B53C-8003-454D-92D1-E9E8C533CBED}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "legacy-csharp-sample", "legacy-csharp-sample\legacy-csharp-sample.csproj", "{48E7F6A7-5E5C-4046-AD8E-5381D98D55B8}"
EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
ConfigName.0 = Debug
ConfigName.1 = Release
EndGlobalSection
GlobalSection(ProjectDependencies) = postSolution
EndGlobalSection
GlobalSection(ProjectConfiguration) = postSolution
{7123B53C-8003-454D-92D1-E9E8C533CBED}.Debug.ActiveCfg = Debug|.NET
{7123B53C-8003-454D-92D1-E9E8C533CBED}.Debug.Build.0 = Debug|.NET
{7123B53C-8003-454D-92D1-E9E8C533CBED}.Release.ActiveCfg = Release|.NET
{7123B53C-8003-454D-92D1-E9E8C533CBED}.Release.Build.0 = Release|.NET
{48E7F6A7-5E5C-4046-AD8E-5381D98D55B8}.Debug.ActiveCfg = Debug|.NET
{48E7F6A7-5E5C-4046-AD8E-5381D98D55B8}.Debug.Build.0 = Debug|.NET
{48E7F6A7-5E5C-4046-AD8E-5381D98D55B8}.Release.ActiveCfg = Release|.NET
{48E7F6A7-5E5C-4046-AD8E-5381D98D55B8}.Release.Build.0 = Release|.NET
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,105 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.40607</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{F199991B-6C8E-4AB0-9AAA-703CD4897700}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>vb-sample</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<AssemblyOriginatorKeyMode>None</AssemblyOriginatorKeyMode>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<OptionCompare>Binary</OptionCompare>
<OptionExplicit>On</OptionExplicit>
<OptionStrict>Off</OptionStrict>
<RootNamespace>vb_sample</RootNamespace>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\</OutputPath>
<BaseAddress>285212672</BaseAddress>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>
</DefineConstants>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<DebugSymbols>true</DebugSymbols>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>1</WarningLevel>
<NoWarn>42016,42017,42018,42019,42032</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\</OutputPath>
<BaseAddress>285212672</BaseAddress>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>
</DefineConstants>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<DebugSymbols>false</DebugSymbols>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>1</WarningLevel>
<NoWarn>42016,42017,42018,42019,42032</NoWarn>
</PropertyGroup>
<ItemGroup>
<Reference Include="nunit.framework">
<Name>nunit.framework</Name>
<HintPath>E:\Program Files\NUnit 2.2\bin\nunit.framework.dll</HintPath>
<AssemblyFolderKey>hklm\dn\nunit.framework</AssemblyFolderKey>
</Reference>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.Xml">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.vb">
<SubType>Code</SubType>
</Compile>
<Compile Include="SimpleVBTest.vb">
<SubType>Code</SubType>
</Compile>
<Content Include="ReadMe.txt" />
<AppDesigner Include="My Project\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.Targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

Просмотреть файл

@ -1,284 +0,0 @@
// ***********************************************************************
// Copyright (c) 2011 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System.Collections.Generic;
using System.IO;
using System.Xml;
using NUnit.Common;
using NUnit.Engine.Extensibility;
namespace NUnit.Engine.Services.ProjectLoaders
{
public class NUnitProject : IProject
{
#region Instance Fields
/// <summary>
/// The XmlDocument representing the loaded doc. It
/// is generated from the text when the doc is loaded
/// unless an exception is thrown. It is modified as the
/// user makes changes.
/// </summary>
XmlDocument xmlDoc = new XmlDocument();
#endregion
#region IProject Members
/// <summary>
/// Gets the path to the file storing this project, if any.
/// If the project has not been saved, this is null.
/// </summary>
public string ProjectPath { get; private set; }
/// <summary>
/// Gets the active configuration, as defined
/// by the particular project. For an NUnit
/// project, we use the activeConfig attribute
/// if present and otherwise return the first
/// config found.
/// </summary>
public string ActiveConfigName
{
get
{
var activeConfig = GetSetting("activeconfig");
if (activeConfig == null && ConfigNodes.Count > 0)
activeConfig = ConfigNodes[0].GetAttribute("name");
return activeConfig;
}
}
public IList<string> ConfigNames
{
get
{
var result = new List<string>();
foreach (XmlNode node in ConfigNodes)
result.Add(node.GetAttribute("name"));
return result;
}
}
public TestPackage GetTestPackage()
{
return GetTestPackage(null);
}
public TestPackage GetTestPackage(string configName)
{
var package = new TestPackage(ProjectPath);
if (configName == null)
configName = ActiveConfigName;
if (configName != null)
{
XmlNode configNode = GetConfigNode(configName);
string basePath = GetBasePathForConfig(configNode);
foreach (XmlNode node in configNode.SelectNodes("assembly"))
{
string assembly = node.GetAttribute("path");
if (basePath != null)
assembly = Path.Combine(basePath, assembly);
package.AddSubPackage(new TestPackage(assembly));
}
var settings = GetSettingsForConfig(configNode);
foreach (var key in settings.Keys)
package.Settings.Add(key, settings[key]);
}
return package;
}
#endregion
#region Public Methods
public void Load(string filename)
{
ProjectPath = NormalizePath(Path.GetFullPath(filename));
xmlDoc.Load(ProjectPath);
}
public void LoadXml(string xmlText)
{
xmlDoc.LoadXml(xmlText);
}
public string GetSetting(string name)
{
return SettingsNode != null
? SettingsNode.GetAttribute(name)
: null;
}
public string GetSetting(string name, string defaultValue)
{
string result = GetSetting(name);
return result == null
? defaultValue
: result;
}
#endregion
#region Internal Properties
/// <summary>
/// The top-level (NUnitProject) node
/// </summary>
internal XmlNode RootNode
{
get { return xmlDoc.DocumentElement ; }
}
/// <summary>
/// The Settings node if present, otherwise null
/// </summary>
internal XmlNode SettingsNode
{
get { return RootNode.SelectSingleNode("Settings"); }
}
/// <summary>
/// The collection of Config nodes - may be empty
/// </summary>
internal XmlNodeList ConfigNodes
{
get { return RootNode.SelectNodes("Config"); }
}
#endregion
#region Helper Methods
private IEnumerable<string> GetConfigNodeNames()
{
foreach (XmlNode node in ConfigNodes)
{
yield return node.GetAttribute("name");
}
}
private XmlNode GetConfigNode(string name)
{
foreach (XmlNode node in ConfigNodes)
if (node.GetAttribute("name") == name)
return node;
var configNodeNames = new List<string>(GetConfigNodeNames()).ToArray();
var errorMessage = "Unable to find a configuration named " + name.Enquote() + ".";
var tip =
configNodeNames.Length == 0 ? " There are no configuration nodes defined in " + ProjectPath + "." :
configNodeNames.Length == 1 ? " The only configuration defined is " + name.Enquote() :
" Available configuration names are " + configNodeNames.Enquote().Join(", ") + ".";
throw new NUnitEngineException(errorMessage + tip);
}
/// <summary>
/// GetProjectBasePath uses the BasePath if present and otherwise
/// defaults to the directory part of the ProjectPath.
/// </summary>
public string GetProjectBasePath()
{
string appbase = NormalizePath(GetSetting("appbase"));
if (ProjectPath == null)
return appbase;
if (appbase == null)
return Path.GetDirectoryName(ProjectPath);
return Path.Combine(
Path.GetDirectoryName(ProjectPath),
appbase);
}
private string GetBasePathForConfig(XmlNode configNode)
{
string projectBasePath = GetProjectBasePath();
string configBasePath = NormalizePath(configNode.GetAttribute("appbase"));
if (configBasePath == null)
configBasePath = projectBasePath;
else if (projectBasePath != null)
configBasePath = Path.Combine(projectBasePath, configBasePath);
return configBasePath;
}
private IDictionary<string, object> GetSettingsForConfig(XmlNode configNode)
{
var settings = new Dictionary<string, object>();
string basePath = GetBasePathForConfig(configNode);
if (basePath != ProjectPath)
settings[RunnerSettings.BasePath] = basePath;
string configFile = configNode.GetAttribute("configfile");
if (configFile != null)
settings[RunnerSettings.ConfigurationFile] = configFile;
string binpath = configNode.GetAttribute("binpath");
if (binpath != null)
settings[RunnerSettings.PrivateBinPath] = binpath;
string binpathtype = configNode.GetAttribute("binpathtype");
if (binpathtype != null && binpathtype.ToLower() == "auto")
settings[RunnerSettings.AutoBinPath] = true;
string runtime = configNode.GetAttribute("runtimeFramework");
if (runtime != null)
settings[RunnerSettings.RuntimeFramework] = runtime;
string processModel = GetSetting("processModel");
if (processModel != null)
settings[RunnerSettings.ProcessModel] = processModel;
string domainUsage = GetSetting("domainUsage");
if (domainUsage != null)
settings[RunnerSettings.DomainUsage] = domainUsage;
return settings;
}
static readonly char[] PATH_SEPARATORS = new char[] { '/', '\\' };
private string NormalizePath(string path)
{
char sep = Path.DirectorySeparatorChar;
if (path != null)
foreach (char alt in PATH_SEPARATORS)
if (alt != sep)
path = path.Replace(alt, sep);
return path;
}
#endregion
}
}

Просмотреть файл

@ -1,63 +0,0 @@
// ***********************************************************************
// Copyright (c) 2011 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.IO;
using NUnit.Common;
using NUnit.Engine.Extensibility;
namespace NUnit.Engine.Services.ProjectLoaders
{
[Extension]
[ExtensionProperty("FileExtension", ".nunit")]
public class NUnitProjectLoader : IProjectLoader
{
#region IProjectLoader Members
public bool CanLoadFrom(string path)
{
return Path.GetExtension(path) == ".nunit";
}
public IProject LoadFrom(string path)
{
NUnitProject project = new NUnitProject();
project.Load(path);
return project;
}
public TestPackage GetTestPackage(string path)
{
return GetTestPackage(path, null);
}
public TestPackage GetTestPackage(string path, string configName)
{
NUnitProject project = new NUnitProject();
project.Load(path);
return project.GetTestPackage(configName);
}
#endregion
}
}

Просмотреть файл

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("nunit-project-loader")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("nunit-project-loader")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("6e520555-91a4-427d-8416-b0689e535cc9")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Просмотреть файл

@ -1,74 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
namespace NUnit.Engine
{
/// <summary>
/// RunnerSettings is a static class containing constant values that
/// are used as keys in the TestPackage created by the project loader.
/// </summary>
/// <remarks>
/// This class is used only in the NUnitProjectLoader extension and
/// represents knowledge the extension has of the internals of the
/// engine - that is, the meaning of various settings. Only setting
/// keys actually used by the loader are included.
/// </remarks>
public static class RunnerSettings
{
/// <summary>
/// If true, the engine should determine the private bin
/// path by examining the paths to all the tests.
/// </summary>
public const string AutoBinPath = "AutoBinPath";
/// <summary>
/// The ApplicationBase to use in loading the tests.
/// </summary>
public const string BasePath = "BasePath";
/// <summary>
/// The config file to use in running the tests
/// </summary>
public const string ConfigurationFile = "ConfigurationFile";
/// <summary>
/// Indicates how to load tests across AppDomains
/// </summary>
public const string DomainUsage = "DomainUsage";
/// <summary>
/// The private binpath used to locate assemblies
/// </summary>
public const string PrivateBinPath = "PrivateBinPath";
/// <summary>
/// Indicates how to allocate assemblies to processes
/// </summary>
public const string ProcessModel = "ProcessModel";
/// <summary>
/// Indicates the desired runtime to use for the tests.
/// </summary>
public const string RuntimeFramework = "RuntimeFramework";
}
}

Просмотреть файл

@ -1,26 +0,0 @@
using System;
using System.Collections.Generic;
namespace NUnit.Common
{
static class StringHelper
{
public static string Enquote(this string source)
{
return "'" + source + "'";
}
public static IEnumerable<string> Enquote(this IEnumerable<string> source)
{
foreach (var item in source)
{
yield return item.Enquote();
}
}
public static string Join(this IEnumerable<string> source, string delimiter)
{
return string.Join(delimiter, new List<string>(source).ToArray());
}
}
}

Просмотреть файл

@ -1,62 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{E71A76CA-0089-4E1A-A7FB-210429DBED6E}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NUnit.Engine.Services.ProjectLoaders</RootNamespace>
<AssemblyName>nunit-project-loader</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\..\bin\Debug\addins\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\..\..\bin\Release\addins\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\Common\nunit\XmlHelper.cs">
<Link>XmlHelper.cs</Link>
</Compile>
<Compile Include="StringHelper.cs" />
<Compile Include="NUnitProject.cs" />
<Compile Include="NUnitProjectLoader.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RunnerSettings.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\nunit.engine.api\nunit.engine.api.csproj">
<Project>{775FAD50-3623-4922-97C4-DFB29A8BE4C7}</Project>
<Name>nunit.engine.api</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -1,239 +0,0 @@
// ***********************************************************************
// Copyright (c) 2014 Charlie Poole
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// ***********************************************************************
using System;
using System.Globalization;
using System.Xml;
namespace NUnit.Engine.Addins
{
/// <summary>
/// NUnit2ResultSummary summarizes test results as used in the NUnit2 XML format.
/// </summary>
public class NUnit2ResultSummary
{
private int resultCount = 0;
private int testsRun = 0;
private int failureCount = 0;
private int errorCount = 0;
private int successCount = 0;
private int inconclusiveCount = 0;
private int skipCount = 0;
private int ignoreCount = 0;
private int notRunnable = 0;
private DateTime startTime = DateTime.MinValue;
private DateTime endTime = DateTime.MaxValue;
private double duration = 0.0d;
private string name;
public NUnit2ResultSummary() { }
public NUnit2ResultSummary(XmlNode result)
{
if (result.Name != "test-run")
throw new InvalidOperationException("Expected <test-run> as top-level element but was <" + result.Name + ">");
name = result.GetAttribute("name");
duration = result.GetAttribute("duration", 0.0);
startTime = result.GetAttribute("start-time", DateTime.MinValue);
endTime = result.GetAttribute("end-time", DateTime.MaxValue);
Summarize(result);
}
private void Summarize(XmlNode node)
{
switch (node.Name)
{
case "test-case":
resultCount++;
string outcome = node.GetAttribute("result");
string label = node.GetAttribute("label");
if (label != null)
outcome = label;
switch (outcome)
{
case "Passed":
successCount++;
testsRun++;
break;
case "Failed":
failureCount++;
testsRun++;
break;
case "Error":
case "Cancelled":
errorCount++;
testsRun++;
break;
case "Inconclusive":
inconclusiveCount++;
testsRun++;
break;
case "NotRunnable": // TODO: Check if this can still occur
case "Invalid":
notRunnable++;
break;
case "Ignored":
ignoreCount++;
break;
case "Skipped":
default:
skipCount++;
break;
}
break;
//case "test-suite":
//case "test-fixture":
//case "method-group":
default:
foreach (XmlNode childResult in node.ChildNodes)
Summarize(childResult);
break;
}
}
public string Name
{
get { return name; }
}
public bool Success
{
get { return failureCount == 0; }
}
/// <summary>
/// Returns the number of test cases for which results
/// have been summarized. Any tests excluded by use of
/// Category or Explicit attributes are not counted.
/// </summary>
public int ResultCount
{
get { return resultCount; }
}
/// <summary>
/// Returns the number of test cases actually run, which
/// is the same as ResultCount, less any Skipped, Ignored
/// or NonRunnable tests.
/// </summary>
public int TestsRun
{
get { return testsRun; }
}
/// <summary>
/// Returns the number of tests that passed
/// </summary>
public int Passed
{
get { return successCount; }
}
/// <summary>
/// Returns the number of test cases that had an error.
/// </summary>
public int Errors
{
get { return errorCount; }
}
/// <summary>
/// Returns the number of test cases that failed.
/// </summary>
public int Failures
{
get { return failureCount; }
}
/// <summary>
/// Returns the number of test cases that failed.
/// </summary>
public int Inconclusive
{
get { return inconclusiveCount; }
}
/// <summary>
/// Returns the number of test cases that were not runnable
/// due to errors in the signature of the class or method.
/// Such tests are also counted as Errors.
/// </summary>
public int NotRunnable
{
get { return notRunnable; }
}
/// <summary>
/// Returns the number of test cases that were skipped.
/// </summary>
public int Skipped
{
get { return skipCount; }
}
public int Ignored
{
get { return ignoreCount; }
}
/// <summary>
/// Gets the start time of the test run.
/// </summary>
public DateTime StartTime
{
get { return startTime; }
}
/// <summary>
/// Gets the end time of the test run.
/// </summary>
public DateTime EndTime
{
get { return endTime; }
}
/// <summary>
/// Gets the duration of the test run in seconds.
/// </summary>
public double Duration
{
get { return duration; }
}
public int TestsNotRun
{
get { return skipCount + ignoreCount + notRunnable; }
}
public int ErrorsAndFailures
{
get { return errorCount + failureCount; }
}
}
}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше