[Plugin system] Initialize plugin base in tests.

This commit is contained in:
2023-10-05 16:00:38 +01:00
parent e693238a7c
commit b27d0c1f03
23 changed files with 66 additions and 64 deletions

View File

@@ -21,6 +21,10 @@ public abstract class FilesystemTest(string fileSystemType)
public abstract FileSystemTest[] Tests { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Detect()
{
@@ -40,8 +44,7 @@ public abstract class FilesystemTest(string fileSystemType)
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(testFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(testFile);
Assert.IsNotNull(inputFilter, string.Format(Localization.Filter_0, testFile));
@@ -120,8 +123,7 @@ public abstract class FilesystemTest(string fileSystemType)
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(testFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(testFile);
Assert.IsNotNull(inputFilter, string.Format(Localization.Filter_0, testFile));
@@ -160,8 +162,7 @@ public abstract class FilesystemTest(string fileSystemType)
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(testFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(testFile);
Assert.IsNotNull(inputFilter, string.Format(Localization.Filter_0, testFile));

View File

@@ -43,8 +43,7 @@ public abstract class ReadOnlyFilesystemTest : FilesystemTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(testFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(testFile);
Assert.IsNotNull(inputFilter, string.Format(Localization.Filter_0, testFile));
@@ -183,8 +182,7 @@ public abstract class ReadOnlyFilesystemTest : FilesystemTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(testFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(testFile);
if(ImageFormat.Detect(inputFilter) is not IMediaImage image)
continue;

View File

@@ -20,6 +20,9 @@ public abstract class BlockMediaImageTest : BaseMediaImageTest
const uint SECTORS_TO_READ = 256;
public abstract BlockImageTestExpected[] Tests { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Info()
{
@@ -39,8 +42,7 @@ public abstract class BlockMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IMediaImage;
@@ -90,8 +92,7 @@ public abstract class BlockMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IMediaImage;
@@ -135,7 +136,6 @@ public abstract class BlockMediaImageTest : BaseMediaImageTest
public void Contents()
{
Environment.CurrentDirectory = DataFolder;
PluginBase.Init();
PluginRegister plugins = PluginRegister.Singleton;
Assert.Multiple(() =>
@@ -155,8 +155,7 @@ public abstract class BlockMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IMediaImage;

View File

@@ -27,6 +27,10 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
const uint SECTORS_TO_READ = 256;
public abstract OpticalImageTestExpected[] Tests { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Info()
{
@@ -46,8 +50,7 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IOpticalMediaImage;
@@ -158,8 +161,7 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IOpticalMediaImage;
@@ -199,7 +201,6 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
for(var i = 0; i < track.FileSystems.Length; i++)
{
PluginBase.Init();
PluginRegister plugins = PluginRegister.Singleton;
bool found = plugins.Filesystems.TryGetValue(idPlugins[i], out Type pluginType);
@@ -361,8 +362,7 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
if(!exists)
return;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IOpticalMediaImage;

View File

@@ -4,6 +4,7 @@ using Aaru.Checksums;
using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
using Aaru.Core;
using FluentAssertions;
using FluentAssertions.Execution;
using NUnit.Framework;
@@ -17,6 +18,10 @@ public abstract class TapeMediaImageTest : BaseMediaImageTest
public abstract TapeImageTestExpected[] Tests { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Tape()
{
@@ -36,8 +41,7 @@ public abstract class TapeMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as ITapeImage;
@@ -85,8 +89,7 @@ public abstract class TapeMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IMediaImage;
@@ -136,8 +139,7 @@ public abstract class TapeMediaImageTest : BaseMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(Plugin.GetType()) as IMediaImage;

View File

@@ -28,13 +28,16 @@ public abstract class FsExtractHashIssueTest
protected abstract bool ExpectPartitions { get; }
protected abstract string Namespace { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Test()
{
Environment.CurrentDirectory = DataFolder;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(TestFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(TestFile);
Dictionary<string, string> options = ParsedOptions;
options["debug"] = Debug.ToString();
@@ -46,7 +49,6 @@ public abstract class FsExtractHashIssueTest
if(Encoding != null)
encodingClass = Claunia.Encoding.Encoding.GetEncoding(Encoding);
PluginBase.Init();
PluginRegister plugins = PluginRegister.Singleton;
var imageFormat = ImageFormat.Detect(inputFilter) as IMediaImage;

View File

@@ -22,13 +22,15 @@ public abstract class FsExtractIssueTest
public abstract bool ExpectPartitions { get; }
public abstract string Namespace { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Test()
{
Environment.CurrentDirectory = DataFolder;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(TestFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(TestFile);
Dictionary<string, string> options = ParsedOptions;
options["debug"] = Debug.ToString();
@@ -40,7 +42,6 @@ public abstract class FsExtractIssueTest
if(Encoding != null)
encodingClass = Claunia.Encoding.Encoding.GetEncoding(Encoding);
PluginBase.Init();
PluginRegister plugins = PluginRegister.Singleton;
var imageFormat = ImageFormat.Detect(inputFilter) as IMediaImage;

View File

@@ -16,6 +16,9 @@ public abstract class ImageReadIssueTest
public abstract string DataFolder { get; }
public abstract string TestFile { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Test()
{
@@ -24,8 +27,7 @@ public abstract class ImageReadIssueTest
bool exists = File.Exists(TestFile);
Assert.True(exists, Localization.Test_file_not_found);
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(TestFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(TestFile);
Assert.IsNotNull(inputFilter, Localization.Filter_for_test_file_is_not_detected);

View File

@@ -38,6 +38,9 @@ public abstract class OpticalImageConvertIssueTest
public abstract string Md5 { get; }
public abstract bool UseLong { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Convert()
{
@@ -47,8 +50,7 @@ public abstract class OpticalImageConvertIssueTest
Metadata sidecar = null;
ErrorNumber errno;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(InputPath);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(InputPath);
Assert.IsNotNull(inputFilter, Localization.Cannot_open_specified_file);
@@ -368,10 +370,12 @@ public abstract class OpticalImageConvertIssueTest
if(trackFlags.Count > 0)
{
foreach((byte track, byte flags) in trackFlags)
{
outputOptical.WriteSectorTag(new[]
{
flags
}, track, SectorTagType.CdTrackFlags);
}
}
if(mcn != null)

View File

@@ -18,6 +18,9 @@ public abstract class OpticalImageReadIssueTest
public abstract string DataFolder { get; }
public abstract string TestFile { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Test()
{
@@ -26,8 +29,7 @@ public abstract class OpticalImageReadIssueTest
bool exists = File.Exists(TestFile);
Assert.True(exists, Localization.Test_file_not_found);
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(TestFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(TestFile);
Assert.IsNotNull(inputFilter, Localization.Filter_for_test_file_is_not_detected);

View File

@@ -15,6 +15,9 @@ public abstract class PartitionSchemeTest
public abstract string DataFolder { get; }
public abstract PartitionTest[] Tests { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Test()
{
@@ -33,8 +36,7 @@ public abstract class PartitionSchemeTest
// ReSharper disable once HeuristicUnreachableCode
continue;
var filtersList = new FiltersList();
IFilter inputFilter = filtersList.GetFilter(testFile);
IFilter inputFilter = PluginRegister.Singleton.GetFilter(testFile);
Assert.IsNotNull(inputFilter, string.Format(Localization.Filter_0, testFile));

View File

@@ -8,6 +8,7 @@ using Aaru.CommonTypes;
using Aaru.CommonTypes.Enums;
using Aaru.CommonTypes.Interfaces;
using Aaru.CommonTypes.Structs;
using Aaru.Core;
using Aaru.Core.Media;
using Aaru.Devices;
using FluentAssertions;
@@ -21,6 +22,9 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest
const uint SECTORS_TO_READ = 256;
public abstract OpticalImageTestExpected[] Tests { get; }
[OneTimeSetUp]
public void InitTest() => PluginBase.Init();
[Test]
public void Info()
{
@@ -41,8 +45,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var image = Activator.CreateInstance(InputPlugin.GetType()) as IOpticalMediaImage;
@@ -151,8 +154,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest
if(!exists)
continue;
var filtersList = new FiltersList();
IFilter filter = filtersList.GetFilter(testFile);
IFilter filter = PluginRegister.Singleton.GetFilter(testFile);
filter.Open(testFile);
var inputFormat = Activator.CreateInstance(InputPlugin.GetType()) as IOpticalMediaImage;
@@ -464,10 +466,12 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest
if(trackFlags.Count > 0)
{
foreach((byte track, byte flags) in trackFlags)
{
outputFormat.WriteSectorTag(new[]
{
flags
}, track, SectorTagType.CdTrackFlags);
}
}
if(mcn != null)
@@ -496,8 +500,7 @@ public abstract class WritableOpticalMediaImageTest : BaseWritableMediaImageTest
string.Format(Localization.Error_0_closing_output_image_Contents_are_not_correct,
outputFormat.ErrorMessage));
filtersList = new FiltersList();
filter = filtersList.GetFilter(outputPath);
filter = PluginRegister.Singleton.GetFilter(outputPath);
filter.Open(outputPath);
string tmpFolder = Path.GetDirectoryName(outputPath);