diff --git a/Duplicati/UnitTest/IOTests.cs b/Duplicati/UnitTest/IOTests.cs index 879010828..d51d8d666 100644 --- a/Duplicati/UnitTest/IOTests.cs +++ b/Duplicati/UnitTest/IOTests.cs @@ -66,5 +66,35 @@ namespace Duplicati.UnitTest var filePathRoot = SystemIO.IO_WIN.GetPathRoot(filePath); Assert.AreEqual(root + Util.DirectorySeparatorString, filePathRoot); } + + [Test] + public void TestGetFilesWhenDirectoryDoesNotExist() + { + var pathRoot = Utility.IsClientWindows ? "C:\\" : "/"; + + var longPath = LongPath(pathRoot); + if (SystemIO.IO_OS(Utility.IsClientWindows).DirectoryExists(longPath)) + { + return; + } + + //In particular don't throw PathTooLongException + Assert.Throws(() => SystemIO.IO_OS(Utility.IsClientWindows).GetFiles(longPath)); + } + + [Test] + public void TestGetDirectoriesWhenDirectoryDoesNotExist() + { + var pathRoot = Utility.IsClientWindows ? "C:\\" : "/"; + + var longPath = LongPath(pathRoot); + if (SystemIO.IO_OS(Utility.IsClientWindows).DirectoryExists(longPath)) + { + return; + } + + //In particular don't throw PathTooLongException + Assert.Throws(() => SystemIO.IO_OS(Utility.IsClientWindows).GetDirectories(longPath)); + } } }