Skip to content

Commit

Permalink
☔ Fix tests running on linux
Browse files Browse the repository at this point in the history
  • Loading branch information
pleonex committed Nov 29, 2023
1 parent 1716416 commit 97d6c77
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/Yarhl.IntegrationTests/AssemblyLoadContextExtensionsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,19 @@ public class AssemblyLoadContextExtensionsTests
[Test]
public void TestPreconditionYarhlMediaIsInPluginsFolder()
{
string programDir = Path.GetDirectoryName(Environment.ProcessPath)!;
string pluginDir = Path.Combine(programDir, "Plugins");
string pluginDir = GetPluginsDirectory();
Assert.IsTrue(Directory.Exists(pluginDir));

Assert.IsTrue(File.Exists(Path.Combine(pluginDir, "Yarhl.Media.Text.dll")));
Assert.IsTrue(File.Exists(Path.Combine(pluginDir, "MyBadPlugin.dll")));

Assert.IsFalse(File.Exists(Path.Combine(programDir, "Yarhl.Media.Text.dll")));
Assert.IsFalse(File.Exists(Path.Combine(GetProgramDirectory(), "Yarhl.Media.Text.dll")));
}

[Test]
public void LoadingYarhlMediaFromPath()
{
string programDir = Path.GetDirectoryName(Environment.ProcessPath)!;
string assemblyPath = Path.Combine(programDir, "Plugins", "Yarhl.Media.Text.dll");
string assemblyPath = Path.Combine(GetPluginsDirectory(), "Yarhl.Media.Text.dll");
Assembly? loaded = TypeLocator.Instance.LoadContext.TryLoadFromAssemblyPath(assemblyPath);

Assert.That(loaded, Is.Not.Null);
Expand All @@ -64,8 +62,7 @@ public void LoadingYarhlMediaFromPath()
[Test]
public void LoadingInvalidAssemblyReturnsNull()
{
string programDir = Path.GetDirectoryName(Environment.ProcessPath)!;
string assemblyPath = Path.Combine(programDir, "Plugins", "MyBadPlugin.dll");
string assemblyPath = Path.Combine(GetPluginsDirectory(), "MyBadPlugin.dll");
Assembly? loaded = TypeLocator.Instance.LoadContext.TryLoadFromAssemblyPath(assemblyPath);

Assert.That(loaded, Is.Null);
Expand Down Expand Up @@ -95,8 +92,7 @@ public void LoadingExecutingDirGetsYarhl()
[Test]
public void LoadingPluginsDirGetsYarhlMedia()
{
string programDir = Path.GetDirectoryName(Environment.ProcessPath)!;
string pluginDir = Path.Combine(programDir, "Plugins");
string pluginDir = GetPluginsDirectory();
IEnumerable<Assembly> loaded = TypeLocator.Instance.LoadContext
.TryLoadFromDirectory(pluginDir, false);

Expand All @@ -110,7 +106,7 @@ public void LoadingPluginsDirGetsYarhlMedia()
[Test]
public void LoadingPluginsDirRecursiveGetsYarhlMedia()
{
string programDir = Path.GetDirectoryName(Environment.ProcessPath)!;
string programDir = GetProgramDirectory();
IEnumerable<Assembly> loaded = TypeLocator.Instance.LoadContext
.TryLoadFromDirectory(programDir, true);

Expand All @@ -124,8 +120,7 @@ public void LoadingPluginsDirRecursiveGetsYarhlMedia()
[Test]
public void FindFormatFromPluginsDir()
{
string programDir = Path.GetDirectoryName(Environment.ProcessPath)!;
string pluginDir = Path.Combine(programDir, "Plugins");
string pluginDir = GetPluginsDirectory();
TypeLocator.Instance.LoadContext.TryLoadFromDirectory(pluginDir, false);

var formats = ConverterLocator.Instance.Formats;
Expand All @@ -138,8 +133,7 @@ public void FindFormatFromPluginsDir()
[Test]
public void FindConverterFromPluginsDir()
{
string programDir = Path.GetDirectoryName(Environment.ProcessPath)!;
string pluginDir = Path.Combine(programDir, "Plugins");
string pluginDir = GetPluginsDirectory();
TypeLocator.Instance.LoadContext.TryLoadFromDirectory(pluginDir, false);

Type poType = ConverterLocator.Instance.Formats
Expand All @@ -153,4 +147,10 @@ public void FindConverterFromPluginsDir()
converters.Select(t => t.Name),
Does.Contain("Yarhl.Media.Text.Po2Binary"));
}

private static string GetProgramDirectory() =>
AppDomain.CurrentDomain.BaseDirectory;

private static string GetPluginsDirectory() =>
Path.Combine(GetProgramDirectory(), "Plugins");
}

0 comments on commit 97d6c77

Please sign in to comment.