mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-12-29 00:56:37 +01:00
New: .NET 5 support for FreeBSD 11+
(cherry picked from commit 760de88e7c1835affe184fed16bc3895ceca9358) (cherry picked from commit add271967f64b426fd0687c2c3209280e4a65754)
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<clear />
|
||||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
|
||||
<add key="MyFeed" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/SQLite/nuget/v3/index.json" />
|
||||
<add key="FluentMigrator" value="https://pkgs.dev.azure.com/fluentmigrator/fluentmigrator/_packaging/fluentmigrator/nuget/v3/index.json" />
|
||||
<add key="dotnet-bsd-crossbuild" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/dotnet-bsd-crossbuild/nuget/v3/index.json" />
|
||||
<add key="Mono.Posix.NETStandard" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/Mono.Posix.NETStandard/nuget/v3/index.json" />
|
||||
<add key="SQLite" value="https://pkgs.dev.azure.com/Servarr/Servarr/_packaging/SQLite/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
|
||||
@@ -26,7 +26,6 @@ namespace NzbDrone.Core.Test.UpdateTests
|
||||
|
||||
[Test]
|
||||
[Ignore("TODO No Updates On Server")]
|
||||
[Platform(Exclude = "NetCore")]
|
||||
public void finds_update_when_version_lower()
|
||||
{
|
||||
UseRealHttp();
|
||||
|
||||
@@ -8,6 +8,7 @@ using Mono.Unix.Native;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Common.Disk;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
using NzbDrone.Common.Test.DiskTests;
|
||||
using NzbDrone.Mono.Disk;
|
||||
|
||||
@@ -178,9 +179,13 @@ namespace NzbDrone.Mono.Test.DiskProviderTests
|
||||
Syscall.stat(tempFile, out fileStat);
|
||||
NativeConvert.ToOctalPermissionString(fileStat.st_mode).Should().Be("0644");
|
||||
|
||||
Subject.SetPermissions(tempFile, "1664");
|
||||
Syscall.stat(tempFile, out fileStat);
|
||||
NativeConvert.ToOctalPermissionString(fileStat.st_mode).Should().Be("1664");
|
||||
if (OsInfo.Os != Os.Bsd)
|
||||
{
|
||||
// This is not allowed on BSD
|
||||
Subject.SetPermissions(tempFile, "1664");
|
||||
Syscall.stat(tempFile, out fileStat);
|
||||
NativeConvert.ToOctalPermissionString(fileStat.st_mode).Should().Be("1664");
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
using NzbDrone.Common.Processes;
|
||||
using NzbDrone.Mono.EnvironmentInfo.VersionAdapters;
|
||||
using NzbDrone.Test.Common;
|
||||
|
||||
namespace NzbDrone.Mono.Test.EnvironmentInfo
|
||||
{
|
||||
[TestFixture]
|
||||
[Platform("Linux")]
|
||||
public class FreebsdVersionAdapterFixture : TestBase<FreebsdVersionAdapter>
|
||||
{
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
if (OsInfo.Os != Os.Bsd)
|
||||
{
|
||||
throw new IgnoreException("BSD Only");
|
||||
}
|
||||
|
||||
Mocker.SetConstant<IProcessProvider>(Mocker.Resolve<ProcessProvider>());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_get_version_info()
|
||||
{
|
||||
var info = Subject.Read();
|
||||
info.FullName.Should().NotBeNullOrWhiteSpace();
|
||||
info.Name.Should().NotBeNullOrWhiteSpace();
|
||||
info.Version.Should().NotBeNullOrWhiteSpace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,8 @@ namespace NzbDrone.Mono.Test.EnvironmentInfo
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
NotBsd();
|
||||
|
||||
Mocker.SetConstant<IDiskProvider>(Mocker.Resolve<DiskProvider>());
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ namespace NzbDrone.Mono.Test.EnvironmentInfo.VersionAdapters
|
||||
[Platform("Linux")]
|
||||
public void should_get_version_info_from_actual_linux()
|
||||
{
|
||||
NotBsd();
|
||||
|
||||
Mocker.SetConstant<IDiskProvider>(Mocker.Resolve<DiskProvider>());
|
||||
var info = Subject.Read();
|
||||
info.FullName.Should().NotBeNullOrWhiteSpace();
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
|
||||
<PackageReference Include="NunitXml.TestLogger" Version="3.0.97" />
|
||||
<PackageReference Include="coverlet.collector" Version="1.2.1" PrivateAssets="all" />
|
||||
<PackageReference Include="Mono.Posix.NETStandard" Version="5.20.1-preview" />
|
||||
<PackageReference Include="Mono.Posix.NETStandard" Version="5.20.1-servarr1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Common.Test\Prowlarr.Common.Test.csproj" />
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
using NzbDrone.Common.Processes;
|
||||
|
||||
namespace NzbDrone.Mono.EnvironmentInfo.VersionAdapters
|
||||
{
|
||||
public class FreebsdVersionAdapter : IOsVersionAdapter
|
||||
{
|
||||
private readonly IProcessProvider _processProvider;
|
||||
|
||||
public FreebsdVersionAdapter(IProcessProvider processProvider)
|
||||
{
|
||||
_processProvider = processProvider;
|
||||
}
|
||||
|
||||
public OsVersionModel Read()
|
||||
{
|
||||
var output = _processProvider.StartAndCapture("freebsd-version");
|
||||
|
||||
var version = output.Standard.First().Content;
|
||||
|
||||
return new OsVersionModel("FreeBSD", version, $"FreeBSD {version}");
|
||||
}
|
||||
|
||||
public bool Enabled => OsInfo.Os == Os.Bsd;
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
<TargetFrameworks>net5.0</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Mono.Posix.NETStandard" Version="5.20.1-preview" />
|
||||
<PackageReference Include="Mono.Posix.NETStandard" Version="5.20.1-servarr1" />
|
||||
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -174,6 +174,14 @@ namespace NzbDrone.Test.Common
|
||||
}
|
||||
}
|
||||
|
||||
protected void NotBsd()
|
||||
{
|
||||
if (OsInfo.Os == Os.Bsd)
|
||||
{
|
||||
throw new IgnoreException("Ignored on BSD");
|
||||
}
|
||||
}
|
||||
|
||||
protected void WithTempAsAppPath()
|
||||
{
|
||||
Mocker.GetMock<IAppFolderInfo>()
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user