diff --git a/.travis.yml b/.travis.yml
index 30b3b04287..1685f8268c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,7 @@ before_install:
- sudo apt-get update -qq -y
- sudo apt-get install mono-devel -qq -y
-script: ./runbuild /p:Configuration=Release /p:Framework=$Framework "/t:DumpSettings;CleanAll;Build;Test"
+script: ./build /p:Configuration=Release /p:Framework=$Framework "/t:DumpSettings;CleanAll;BuildFramework;TestFramework"
env:
matrix:
diff --git a/NUnit.proj b/NUnit.proj
new file mode 100644
index 0000000000..18578b937e
--- /dev/null
+++ b/NUnit.proj
@@ -0,0 +1,360 @@
+
+
+
+
+
+
+
+
+
+ $(MSBuildProjectName)
+ 2.9.7
+ $(ProjectName)-$(PackageVersion)
+
+
+
+ true
+ false
+ rmdir /s /q
+ rm -rf
+
+
+
+ $(MSBuildProjectDirectory)
+ $(ProjectBaseDir)\bin
+ $(ProjectBaseDir)\package
+ $(ProjectBaseDir)\src
+ $(ProjectSrcDir)\NUnitFramework
+ $(ProjectSrcDir)\NUnitEngine
+ $(ProjectSrcDir)\NUnitConsole
+ $(ProjectBaseDir)\tools
+ $(ProjectToolsDir)\PartCover
+
+
+
+ Debug
+ net-2.0
+ mono-2.0
+ $(DefaultFramework)
+
+
+
+ $(ProjectBuildDir)\$(Configuration)
+ $(ConfigurationBuildDir)\$(Framework)
+ $(ConfigurationBuildDir)
+ $(ConfigurationBuildDir)
+
+
+
+ $(ProjectPackageDir)\$(PackageName)
+ $(PackageWorkingDir)\bin
+ $(PackageWorkingDir)\doc
+ $(PackageWorkingDir)\samples
+ $(PackageWorkingDir)\src
+ $(PackageWorkingDir)\lib
+
+
+
+ 4.5
+ NET
+
+
+ 4.0
+ NET
+
+
+ 3.5
+ NET
+
+
+ 2.0
+ NET
+
+
+ 4.5
+ mono
+
+
+ 4.0
+ mono
+
+
+ 3.5
+ mono
+
+
+ 2.0
+ mono
+
+
+ netcf-3.5
+ netcf
+
+
+ netcf-2.0
+ netcf
+
+
+ sl-5.0
+ silverlight
+
+
+
+
+ mono
+ test-harness.exe
+ nunit.framework.tests.dll $(TestOptions)
+ --selftest $(TestOptions)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/NUnitFramework.msbuild b/NUnitFramework.msbuild
deleted file mode 100644
index c65a6ff73a..0000000000
--- a/NUnitFramework.msbuild
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-
-
-
- $(MSBuildProjectName)
- 2.9.7
- $(ProjectName)-$(PackageVersion)
-
-
-
- true
- false
- rmdir /s /q
- rm -rf
-
-
-
- $(MSBuildProjectDirectory)
- $(ProjectBaseDir)\build
- $(ProjectBaseDir)\package
- $(ProjectBaseDir)\src\NUnitFramework
- $(ProjectBaseDir)\tools
- $(ProjectToolsDir)\PartCover
-
-
-
- $(ProjectPackageDir)\$(PackageName)
- $(PackageWorkingDir)\bin
- $(PackageWorkingDir)\doc
- $(PackageWorkingDir)\samples
- $(PackageWorkingDir)\src
- $(PackageWorkingDir)\lib
-
-
-
- Debug
- net-4.5
- mono-4.0
- $(DefaultFramework)
-
-
-
- 4.5
- NET
-
-
- 4.0
- NET
-
-
- 3.5
- NET
-
-
- 2.0
- NET
-
-
- 4.5
- mono
-
-
- 4.0
- mono
-
-
- 3.5
- mono
-
-
- 2.0
- mono
-
-
- netcf-3.5
- netcf
-
-
- netcf-2.0
- netcf
-
-
- sl-5.0
- silverlight
-
-
-
-
- mono
- test-harness.exe
- nunit.framework.tests.dll $(TestOptions)
- --selftest $(TestOptions)
-
-
-
- $(ProjectBuildDir)\$(Configuration)
- $(ConfigurationBuildDir)\$(Framework)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build b/build
new file mode 100755
index 0000000000..d4849b1fc3
--- /dev/null
+++ b/build
@@ -0,0 +1,2 @@
+#!/bin/bash
+xbuild NUnit.proj "$@"
diff --git a/runbuild.cmd b/build.cmd
similarity index 86%
rename from runbuild.cmd
rename to build.cmd
index e3608fad64..19a4b72a1e 100644
--- a/runbuild.cmd
+++ b/build.cmd
@@ -3,4 +3,4 @@ setlocal
for %%a in (%*) do echo "%%a" | findstr /C:"mono">nul && set buildtool=xbuild.bat
if not defined buildtool for /f %%i in ('dir /b /ad /on "%windir%\Microsoft.NET\Framework\v*"') do @if exist "%windir%\Microsoft.NET\Framework\%%i\msbuild".exe set buildtool=%windir%\Microsoft.NET\Framework\%%i\msbuild.exe
if not defined buildtool (echo no MSBuild.exe or xbuild was found>&2 & exit /b 42)
-if defined buildtool "%buildtool%" %~dp0NUnitFramework.msbuild %*
\ No newline at end of file
+if defined buildtool "%buildtool%" %~dp0NUnit.proj %*
\ No newline at end of file
diff --git a/nunit.sln b/nunit.sln
index 11d5df030d..375cc667b5 100644
--- a/nunit.sln
+++ b/nunit.sln
@@ -8,6 +8,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
BUILDING.txt = BUILDING.txt
LICENSE.txt = LICENSE.txt
NOTICES.txt = NOTICES.txt
+ NUnit.msbuild = NUnit.msbuild
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NUnitEngine", "NUnitEngine", "{31B45C4C-206F-4F31-9CC6-33BF11DFEE39}"
diff --git a/runbuild b/runbuild
deleted file mode 100755
index 439251927c..0000000000
--- a/runbuild
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-xbuild NUnitFramework.msbuild "$@"
diff --git a/src/NUnitConsole/NUnitConsoleTests.nunit b/src/NUnitConsole/NUnitConsoleTests.nunit
deleted file mode 100644
index facba0bb09..0000000000
--- a/src/NUnitConsole/NUnitConsoleTests.nunit
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/NUnitConsole/nunit-console.tests/XmlOutputTest.cs b/src/NUnitConsole/nunit-console.tests/XmlOutputTest.cs
index a71fe9f809..74e5585140 100644
--- a/src/NUnitConsole/nunit-console.tests/XmlOutputTest.cs
+++ b/src/NUnitConsole/nunit-console.tests/XmlOutputTest.cs
@@ -73,7 +73,7 @@ public void InitializeTestEngineResult()
// Create a new DefaultAssemblyRunner, which is actually a framework class,
// because we can't use the one that's currently running this test.
var runner = new Runner(new Builder());
- var assemblyPath = GetLocalPath("mock-assembly.dll");
+ var assemblyPath = GetLocalPath("mock-nunit-assembly.dll");
var settings = new Dictionary();
// Make sure the runner loaded the mock assembly.
diff --git a/src/NUnitEngine/nunit.engine.tests/Internal/NUnitFrameworkDriverTests.cs b/src/NUnitEngine/nunit.engine.tests/Internal/NUnitFrameworkDriverTests.cs
index 2fe24a3a12..e5fa4a5b5d 100644
--- a/src/NUnitEngine/nunit.engine.tests/Internal/NUnitFrameworkDriverTests.cs
+++ b/src/NUnitEngine/nunit.engine.tests/Internal/NUnitFrameworkDriverTests.cs
@@ -34,9 +34,9 @@ namespace NUnit.Engine.Internal.Tests
// Functional tests of the NUnitFrameworkDriver calling into the framework.
public class NUnitFrameworkDriverTests
{
- private string MOCK_ASSEMBLY = "mock-assembly.dll";
+ private string MOCK_ASSEMBLY = "mock-nunit-assembly.dll";
private const string MISSING_FILE = "junk.dll";
- private const string BAD_FILE = "mock-assembly.pdb";
+ private const string BAD_FILE = "mock-nunit-assembly.pdb";
private IDictionary _settings = new Dictionary();
private NUnitFrameworkDriver _driver;
diff --git a/src/NUnitFramework/tests/Api/FrameworkControllerTests.cs b/src/NUnitFramework/tests/Api/FrameworkControllerTests.cs
index c8cd192d07..fb458fddb4 100644
--- a/src/NUnitFramework/tests/Api/FrameworkControllerTests.cs
+++ b/src/NUnitFramework/tests/Api/FrameworkControllerTests.cs
@@ -36,11 +36,12 @@ public class FrameworkControllerTests
{
#if NUNITLITE
private const string MOCK_ASSEMBLY = "mock-nunitlite-assembly.dll";
+ private const string BAD_FILE = "mock-nunitlite-assembly.pdb";
#else
private const string MOCK_ASSEMBLY = "mock-nunit-assembly.dll";
+ private const string BAD_FILE = "mock-nunit-assembly.pdb";
#endif
private const string MISSING_FILE = "junk.dll";
- private const string BAD_FILE = "mock-assembly.pdb";
private const string EMPTY_FILTER = "";
private IDictionary _settings = new Hashtable();
diff --git a/src/NUnitFramework/tests/Api/TestAssemblyRunnerTests.cs b/src/NUnitFramework/tests/Api/TestAssemblyRunnerTests.cs
index 4f1db93ecf..0ad66478c0 100644
--- a/src/NUnitFramework/tests/Api/TestAssemblyRunnerTests.cs
+++ b/src/NUnitFramework/tests/Api/TestAssemblyRunnerTests.cs
@@ -37,13 +37,14 @@ public class TestAssemblyRunnerTests
{
#if NUNITLITE
private const string MOCK_ASSEMBLY = "mock-nunitlite-assembly.dll";
+ private const string BAD_FILE = "mock-nunitlite-assembly.pdb";
private const string SLOW_TESTS = "slow-nunitlite-tests.dll";
#else
private const string MOCK_ASSEMBLY = "mock-nunit-assembly.dll";
+ private const string BAD_FILE = "mock-nunit-assembly.pdb";
private const string SLOW_TESTS = "slow-nunit-tests.dll";
#endif
private const string MISSING_FILE = "junk.dll";
- private const string BAD_FILE = "mock-assembly.pdb";
private IDictionary _settings = new Hashtable();
private ITestAssemblyRunner _runner;
diff --git a/src/NUnitFramework/tests/Internal/TestExecutionContextTests.cs b/src/NUnitFramework/tests/Internal/TestExecutionContextTests.cs
index 9c5c54bd77..347ccd7d48 100644
--- a/src/NUnitFramework/tests/Internal/TestExecutionContextTests.cs
+++ b/src/NUnitFramework/tests/Internal/TestExecutionContextTests.cs
@@ -1,5 +1,5 @@
// ***********************************************************************
-// Copyright (c) 2010 Charlie Poole
+// 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
@@ -22,6 +22,7 @@
// ***********************************************************************
using System;
+using System.Reflection;
using System.Threading;
using System.Globalization;
using NUnit.Framework;
@@ -370,7 +371,13 @@ public void ExecutionStatusIsPromulgatedAcrossBranches()
[Test]
public void CanCreateObjectInAppDomain()
{
- var domain = AppDomain.CreateDomain("TestCanCreateAppDomain");
+ AppDomain domain = AppDomain.CreateDomain(
+ "TestCanCreateAppDomain",
+ AppDomain.CurrentDomain.Evidence,
+ AssemblyHelper.GetDirectoryName(Assembly.GetExecutingAssembly()),
+ null,
+ false);
+
var obj = domain.CreateInstanceAndUnwrap("nunit.framework.tests", "NUnit.Framework.Internal.TestExecutionContextTests+TestClass");
Assert.NotNull(obj);