Added option to register custom backends for testing
This commit is contained in:
@@ -183,5 +183,14 @@ namespace Duplicati.Library.DynamicLoader
|
||||
return _backendLoader.GetBackend(url, options);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Adds a backend to the loader
|
||||
/// </summary>
|
||||
/// <param name="backend">The backend to add</param>
|
||||
public static void AddBackend(IBackend backend)
|
||||
{
|
||||
_backendLoader.AddModule(backend);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,5 +233,16 @@ namespace Duplicati.Library.DynamicLoader
|
||||
return m_supportedCommands[type] = item.SupportedCommands.ToList().AsReadOnly();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Helper method to register a module
|
||||
/// </summary>
|
||||
/// <param name="module">The module to register</param>
|
||||
public void AddModule(T module)
|
||||
{
|
||||
LoadInterfaces();
|
||||
lock (m_lock)
|
||||
m_interfaces[GetInterfaceKey(module)] = module;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,6 +147,7 @@ namespace Duplicati.UnitTest
|
||||
var u = new Library.Utility.Uri(TestUtils.GetDefaultTarget());
|
||||
RandomErrorBackend.WrappedBackend = u.Scheme;
|
||||
var target = u.SetScheme(new RandomErrorBackend().ProtocolKey).ToString();
|
||||
Library.DynamicLoader.BackendLoader.AddBackend(new RandomErrorBackend());
|
||||
|
||||
SVNCheckoutTest.RunTest(TestFolders.Take(5).ToArray(), TestOptions, target);
|
||||
}
|
||||
@@ -158,6 +159,7 @@ namespace Duplicati.UnitTest
|
||||
var u = new Library.Utility.Uri(TestUtils.GetDefaultTarget());
|
||||
SizeOmittingBackend.WrappedBackend = u.Scheme;
|
||||
var target = u.SetScheme(new SizeOmittingBackend().ProtocolKey).ToString();
|
||||
Library.DynamicLoader.BackendLoader.AddBackend(new SizeOmittingBackend());
|
||||
|
||||
SVNCheckoutTest.RunTest(TestFolders.Take(5).ToArray(), TestOptions, target);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user