Skip to content

Commit fb9f9af

Browse files
authored
Merge pull request #1689 from nunit/issue-1678
Ensure that latest extension version is selected if multiple versions present
2 parents 812d1a7 + e4bd274 commit fb9f9af

File tree

17 files changed

+370
-128
lines changed

17 files changed

+370
-128
lines changed

NUnitConsole.sln

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
2222
GitVersion.yml = GitVersion.yml
2323
global.json = global.json
2424
LICENSE.txt = LICENSE.txt
25-
NetCoreTests.nunit = NetCoreTests.nunit
2625
MixedTests.nunit = MixedTests.nunit
26+
NetCoreTests.nunit = NetCoreTests.nunit
2727
NOTICES.txt = NOTICES.txt
2828
NuGet.config = NuGet.config
2929
nunit.ico = nunit.ico
@@ -148,7 +148,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppContextTest", "src\TestD
148148
EndProject
149149
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "mock-assembly-v2", "src\TestData\mock-assembly-v2\mock-assembly-v2.csproj", "{AD40CA55-35CC-41CA-85F5-8FDA4ECAFF78}"
150150
EndProject
151-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FakeExtensions", "src\TestData\FakeExtensions\FakeExtensions.csproj", "{D6C217E0-BFB7-4C80-8D50-C969F46EBC59}"
151+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FakeExtensionsV1", "src\TestData\FakeExtensions\1.0\FakeExtensionsV1.csproj", "{3AA135F1-CF80-C1D9-89FF-1DF30F567CA1}"
152+
EndProject
153+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FakeExtensionsV2", "src\TestData\FakeExtensions\2.0\FakeExtensionsV2.csproj", "{E3A8037B-83EF-CB79-3EED-492C89F47BF9}"
152154
EndProject
153155
Global
154156
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -232,10 +234,14 @@ Global
232234
{AD40CA55-35CC-41CA-85F5-8FDA4ECAFF78}.Debug|Any CPU.Build.0 = Debug|Any CPU
233235
{AD40CA55-35CC-41CA-85F5-8FDA4ECAFF78}.Release|Any CPU.ActiveCfg = Release|Any CPU
234236
{AD40CA55-35CC-41CA-85F5-8FDA4ECAFF78}.Release|Any CPU.Build.0 = Release|Any CPU
235-
{D6C217E0-BFB7-4C80-8D50-C969F46EBC59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
236-
{D6C217E0-BFB7-4C80-8D50-C969F46EBC59}.Debug|Any CPU.Build.0 = Debug|Any CPU
237-
{D6C217E0-BFB7-4C80-8D50-C969F46EBC59}.Release|Any CPU.ActiveCfg = Release|Any CPU
238-
{D6C217E0-BFB7-4C80-8D50-C969F46EBC59}.Release|Any CPU.Build.0 = Release|Any CPU
237+
{3AA135F1-CF80-C1D9-89FF-1DF30F567CA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
238+
{3AA135F1-CF80-C1D9-89FF-1DF30F567CA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
239+
{3AA135F1-CF80-C1D9-89FF-1DF30F567CA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
240+
{3AA135F1-CF80-C1D9-89FF-1DF30F567CA1}.Release|Any CPU.Build.0 = Release|Any CPU
241+
{E3A8037B-83EF-CB79-3EED-492C89F47BF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
242+
{E3A8037B-83EF-CB79-3EED-492C89F47BF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
243+
{E3A8037B-83EF-CB79-3EED-492C89F47BF9}.Release|Any CPU.ActiveCfg = Release|Any CPU
244+
{E3A8037B-83EF-CB79-3EED-492C89F47BF9}.Release|Any CPU.Build.0 = Release|Any CPU
239245
EndGlobalSection
240246
GlobalSection(SolutionProperties) = preSolution
241247
HideSolutionNode = FALSE
@@ -271,7 +277,8 @@ Global
271277
{58E18ACC-1F7E-4395-817E-E7EF943E0C77} = {2ECE1CFB-9436-4149-B7E4-1FB1786FDE9F}
272278
{E43A3E4B-B050-471B-B43C-0DF60FD44376} = {2ECE1CFB-9436-4149-B7E4-1FB1786FDE9F}
273279
{AD40CA55-35CC-41CA-85F5-8FDA4ECAFF78} = {2ECE1CFB-9436-4149-B7E4-1FB1786FDE9F}
274-
{D6C217E0-BFB7-4C80-8D50-C969F46EBC59} = {2ECE1CFB-9436-4149-B7E4-1FB1786FDE9F}
280+
{3AA135F1-CF80-C1D9-89FF-1DF30F567CA1} = {2ECE1CFB-9436-4149-B7E4-1FB1786FDE9F}
281+
{E3A8037B-83EF-CB79-3EED-492C89F47BF9} = {2ECE1CFB-9436-4149-B7E4-1FB1786FDE9F}
275282
EndGlobalSection
276283
GlobalSection(ExtensibilityGlobals) = postSolution
277284
SolutionGuid = {D8E4FC26-5422-4C51-8BBC-D1AC0A578711}

build.cake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Load the recipe
2-
#load nuget:?package=NUnit.Cake.Recipe&version=1.4.0-alpha.11
2+
#load nuget:?package=NUnit.Cake.Recipe&version=1.5.0-alpha.4
33
// Comment out above line and uncomment below for local tests of recipe changes
44
//#load ../NUnit.Cake.Recipe/recipe/*.cake
55

@@ -193,7 +193,6 @@ public class ConsoleRunnerSelfTester : TestRunner, IPackageTestRunner
193193

194194
public int RunPackageTest(string arguments, bool redirectOutput = false)
195195
{
196-
Console.WriteLine("Running package test");
197196
return base.RunPackageTest(_executablePath, new ProcessSettings { Arguments = arguments, RedirectStandardOutput = redirectOutput });
198197
}
199198
}

package-tests.cake

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -256,21 +256,23 @@ public static class PackageTests
256256
{
257257
Description = "List Extensions shows none installed",
258258
Arguments = "--list-extensions",
259-
OutputCheck = new OutputDoesNotContain("Extension:"),
259+
ExpectedOutput = new OutputCheck[] { DoesNotContain("Extension:") }
260260
});
261261

262262
StandardAndNetCoreLists.Add(new PackageTest(1, "ExtensionsInstalledFromAddedDirectory")
263263
{
264264
Description = "List Extensions shows extension from added directory",
265265
Arguments = "--extensionDirectory ../../src/TestData/FakeExtensions --list-extensions",
266-
OutputCheck = new OutputContains("Extension:", exactly: 5)
266+
ExpectedOutput = new OutputCheck[] {
267+
Contains("Extension:", exactly: 5),
268+
Contains("fakesv2", exactly: 5) }
267269
});
268270

269271
ZipRunnerTests.Add(new PackageTest(1, "BundledExtensionsInstalled")
270272
{
271273
Description = "List Extensions shows bundled extensions",
272274
Arguments = "--list-extensions",
273-
OutputCheck = new OutputContains("Extension:", exactly: 5)
275+
ExpectedOutput = new OutputCheck[] { Contains("Extension:", exactly: 5) }
274276
});
275277

276278
//////////////////////////////////////////////////////////////////////
@@ -349,7 +351,7 @@ public static class PackageTests
349351
Arguments = "testdata/net462/mock-assembly.dll --teamcity",
350352
ExpectedResult = new MockAssemblyExpectedResult("net-4.6.2"),
351353
ExtensionsNeeded = new[] { Extensions.TeamCityEventListener },
352-
OutputCheck = new OutputContains("##teamcity")
354+
ExpectedOutput = new OutputCheck[] { Contains("##teamcity") }
353355
});
354356

355357
// TeamCity Event Listener Test
@@ -359,7 +361,7 @@ public static class PackageTests
359361
Arguments = "testdata/net462/mock-assembly.dll --enable:NUnit.Engine.Listeners.TeamCityEventListener",
360362
ExpectedResult = new MockAssemblyExpectedResult("net-4.6.2"),
361363
ExtensionsNeeded = new[] { Extensions.TeamCityEventListener },
362-
OutputCheck = new OutputContains("##teamcity")
364+
ExpectedOutput = new[] { Contains("##teamcity") }
363365
});
364366

365367
AllLists.Add(new PackageTest(1, "Net60TeamCityListenerTest1")
@@ -368,7 +370,7 @@ public static class PackageTests
368370
Arguments = "testdata/net6.0/mock-assembly.dll --teamcity",
369371
ExpectedResult = new MockAssemblyExpectedResult("net-6.0"),
370372
ExtensionsNeeded = new[] { Extensions.TeamCityEventListener },
371-
OutputCheck = new OutputContains("##teamcity")
373+
ExpectedOutput = new[] { Contains("##teamcity") }
372374
});
373375

374376
// TeamCity Event Listener Test
@@ -378,7 +380,7 @@ public static class PackageTests
378380
Arguments = "testdata/net6.0/mock-assembly.dll --enable:NUnit.Engine.Listeners.TeamCityEventListener",
379381
ExpectedResult = new MockAssemblyExpectedResult("net-6.0"),
380382
ExtensionsNeeded = new[] { Extensions.TeamCityEventListener },
381-
OutputCheck = new OutputContains("##teamcity")
383+
ExpectedOutput = new[] { Contains("##teamcity") }
382384
});
383385

384386
// V2 Framework Driver Tests

src/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</PropertyGroup>
1111

1212
<PropertyGroup Condition="'$(Version)'==''">
13-
<AssemblyVersion>3.99.0.0</AssemblyVersion>
13+
<AssemblyVersion>3.0.0.0</AssemblyVersion>
1414
<FileVersion>3.99.0.0</FileVersion>
1515
<InformationalVersion>3.99.0.0-VSIDE</InformationalVersion>
1616
</PropertyGroup>

src/NUnitEngine/nunit.engine.api/nunit.engine.api.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
<AssemblyTitle>NUnit Engine API ($(TargetFramework))</AssemblyTitle>
1616
<Description>Defines the interfaces used to access the NUnit Engine</Description>
1717
<AssemblyVersion>3.0.0.0</AssemblyVersion>
18-
<FileVersion>3.99.0.0</FileVersion>
1918
</PropertyGroup>
2019

2120
<ItemGroup Condition="'$(TargetFramework)'=='net462'">
Lines changed: 55 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
// Copyright (c) Charlie Poole, Rob Prouse and Contributors. MIT License - see LICENSE.txt
22

33
using System;
4+
using System.Collections.Generic;
45
using System.ComponentModel;
6+
using System.Linq;
57
using System.Reflection;
68
using NUnit.Engine.Extensibility;
79
using NUnit.Framework;
@@ -14,7 +16,8 @@ public class ExtensionAssemblyTrackerTests
1416
private static readonly string THIS_ASSEMBLY_PATH = THIS_ASSEMBLY.Location;
1517
private static readonly string THIS_ASSEMBLY_NAME = THIS_ASSEMBLY.GetName().Name;
1618
private static readonly Version THIS_ASSEMBLY_VERSION = THIS_ASSEMBLY.GetName().Version;
17-
private static readonly ExtensionAssembly TEST_EXTENSION_ASSEMBLY =
19+
20+
private static readonly ExtensionAssembly TEST_EXTENSION_ASSEMBLY =
1821
new ExtensionAssembly(THIS_ASSEMBLY_PATH, false, THIS_ASSEMBLY_NAME, THIS_ASSEMBLY_VERSION);
1922

2023
private ExtensionAssemblyTracker _tracker;
@@ -28,52 +31,74 @@ public void CreateTracker()
2831
[Test]
2932
public void AddToList()
3033
{
31-
_tracker.Add(TEST_EXTENSION_ASSEMBLY);
34+
_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);
3235

3336
Assert.That(_tracker.Count, Is.EqualTo(1));
34-
Assert.That(_tracker[0].FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));
35-
Assert.That(_tracker[0].AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));
36-
Assert.That(_tracker[0].AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));
37+
var assembly = _tracker.Single();
38+
39+
Assert.That(assembly.FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));
40+
Assert.That(assembly.AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));
41+
Assert.That(assembly.AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));
3742
}
3843

3944
[Test]
40-
public void AddUpdatesNameIndex()
45+
public void AddUpdatesPathIndex()
4146
{
42-
_tracker.Add(TEST_EXTENSION_ASSEMBLY);
47+
_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);
4348

44-
Assert.That(_tracker.ByName.ContainsKey(THIS_ASSEMBLY_NAME));
45-
Assert.That(_tracker.ByName[THIS_ASSEMBLY_NAME].AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));
46-
Assert.That(_tracker.ByName[THIS_ASSEMBLY_NAME].FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));
47-
Assert.That(_tracker.ByName[THIS_ASSEMBLY_NAME].AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));
49+
Assert.That(_tracker.ContainsPath(THIS_ASSEMBLY_PATH));
4850
}
49-
[Test]
50-
public void AddUpdatesPathIndex()
51-
{
52-
_tracker.Add(TEST_EXTENSION_ASSEMBLY);
5351

54-
Assert.That(_tracker.ByPath.ContainsKey(THIS_ASSEMBLY_PATH));
55-
Assert.That(_tracker.ByPath[THIS_ASSEMBLY_PATH].AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));
56-
Assert.That(_tracker.ByPath[THIS_ASSEMBLY_PATH].FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));
57-
Assert.That(_tracker.ByPath[THIS_ASSEMBLY_PATH].AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));
52+
private static IEnumerable<TestCaseData> TestCasesAddNewerAssemblyUpdatesExistingInformation()
53+
{
54+
yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major + 1, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build));
55+
yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor + 1, THIS_ASSEMBLY_VERSION.Build));
56+
yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build + 1));
5857
}
5958

60-
[Test]
61-
public void AddDuplicatePathThrowsArgumentException()
59+
[TestCaseSource(nameof(TestCasesAddNewerAssemblyUpdatesExistingInformation))]
60+
public void AddNewerAssemblyUpdatesExistingInformation(Version newVersion)
6261
{
63-
_tracker.Add(TEST_EXTENSION_ASSEMBLY);
62+
_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);
63+
64+
string newAssemblyPath = "/path/to/new/assembly";
65+
var newerAssembly = new ExtensionAssembly(newAssemblyPath, false, THIS_ASSEMBLY_NAME, newVersion);
66+
67+
_tracker.AddOrUpdate(newerAssembly);
6468

65-
Assert.That(() =>
66-
_tracker.Add(TEST_EXTENSION_ASSEMBLY),
67-
Throws.TypeOf<System.ArgumentException>());
69+
Assert.That(_tracker.Count, Is.EqualTo(1));
70+
Assert.That(_tracker.ContainsPath(newAssemblyPath));
71+
72+
var assembly = _tracker.Single();
73+
Assert.That(assembly.FilePath, Is.EqualTo(newAssemblyPath));
74+
Assert.That(assembly.AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));
75+
Assert.That(assembly.AssemblyVersion, Is.EqualTo(newVersion));
6876
}
6977

70-
[Test]
71-
public void AddDuplicateAssemblyNameThrowsArgumentException()
78+
private static IEnumerable<TestCaseData> AddNewerAssemblyUpdatesExistingInformationTestCases()
79+
{
80+
yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major - 1, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build));
81+
yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor - 1, THIS_ASSEMBLY_VERSION.Build));
82+
yield return new TestCaseData(new Version(THIS_ASSEMBLY_VERSION.Major, THIS_ASSEMBLY_VERSION.Minor, THIS_ASSEMBLY_VERSION.Build));
83+
}
84+
85+
[TestCaseSource(nameof(AddNewerAssemblyUpdatesExistingInformationTestCases))]
86+
public void AddOlderOrSameAssemblyDoesNotUpdateExistingInformation(Version newVersion)
7287
{
73-
_tracker.Add(TEST_EXTENSION_ASSEMBLY);
88+
_tracker.AddOrUpdate(TEST_EXTENSION_ASSEMBLY);
89+
90+
string newAssemblyPath = "/path/to/new/assembly";
91+
var newerAssembly = new ExtensionAssembly(newAssemblyPath, false, THIS_ASSEMBLY_NAME, newVersion);
92+
93+
_tracker.AddOrUpdate(newerAssembly);
94+
95+
Assert.That(_tracker.Count, Is.EqualTo(1));
96+
Assert.That(_tracker.ContainsPath(newAssemblyPath));
7497

75-
Assert.That(() => _tracker.Add(new ExtensionAssembly("Some/Other/Path", false, THIS_ASSEMBLY_NAME, THIS_ASSEMBLY_VERSION)),
76-
Throws.TypeOf<System.ArgumentException>());
98+
var assembly = _tracker.Single();
99+
Assert.That(assembly.FilePath, Is.EqualTo(THIS_ASSEMBLY_PATH));
100+
Assert.That(assembly.AssemblyName, Is.EqualTo(THIS_ASSEMBLY_NAME));
101+
Assert.That(assembly.AssemblyVersion, Is.EqualTo(THIS_ASSEMBLY_VERSION));
77102
}
78103
}
79104
}

src/NUnitEngine/nunit.engine.core.tests/Services/ExtensionManagerTests.cs

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,19 @@
88
using System.Reflection;
99
using System.Collections.Generic;
1010
using NUnit.Engine.Internal;
11-
using NSubstitute;
12-
using NUnit.Engine.Internal.FileSystemAccess;
13-
using System.Diagnostics;
1411

15-
namespace NUnit.Engine.Services.Tests
12+
namespace NUnit.Engine.Services
1613
{
1714
public class ExtensionManagerTests
1815
{
19-
private ExtensionManager _extensionManager;
16+
private static readonly Assembly THIS_ASSEMBLY = typeof(ExtensionManagerTests).Assembly;
17+
private static readonly string THIS_ASSEMBLY_DIRECTORY = Path.GetDirectoryName(THIS_ASSEMBLY.Location);
18+
private const string FAKE_EXTENSIONS_FILENAME = "FakeExtensions.dll";
19+
private static readonly string FAKE_EXTENSIONS_PARENT_DIRECTORY =
20+
Path.Combine(new DirectoryInfo(THIS_ASSEMBLY_DIRECTORY).Parent.FullName, "fakesv2");
21+
private static readonly string FAKE_EXTENSIONS_SOURCE_DIRECTORY =
22+
Path.Combine(new DirectoryInfo(THIS_ASSEMBLY_DIRECTORY).Parent.Parent.Parent.FullName, "src/TestData/FakeExtensions");
2023

21-
#pragma warning disable 414
2224
private static readonly string[] KnownExtensionPointPaths = {
2325
"/NUnit/Engine/TypeExtensions/IDriverFactory",
2426
"/NUnit/Engine/TypeExtensions/IProjectLoader",
@@ -48,7 +50,8 @@ public class ExtensionManagerTests
4850
"NUnit.Engine.Tests.DummyDisabledExtension",
4951
"NUnit.Engine.Tests.V2DriverExtension"
5052
};
51-
#pragma warning restore 414
53+
54+
private ExtensionManager _extensionManager;
5255

5356
[SetUp]
5457
public void CreateExtensionManager()
@@ -58,12 +61,10 @@ public void CreateExtensionManager()
5861
// Find actual extension points.
5962
_extensionManager.FindExtensionPoints(typeof(CoreEngine).Assembly);
6063
_extensionManager.FindExtensionPoints(typeof(ITestEngine).Assembly);
61-
// Find extensions directly in the their assemblies
62-
#if NETCOREAPP
63-
_extensionManager.FindExtensionsInAssembly(FakeExtensions("netstandard2.0"));
64-
#else
65-
_extensionManager.FindExtensionsInAssembly(FakeExtensions("net462"));
66-
#endif
64+
65+
// Find Fake Extensions using alternate start directory
66+
_extensionManager.FindExtensionAssemblies(FAKE_EXTENSIONS_SOURCE_DIRECTORY);
67+
_extensionManager.LoadExtensions();
6768
}
6869

6970
[Test]
@@ -80,6 +81,15 @@ public void AllKnownExtensionsAreFound()
8081
Is.EquivalentTo(KnownExtensions));
8182
}
8283

84+
[Test]
85+
public void AllExtensionsUseTheLatestVersion()
86+
{
87+
// We have two builds of FakeExtensions. Version 2
88+
// should be used rather than 1 for all extensions.
89+
foreach (var node in _extensionManager.Extensions)
90+
Assert.That(node.AssemblyVersion.ToString(), Is.EqualTo("2.0.0.0"));
91+
}
92+
8393
[Test]
8494
public void AllKnownExtensionsAreEnabledAsRequired()
8595
{
@@ -298,12 +308,6 @@ private static string GetSiblingDirectory(string dir)
298308
return Path.Combine(file.Directory.Parent.FullName, dir);
299309
}
300310

301-
private static readonly Assembly THIS_ASSEMBLY = typeof(ExtensionManagerTests).Assembly;
302-
private static readonly string THIS_ASSEMBLY_DIRECTORY = Path.GetDirectoryName(THIS_ASSEMBLY.Location);
303-
private const string FAKE_EXTENSIONS_FILENAME = "FakeExtensions.dll";
304-
private static readonly string FAKE_EXTENSIONS_PARENT_DIRECTORY =
305-
Path.Combine(new DirectoryInfo(THIS_ASSEMBLY_DIRECTORY).Parent.FullName, "fakes");
306-
307311
/// <summary>
308312
/// Returns an ExtensionAssembly referring to a particular build of the fake test extensions
309313
/// assembly based on the argument provided.

src/NUnitEngine/nunit.engine.core/Extensibility/ExtensionAssembly.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public ExtensionAssembly(string filePath, bool fromWildCard)
1414
{
1515
FilePath = filePath;
1616
FromWildCard = fromWildCard;
17-
Assembly = GetAssemblyDefinition();
17+
Assembly = AssemblyDefinition.ReadAssembly(filePath); //GetAssemblyDefinition();
1818
AssemblyName = Assembly.Name.Name;
1919
AssemblyVersion = Assembly.Name.Version;
2020
}

0 commit comments

Comments
 (0)