Fixed: Regression causing updater to fail and added measure to restore bad update
This commit is contained in:
parent
a7ca139e13
commit
8502f523e6
|
@ -661,6 +661,23 @@ namespace NzbDrone.Common.Test.DiskTests
|
||||||
VerifyCopyFolder(original.FullName, destination.FullName);
|
VerifyCopyFolder(original.FullName, destination.FullName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void MirrorFolder_should_handle_trailing_slash()
|
||||||
|
{
|
||||||
|
WithRealDiskProvider();
|
||||||
|
|
||||||
|
var original = GetFilledTempFolder();
|
||||||
|
var source = new DirectoryInfo(GetTempFilePath());
|
||||||
|
var destination = new DirectoryInfo(GetTempFilePath());
|
||||||
|
|
||||||
|
Subject.TransferFolder(original.FullName, source.FullName, TransferMode.Copy);
|
||||||
|
|
||||||
|
var count = Subject.MirrorFolder(source.FullName + Path.DirectorySeparatorChar, destination.FullName);
|
||||||
|
|
||||||
|
count.Should().Equals(3);
|
||||||
|
VerifyCopyFolder(original.FullName, destination.FullName);
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TransferFolder_should_use_movefolder_if_on_same_mount()
|
public void TransferFolder_should_use_movefolder_if_on_same_mount()
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,13 +29,16 @@ namespace NzbDrone.Common.Disk
|
||||||
private string ResolveRealParentPath(string path)
|
private string ResolveRealParentPath(string path)
|
||||||
{
|
{
|
||||||
var parentPath = path.GetParentPath();
|
var parentPath = path.GetParentPath();
|
||||||
if (!_diskProvider.FolderExists(path))
|
if (!_diskProvider.FolderExists(parentPath))
|
||||||
{
|
{
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
parentPath = parentPath.GetActualCasing();
|
var realParentPath = parentPath.GetActualCasing();
|
||||||
return parentPath + Path.DirectorySeparatorChar + Path.GetFileName(path);
|
|
||||||
|
var partialChildPath = path.Substring(parentPath.Length);
|
||||||
|
|
||||||
|
return realParentPath + partialChildPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TransferMode TransferFolder(string sourcePath, string targetPath, TransferMode mode)
|
public TransferMode TransferFolder(string sourcePath, string targetPath, TransferMode mode)
|
||||||
|
|
|
@ -84,6 +84,13 @@ namespace NzbDrone.Update.UpdateEngine
|
||||||
|
|
||||||
Verify(installationFolder, processId);
|
Verify(installationFolder, processId);
|
||||||
|
|
||||||
|
|
||||||
|
if (installationFolder.EndsWith(@"\bin\Sonarr") || installationFolder.EndsWith(@"/bin/Sonarr"))
|
||||||
|
{
|
||||||
|
installationFolder = installationFolder.GetParentPath();
|
||||||
|
_logger.Info("Fixed Installation Folder: {0}", installationFolder);
|
||||||
|
}
|
||||||
|
|
||||||
var appType = _detectApplicationType.GetAppType();
|
var appType = _detectApplicationType.GetAppType();
|
||||||
|
|
||||||
_processProvider.FindProcessByName(ProcessProvider.SONARR_CONSOLE_PROCESS_NAME);
|
_processProvider.FindProcessByName(ProcessProvider.SONARR_CONSOLE_PROCESS_NAME);
|
||||||
|
|
Loading…
Reference in New Issue