mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[Plugin system] Move read-only filesystems to dependency injection.
This commit is contained in:
@@ -282,13 +282,9 @@ public abstract class BlockMediaImageTest : BaseMediaImageTest
|
||||
{
|
||||
string pluginName = idPlugins[j];
|
||||
|
||||
if(!plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out Type pluginType))
|
||||
if(!plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out IReadOnlyFilesystem fs))
|
||||
continue;
|
||||
|
||||
Assert.IsNotNull(pluginType, Localization.Could_not_instantiate_filesystem_plugin);
|
||||
|
||||
var fs = Activator.CreateInstance(pluginType) as IReadOnlyFilesystem;
|
||||
|
||||
Assert.IsNotNull(fs, $"Could not instantiate filesystem {pluginName} in {testFile}");
|
||||
|
||||
ErrorNumber error = fs.Mount(image, partitions[i], null, null, null);
|
||||
|
||||
@@ -202,15 +202,13 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
|
||||
for(var i = 0; i < track.FileSystems.Length; i++)
|
||||
{
|
||||
PluginRegister plugins = PluginRegister.Singleton;
|
||||
bool found = plugins.Filesystems.TryGetValue(idPlugins[i], out Type pluginType);
|
||||
bool found = plugins.Filesystems.TryGetValue(idPlugins[i], out IFilesystem fs);
|
||||
|
||||
// ReSharper disable once ConditionIsAlwaysTrueOrFalse
|
||||
// It is not the case, it changes
|
||||
if(!found)
|
||||
continue;
|
||||
|
||||
var fs = Activator.CreateInstance(pluginType) as IFilesystem;
|
||||
|
||||
Assert.NotNull(fs,
|
||||
string.Format(Localization.Could_not_instantiate_filesystem_for_0,
|
||||
testFile));
|
||||
@@ -248,7 +246,7 @@ public abstract class OpticalMediaImageTest : BaseMediaImageTest
|
||||
Assert.AreEqual(track.FileSystems[i].VolumeSerial, fsMetadata.VolumeSerial,
|
||||
string.Format(Localization.Volume_serial_0, testFile));
|
||||
|
||||
if(Activator.CreateInstance(pluginType) is not IReadOnlyFilesystem rofs)
|
||||
if(fs is not IReadOnlyFilesystem rofs)
|
||||
{
|
||||
if(track.FileSystems[i].Contents != null ||
|
||||
track.FileSystems[i].ContentsJson != null ||
|
||||
|
||||
@@ -124,13 +124,9 @@ public abstract class FsExtractHashIssueTest
|
||||
{
|
||||
string pluginName = idPlugins[j];
|
||||
|
||||
if(!plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out Type pluginType))
|
||||
if(!plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out IReadOnlyFilesystem fs))
|
||||
continue;
|
||||
|
||||
Assert.IsNotNull(pluginType, Localization.Could_not_instantiate_filesystem_plugin);
|
||||
|
||||
var fs = Activator.CreateInstance(pluginType) as IReadOnlyFilesystem;
|
||||
|
||||
Assert.IsNotNull(fs, string.Format(Localization.Could_not_instantiate_filesystem_0, pluginName));
|
||||
|
||||
filesystemFound = true;
|
||||
|
||||
@@ -83,13 +83,9 @@ public abstract class FsExtractIssueTest
|
||||
{
|
||||
foreach(string pluginName in idPlugins)
|
||||
{
|
||||
if(!plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out pluginType))
|
||||
if(!plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out IReadOnlyFilesystem fs))
|
||||
continue;
|
||||
|
||||
Assert.IsNotNull(pluginType, Localization.Could_not_instantiate_filesystem_plugin);
|
||||
|
||||
var fs = Activator.CreateInstance(pluginType) as IReadOnlyFilesystem;
|
||||
|
||||
Assert.IsNotNull(fs, string.Format(Localization.Could_not_instantiate_filesystem_0, pluginName));
|
||||
|
||||
filesystemFound = true;
|
||||
@@ -104,12 +100,7 @@ public abstract class FsExtractIssueTest
|
||||
}
|
||||
else
|
||||
{
|
||||
plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out pluginType);
|
||||
|
||||
if(pluginType is null)
|
||||
continue;
|
||||
|
||||
var fs = Activator.CreateInstance(pluginType) as IReadOnlyFilesystem;
|
||||
plugins.ReadOnlyFilesystems.TryGetValue(idPlugins[0], out IReadOnlyFilesystem fs);
|
||||
|
||||
Assert.IsNotNull(fs, string.Format(Localization.Could_not_instantiate_filesystem_0, fs?.Name));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user