Skip to content

Commit 9b5b977

Browse files
authored
Throw on null assembly in TryGetType for bad plugin assembly (#1717)
1 parent 75532c0 commit 9b5b977

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

src/Verify.Tests/PluginConventionTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ public void TryGetType()
2222
public void GetTypeName(string assemblyName, string expectedTypeName) =>
2323
Assert.Equal(expectedTypeName, VerifierSettings.GetTypeName(assemblyName));
2424

25+
[Fact]
26+
public void TryGetTypeNullAssembly() =>
27+
Assert.Throws<Exception>(() => VerifierSettings.TryGetType("Verify.BadAssemblyName.dll", out _));
28+
2529
[Fact]
2630
public void InvokeInitialize()
2731
{

src/Verify/VerifierSettings_PluginConvention.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,13 @@ internal static bool TryGetType(string file, [NotNullWhen(true)] out Type? type)
5151
return false;
5252
}
5353
#pragma warning disable CS0618
54-
var assembly = Assembly.LoadWithPartialName(assemblyName)!;
54+
var assembly = Assembly.LoadWithPartialName(assemblyName);
5555
#pragma warning restore CS0618
56+
if (assembly == null)
57+
{
58+
throw new($"Could not load assembly '{assemblyName}'.");
59+
}
60+
5661
var typeName = GetTypeName(assemblyName);
5762
type = assembly.GetType(typeName);
5863
return type != null;

0 commit comments

Comments
 (0)