consolidate the tests locations

This commit is contained in:
StellaOps Bot
2025-12-26 01:48:24 +02:00
parent 17613acf57
commit 39359da171
2031 changed files with 2607 additions and 476 deletions

View File

@@ -0,0 +1,15 @@
using System.Runtime.CompilerServices;
namespace StellaOps.Testing;
/// <summary>
/// Automatically ensures OpenSSL 1.1 shim is visible for tests that require legacy OpenSSL.
/// </summary>
internal static class OpenSslAutoInit
{
[ModuleInitializer]
public static void Init()
{
OpenSslLegacyShim.EnsureOpenSsl11();
}
}

View File

@@ -0,0 +1,43 @@
using System;
using System.IO;
using System.Linq;
namespace StellaOps.Testing;
/// <summary>
/// Ensures OpenSSL 1.1 native libraries are visible on platforms that no longer ship them.
/// </summary>
public static class OpenSslLegacyShim
{
private const string LinuxLibraryVariable = "LD_LIBRARY_PATH";
public static void EnsureOpenSsl11()
{
if (!OperatingSystem.IsLinux())
{
return;
}
var nativeDirectory = Path.Combine(AppContext.BaseDirectory, "native", "linux-x64");
if (!Directory.Exists(nativeDirectory))
{
return;
}
var current = Environment.GetEnvironmentVariable(LinuxLibraryVariable);
if (string.IsNullOrEmpty(current))
{
Environment.SetEnvironmentVariable(LinuxLibraryVariable, nativeDirectory);
return;
}
const char separator = ':';
var segments = current.Split(separator, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
if (segments.Contains(nativeDirectory, StringComparer.Ordinal))
{
return;
}
Environment.SetEnvironmentVariable(LinuxLibraryVariable, string.Concat(nativeDirectory, separator, current));
}
}