New: .NET 5 support for FreeBSD 11+

This commit is contained in:
ta264 2021-02-09 21:09:13 +00:00
parent 0fcad533eb
commit 108609d064
16 changed files with 222 additions and 41 deletions

View File

@ -79,7 +79,18 @@ stages:
displayName: 'Install .net core' displayName: 'Install .net core'
inputs: inputs:
version: $(dotnetVersion) version: $(dotnetVersion)
- bash: ./build.sh --backend - bash: |
BUNDLEDVERSIONS=${AGENT_TOOLSDIRECTORY}/dotnet/sdk/${DOTNETVERSION}/Microsoft.NETCoreSdk.BundledVersions.props
echo $BUNDLEDVERSIONS
grep osx-x64 $BUNDLEDVERSIONS
if grep -q freebsd-x64 $BUNDLEDVERSIONS; then
echo "BSD already enabled"
else
echo "Enabling BSD support"
sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64/' $BUNDLEDVERSIONS
fi
displayName: Enable FreeBSD Support
- bash: ./build.sh --backend --enable-bsd
displayName: Build Radarr Backend displayName: Build Radarr Backend
- bash: | - bash: |
find ${OUTPUTFOLDER} -type f ! -path "*/publish/*" -exec rm -rf {} \; find ${OUTPUTFOLDER} -type f ! -path "*/publish/*" -exec rm -rf {} \;
@ -108,6 +119,10 @@ stages:
artifact: LinuxMuslCoreTests artifact: LinuxMuslCoreTests
displayName: Publish Linux Musl Test Package displayName: Publish Linux Musl Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows')) condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net5.0/freebsd-x64/publish'
artifact: FreebsdCoreTests
displayName: Publish FreeBSD Test Package
condition: and(succeeded(), eq(variables['osName'], 'Windows'))
- publish: '$(testsFolder)/net5.0/osx-x64/publish' - publish: '$(testsFolder)/net5.0/osx-x64/publish'
artifact: MacCoreTests artifact: MacCoreTests
displayName: Publish MacOS Test Package displayName: Publish MacOS Test Package
@ -219,7 +234,7 @@ stages:
artifactName: WindowsFrontend artifactName: WindowsFrontend
targetPath: _output targetPath: _output
displayName: Fetch Frontend displayName: Fetch Frontend
- bash: ./build.sh --packages - bash: ./build.sh --packages --enable-bsd
displayName: Create Packages displayName: Create Packages
- bash: | - bash: |
find . -name "Radarr" -exec chmod a+x {} \; find . -name "Radarr" -exec chmod a+x {} \;
@ -302,6 +317,14 @@ stages:
tarCompression: 'gz' tarCompression: 'gz'
includeRootFolder: false includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/linux-musl-arm64/net5.0 rootFolderOrFile: $(artifactsFolder)/linux-musl-arm64/net5.0
- task: ArchiveFiles@2
displayName: Create FreeBSD Core Core tar
inputs:
archiveFile: '$(Build.ArtifactStagingDirectory)/Radarr.$(buildName).freebsd-core-x64.tar.gz'
archiveType: 'tar'
tarCompression: 'gz'
includeRootFolder: false
rootFolderOrFile: $(artifactsFolder)/freebsd-x64/net5.0
- publish: $(Build.ArtifactStagingDirectory) - publish: $(Build.ArtifactStagingDirectory)
artifact: 'Packages' artifact: 'Packages'
displayName: Publish Packages displayName: Publish Packages
@ -355,24 +378,34 @@ stages:
displayName: Unit Native displayName: Unit Native
dependsOn: Prepare dependsOn: Prepare
condition: and(succeeded(), eq(dependencies.Prepare.outputs['setVar.backendNotUpdated'], '0')) condition: and(succeeded(), eq(dependencies.Prepare.outputs['setVar.backendNotUpdated'], '0'))
workspace:
clean: all
strategy: strategy:
matrix: matrix:
MacCore: MacCore:
osName: 'Mac' osName: 'Mac'
testName: 'MacCore' testName: 'MacCore'
poolName: 'Azure Pipelines'
imageName: 'macos-10.14' imageName: 'macos-10.14'
WindowsCore: WindowsCore:
osName: 'Windows' osName: 'Windows'
testName: 'WindowsCore' testName: 'WindowsCore'
poolName: 'Azure Pipelines'
imageName: 'windows-2019' imageName: 'windows-2019'
LinuxCore: LinuxCore:
osName: 'Linux' osName: 'Linux'
testName: 'LinuxCore' testName: 'LinuxCore'
poolName: 'Azure Pipelines'
imageName: 'ubuntu-18.04' imageName: 'ubuntu-18.04'
pattern: 'Radarr.**.linux-core-x64.tar.gz' FreebsdCore:
osName: 'Linux'
testName: 'FreebsdCore'
poolName: 'FreeBSD'
imageName:
pool: pool:
name: $(poolName)
vmImage: $(imageName) vmImage: $(imageName)
steps: steps:
@ -381,6 +414,7 @@ stages:
displayName: 'Install .net core' displayName: 'Install .net core'
inputs: inputs:
version: $(dotnetVersion) version: $(dotnetVersion)
condition: ne(variables['poolName'], 'FreeBSD')
- task: DownloadPipelineArtifact@2 - task: DownloadPipelineArtifact@2
displayName: Download Test Artifact displayName: Download Test Artifact
inputs: inputs:
@ -393,7 +427,7 @@ stages:
sudo apt-get update sudo apt-get update
sudo apt-get install -y --allow-unauthenticated libmediainfo-dev libmediainfo0v5 mediainfo sudo apt-get install -y --allow-unauthenticated libmediainfo-dev libmediainfo0v5 mediainfo
displayName: Install mediainfo displayName: Install mediainfo
condition: and(succeeded(), eq(variables['osName'], 'Linux')) condition: and(succeeded(), eq(variables['testName'], 'LinuxCore'))
- powershell: Set-Service SCardSvr -StartupType Manual - powershell: Set-Service SCardSvr -StartupType Manual
displayName: Enable Windows Test Service displayName: Enable Windows Test Service
condition: and(succeeded(), eq(variables['osName'], 'Windows')) condition: and(succeeded(), eq(variables['osName'], 'Windows'))
@ -508,17 +542,17 @@ stages:
osName: 'Mac' osName: 'Mac'
testName: 'MacCore' testName: 'MacCore'
imageName: 'macos-10.14' imageName: 'macos-10.14'
pattern: 'Radarr.**.osx-core-x64.tar.gz' pattern: 'Radarr.*.osx-core-x64.tar.gz'
WindowsCore: WindowsCore:
osName: 'Windows' osName: 'Windows'
testName: 'WindowsCore' testName: 'WindowsCore'
imageName: 'windows-2019' imageName: 'windows-2019'
pattern: 'Radarr.**.windows-core-x64.zip' pattern: 'Radarr.*.windows-core-x64.zip'
LinuxCore: LinuxCore:
osName: 'Linux' osName: 'Linux'
testName: 'LinuxCore' testName: 'LinuxCore'
imageName: 'ubuntu-18.04' imageName: 'ubuntu-18.04'
pattern: 'Radarr.**.linux-core-x64.tar.gz' pattern: 'Radarr.*.linux-core-x64.tar.gz'
pool: pool:
vmImage: $(imageName) vmImage: $(imageName)
@ -571,6 +605,52 @@ stages:
failTaskOnFailedTests: true failTaskOnFailedTests: true
displayName: Publish Test Results displayName: Publish Test Results
- job: Integration_FreeBSD
displayName: Integration Native FreeBSD
dependsOn: Prepare
condition: and(succeeded(), eq(dependencies.Prepare.outputs['setVar.backendNotUpdated'], '0'))
workspace:
clean: all
variables:
pattern: 'Radarr.*.freebsd-core-x64.tar.gz'
pool:
name: 'FreeBSD'
steps:
- checkout: none
- task: DownloadPipelineArtifact@2
displayName: Download Test Artifact
inputs:
buildType: 'current'
artifactName: 'FreebsdCoreTests'
targetPath: $(testsFolder)
- task: DownloadPipelineArtifact@2
displayName: Download Build Artifact
inputs:
buildType: 'current'
artifactName: Packages
itemPattern: '/$(pattern)'
targetPath: $(Build.ArtifactStagingDirectory)
- bash: |
mkdir -p ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin
tar xf ${BUILD_ARTIFACTSTAGINGDIRECTORY}/$(pattern) -C ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin
displayName: Extract Package
- bash: |
mkdir -p ./bin/
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Radarr/. ./bin/
displayName: Move Package Contents
- bash: |
chmod a+x ${TESTSFOLDER}/test.sh
${TESTSFOLDER}/test.sh Linux Integration Test
displayName: Run Integration Tests
- task: PublishTestResults@2
inputs:
testResultsFormat: 'NUnit'
testResultsFiles: '**/TestResult.xml'
testRunTitle: 'FreeBSD Integration Tests'
failTaskOnFailedTests: true
displayName: Publish Test Results
- job: Integration_Docker - job: Integration_Docker
displayName: Integration Docker displayName: Integration Docker
dependsOn: Prepare dependsOn: Prepare
@ -581,22 +661,22 @@ stages:
testName: 'Mono 5.20' testName: 'Mono 5.20'
artifactName: LinuxTests artifactName: LinuxTests
containerImage: ghcr.io/servarr/testimages:mono-5.20 containerImage: ghcr.io/servarr/testimages:mono-5.20
pattern: 'Radarr.**.linux.tar.gz' pattern: 'Radarr.*.linux.tar.gz'
mono610: mono610:
testName: 'Mono 6.10' testName: 'Mono 6.10'
artifactName: LinuxTests artifactName: LinuxTests
containerImage: ghcr.io/servarr/testimages:mono-6.10 containerImage: ghcr.io/servarr/testimages:mono-6.10
pattern: 'Radarr.**.linux.tar.gz' pattern: 'Radarr.*.linux.tar.gz'
mono612: mono612:
testName: 'Mono 6.12' testName: 'Mono 6.12'
artifactName: LinuxTests artifactName: LinuxTests
containerImage: ghcr.io/servarr/testimages:mono-6.12 containerImage: ghcr.io/servarr/testimages:mono-6.12
pattern: 'Radarr.**.linux.tar.gz' pattern: 'Radarr.*.linux.tar.gz'
alpine: alpine:
testName: 'Musl Net Core' testName: 'Musl Net Core'
artifactName: LinuxMuslCoreTests artifactName: LinuxMuslCoreTests
containerImage: ghcr.io/servarr/testimages:alpine containerImage: ghcr.io/servarr/testimages:alpine
pattern: 'Radarr.**.linux-musl-core-x64.tar.gz' pattern: 'Radarr.*.linux-musl-core-x64.tar.gz'
pool: pool:
vmImage: 'ubuntu-18.04' vmImage: 'ubuntu-18.04'
@ -655,17 +735,17 @@ stages:
Linux: Linux:
osName: 'Linux' osName: 'Linux'
imageName: 'ubuntu-18.04' imageName: 'ubuntu-18.04'
pattern: 'Radarr.**.linux-core-x64.tar.gz' pattern: 'Radarr.*.linux-core-x64.tar.gz'
failBuild: true failBuild: true
Mac: Mac:
osName: 'Mac' osName: 'Mac'
imageName: 'macos-10.14' imageName: 'macos-10.14'
pattern: 'Radarr.**.osx-core-x64.tar.gz' pattern: 'Radarr.*.osx-core-x64.tar.gz'
failBuild: true failBuild: true
Windows: Windows:
osName: 'Windows' osName: 'Windows'
imageName: 'windows-2019' imageName: 'windows-2019'
pattern: 'Radarr.**.windows-core-x64.zip' pattern: 'Radarr.*.windows-core-x64.zip'
failBuild: true failBuild: true
pool: pool:

View File

@ -1,4 +1,4 @@
#! /bin/bash #! /usr/bin/env bash
set -e set -e
outputFolder='_output' outputFolder='_output'
@ -25,6 +25,18 @@ UpdateVersionNumber()
fi fi
} }
EnableBsdSupport()
{
#todo enable sdk with
#SDK_PATH=$(dotnet --list-sdks | grep -P '5\.\d\.\d+' | head -1 | sed 's/\(5\.[0-9]*\.[0-9]*\).*\[\(.*\)\]/\2\/\1/g')
# BUNDLED_VERSIONS="${SDK_PATH}/Microsoft.NETCoreSdk.BundledVersions.props"
if grep -qv freebsd-x64 src/Directory.Build.props; then
sed -i'' -e "s^<RuntimeIdentifiers>\(.*\)</RuntimeIdentifiers>^<RuntimeIdentifiers>\1;freebsd-x64</RuntimeIdentifiers>^g" src/Directory.Build.props
sed -i'' -e "s^<ExcludedRuntimeFrameworkPairs>\(.*\)</ExcludedRuntimeFrameworkPairs>^<ExcludedRuntimeFrameworkPairs>\1;freebsd-x64:net472</ExcludedRuntimeFrameworkPairs>^g" src/Directory.Build.props
fi
}
LintUI() LintUI()
{ {
ProgressStart 'ESLint' ProgressStart 'ESLint'
@ -212,7 +224,7 @@ Package()
IFS='-' read -ra SPLIT <<< "$runtime" IFS='-' read -ra SPLIT <<< "$runtime"
case "${SPLIT[0]}" in case "${SPLIT[0]}" in
linux) linux|freebsd*)
PackageLinux "$framework" "$runtime" PackageLinux "$framework" "$runtime"
;; ;;
win) win)
@ -257,6 +269,7 @@ if [ $# -eq 0 ]; then
FRONTEND=YES FRONTEND=YES
PACKAGES=YES PACKAGES=YES
LINT=YES LINT=YES
ENABLE_BSD=NO
fi fi
while [[ $# -gt 0 ]] while [[ $# -gt 0 ]]
@ -268,6 +281,10 @@ case $key in
BACKEND=YES BACKEND=YES
shift # past argument shift # past argument
;; ;;
--enable-bsd)
ENABLE_BSD=YES
shift # past argument
;;
-r|--runtime) -r|--runtime)
RID="$2" RID="$2"
shift # past argument shift # past argument
@ -308,6 +325,10 @@ set -- "${POSITIONAL[@]}" # restore positional parameters
if [ "$BACKEND" = "YES" ]; if [ "$BACKEND" = "YES" ];
then then
UpdateVersionNumber UpdateVersionNumber
if [ "$ENABLE_BSD" = "YES" ];
then
EnableBsdSupport
fi
Build Build
if [[ -z "$RID" || -z "$FRAMEWORK" ]]; if [[ -z "$RID" || -z "$FRAMEWORK" ]];
then then
@ -317,6 +338,10 @@ then
PackageTests "net5.0" "linux-musl-x64" PackageTests "net5.0" "linux-musl-x64"
PackageTests "net5.0" "osx-x64" PackageTests "net5.0" "osx-x64"
PackageTests "net472" "linux-x64" PackageTests "net472" "linux-x64"
if [ "$ENABLE_BSD" = "YES" ];
then
PackageTests "net5.0" "freebsd-x64"
fi
else else
PackageTests "$FRAMEWORK" "$RID" PackageTests "$FRAMEWORK" "$RID"
fi fi
@ -353,6 +378,10 @@ then
Package "net5.0" "linux-arm" Package "net5.0" "linux-arm"
Package "net5.0" "osx-x64" Package "net5.0" "osx-x64"
Package "net472" "linux-x64" Package "net472" "linux-x64"
if [ "$ENABLE_BSD" = "YES" ];
then
Package "net5.0" "freebsd-x64"
fi
else else
Package "$FRAMEWORK" "$RID" Package "$FRAMEWORK" "$RID"
fi fi

View File

@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<packageSources> <packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> <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="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" />
<add key="FluentMigrator" value="https://www.myget.org/F/fluent-migrator/api/v3/index.json" /> <add key="FluentMigrator" value="https://www.myget.org/F/fluent-migrator/api/v3/index.json" />
<add key="NUnit" value="https://www.myget.org/F/nunit/api/v3/index.json" />
</packageSources> </packageSources>
</configuration> </configuration>

View File

@ -25,11 +25,11 @@ namespace NzbDrone.Core.Test.UpdateTests
} }
[Test] [Test]
[Platform(Exclude = "NetCore")]
public void finds_update_when_version_lower() public void finds_update_when_version_lower()
{ {
NotBsd();
UseRealHttp(); UseRealHttp();
Subject.GetLatestUpdate("develop", new Version(0, 2)).Should().NotBeNull(); Subject.GetLatestUpdate("develop", new Version(3, 0)).Should().NotBeNull();
} }
[Test] [Test]
@ -43,9 +43,11 @@ namespace NzbDrone.Core.Test.UpdateTests
[Test] [Test]
public void should_get_recent_updates() public void should_get_recent_updates()
{ {
NotBsd();
const string branch = "nightly"; const string branch = "nightly";
UseRealHttp(); UseRealHttp();
var recent = Subject.GetRecentUpdates(branch, new Version(2, 0), null); var recent = Subject.GetRecentUpdates(branch, new Version(3, 0), null);
var recentWithChanges = recent.Where(c => c.Changes != null); var recentWithChanges = recent.Where(c => c.Changes != null);
recent.Should().NotBeEmpty(); recent.Should().NotBeEmpty();

View File

@ -8,6 +8,7 @@ using Mono.Unix.Native;
using Moq; using Moq;
using NUnit.Framework; using NUnit.Framework;
using NzbDrone.Common.Disk; using NzbDrone.Common.Disk;
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Test.DiskTests; using NzbDrone.Common.Test.DiskTests;
using NzbDrone.Mono.Disk; using NzbDrone.Mono.Disk;
@ -80,7 +81,11 @@ namespace NzbDrone.Mono.Test.DiskProviderTests
if (stat.st_mode != mode) if (stat.st_mode != mode)
{ {
Syscall.chmod(path, mode); if (Syscall.chmod(path, mode) < 0)
{
var error = Stdlib.GetLastError();
throw new LinuxPermissionsException("Error setting group: " + error);
}
} }
} }
@ -221,9 +226,13 @@ namespace NzbDrone.Mono.Test.DiskProviderTests
Syscall.stat(tempFile, out fileStat); Syscall.stat(tempFile, out fileStat);
NativeConvert.ToOctalPermissionString(fileStat.st_mode).Should().Be("0644"); NativeConvert.ToOctalPermissionString(fileStat.st_mode).Should().Be("0644");
Subject.SetPermissions(tempFile, "1775", null); if (OsInfo.Os != Os.Bsd)
Syscall.stat(tempFile, out fileStat); {
NativeConvert.ToOctalPermissionString(fileStat.st_mode).Should().Be("1664"); // This is not allowed on BSD
Subject.SetPermissions(tempFile, "1775", null);
Syscall.stat(tempFile, out fileStat);
NativeConvert.ToOctalPermissionString(fileStat.st_mode).Should().Be("1664");
}
} }
[Test] [Test]

View File

@ -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();
}
}
}

View File

@ -14,6 +14,8 @@ namespace NzbDrone.Mono.Test.EnvironmentInfo
[SetUp] [SetUp]
public void Setup() public void Setup()
{ {
NotBsd();
Mocker.SetConstant<IDiskProvider>(Mocker.Resolve<DiskProvider>()); Mocker.SetConstant<IDiskProvider>(Mocker.Resolve<DiskProvider>());
} }

View File

@ -19,6 +19,8 @@ namespace NzbDrone.Mono.Test.EnvironmentInfo.VersionAdapters
[Platform("Linux")] [Platform("Linux")]
public void should_get_version_info_from_actual_linux() public void should_get_version_info_from_actual_linux()
{ {
NotBsd();
Mocker.SetConstant<IDiskProvider>(Mocker.Resolve<DiskProvider>()); Mocker.SetConstant<IDiskProvider>(Mocker.Resolve<DiskProvider>());
var info = Subject.Read(); var info = Subject.Read();
info.FullName.Should().NotBeNullOrWhiteSpace(); info.FullName.Should().NotBeNullOrWhiteSpace();

View File

@ -10,7 +10,7 @@
See https://github.com/xamarin/XamarinComponents/issues/282 See https://github.com/xamarin/XamarinComponents/issues/282
--> -->
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'"> <ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
<PackageReference Include="Mono.Posix.NETStandard" Version="5.20.1-preview" /> <PackageReference Include="Mono.Posix.NETStandard" Version="5.20.1-servarr1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\NzbDrone.Common.Test\Radarr.Common.Test.csproj" /> <ProjectReference Include="..\NzbDrone.Common.Test\Radarr.Common.Test.csproj" />

View File

@ -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;
}
}

View File

@ -10,7 +10,7 @@
See https://github.com/xamarin/XamarinComponents/issues/282 See https://github.com/xamarin/XamarinComponents/issues/282
--> -->
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'"> <ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">
<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" /> <PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -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() protected void WithTempAsAppPath()
{ {
Mocker.GetMock<IAppFolderInfo>() Mocker.GetMock<IAppFolderInfo>()

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap os="osx" dll="mediainfo" target="libmediainfo.dylib"/>
<dllmap os="linux" dll="mediainfo" target="libmediainfo.so.0" />
<dllmap os="freebsd" dll="mediainfo" target="libmediainfo.so.0" />
<dllmap os="solaris" dll="mediainfo" target="libmediainfo.so.0.0.0" />
</configuration>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dllmap os="osx" dll="mediainfo" target="libmediainfo.dylib"/>
<dllmap os="linux" dll="mediainfo" target="libmediainfo.so.0" />
<dllmap os="freebsd" dll="mediainfo" target="libmediainfo.so.0" />
<dllmap os="solaris" dll="mediainfo" target="libmediainfo.so.0.0.0" />
</configuration>