mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-08-08 11:27:14 +00:00
add lib loading tests + remove dummy test
This commit is contained in:
parent
6d9575e103
commit
4b7b9975c5
@ -31,9 +31,4 @@ public class ModelFactoryTests
|
|||||||
{
|
{
|
||||||
using var model = _modelFactory.LoadModel(Constants.MPT_MODEL_PATH);
|
using var model = _modelFactory.LoadModel(Constants.MPT_MODEL_PATH);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
|
||||||
public void DummyTest()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,56 @@
|
|||||||
|
using System.IO;
|
||||||
|
using Gpt4All.LibraryLoader;
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Gpt4All.Tests;
|
||||||
|
|
||||||
|
public class NativeLibraryLoaderTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void NativeLibraryShouldLoad()
|
||||||
|
{
|
||||||
|
var result = NativeLibraryLoader.LoadNativeLibrary(bypassLoading: false);
|
||||||
|
Assert.True(result.IsSuccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
private const string LLModelLib = "libllmodel.{0}";
|
||||||
|
|
||||||
|
[PlatformSpecificFact(Platforms.Windows)]
|
||||||
|
public void NativeLibraryShouldLoad_Windows()
|
||||||
|
{
|
||||||
|
var libraryLoader = new WindowsLibraryLoader();
|
||||||
|
|
||||||
|
var libraryPath = Path.Combine(
|
||||||
|
Environment.CurrentDirectory,
|
||||||
|
string.Format(LLModelLib, "dll"));
|
||||||
|
|
||||||
|
var result = libraryLoader.OpenLibrary(libraryPath);
|
||||||
|
Assert.True(result.IsSuccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
[PlatformSpecificFact(Platforms.Linux)]
|
||||||
|
public void NativeLibraryShouldLoad_Linux()
|
||||||
|
{
|
||||||
|
var libraryLoader = new WindowsLibraryLoader();
|
||||||
|
|
||||||
|
var libraryPath = Path.Combine(
|
||||||
|
Environment.CurrentDirectory,
|
||||||
|
string.Format(LLModelLib, "so"));
|
||||||
|
|
||||||
|
var result = libraryLoader.OpenLibrary(libraryPath);
|
||||||
|
Assert.True(result.IsSuccess);
|
||||||
|
}
|
||||||
|
|
||||||
|
[PlatformSpecificFact(Platforms.MacOS)]
|
||||||
|
public void NativeLibraryShouldLoad_MacOS()
|
||||||
|
{
|
||||||
|
var libraryLoader = new WindowsLibraryLoader();
|
||||||
|
|
||||||
|
var libraryPath = Path.Combine(
|
||||||
|
Environment.CurrentDirectory,
|
||||||
|
string.Format(LLModelLib, "dylib"));
|
||||||
|
|
||||||
|
var result = libraryLoader.OpenLibrary(libraryPath);
|
||||||
|
Assert.True(result.IsSuccess);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
using Xunit;
|
||||||
|
|
||||||
|
namespace Gpt4All.Tests;
|
||||||
|
|
||||||
|
public static class Platforms
|
||||||
|
{
|
||||||
|
public const string Windows = "windows";
|
||||||
|
public const string Linux = "linux";
|
||||||
|
public const string MacOS = "macOS";
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This attribute ensures the Fact is only run on the specified platform.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// <see cref="OperatingSystem.IsOSPlatform(string)"/> for info about the platform string.
|
||||||
|
/// </remarks>
|
||||||
|
public class PlatformSpecificFactAttribute : FactAttribute
|
||||||
|
{
|
||||||
|
public PlatformSpecificFactAttribute(string platform)
|
||||||
|
{
|
||||||
|
if (!OperatingSystem.IsOSPlatform(platform))
|
||||||
|
{
|
||||||
|
Skip = $"Test only runs on {platform}.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,8 +1,11 @@
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
using Gpt4All.Bindings;
|
using Gpt4All.Bindings;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.Extensions.Logging.Abstractions;
|
using Microsoft.Extensions.Logging.Abstractions;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("Gpt4All.Tests")]
|
||||||
|
|
||||||
namespace Gpt4All;
|
namespace Gpt4All;
|
||||||
|
|
||||||
public class Gpt4All : IGpt4AllModel
|
public class Gpt4All : IGpt4AllModel
|
||||||
|
Loading…
Reference in New Issue
Block a user