Index: Core/Common/test/Core.Common.TestUtil/DirectoryDisposeHelper.cs =================================================================== diff -u -rc899baf08791f622f518d4cc84ed5a6e27aac4c5 -r221fce7223ba7985cce92634559e36f12595da5f --- Core/Common/test/Core.Common.TestUtil/DirectoryDisposeHelper.cs (.../DirectoryDisposeHelper.cs) (revision c899baf08791f622f518d4cc84ed5a6e27aac4c5) +++ Core/Common/test/Core.Common.TestUtil/DirectoryDisposeHelper.cs (.../DirectoryDisposeHelper.cs) (revision 221fce7223ba7985cce92634559e36f12595da5f) @@ -42,6 +42,7 @@ /// public class DirectoryDisposeHelper : IDisposable { + private const int numberOfAdditionalDeleteAttempts = 3; private readonly string rootPathToTemp; private readonly string fullPath; private bool disposed; @@ -122,7 +123,7 @@ } var attempts = 0; - while (!TryDeleteRootFolder() && attempts < 3) + while (!TryDeleteRootFolder() && attempts < numberOfAdditionalDeleteAttempts) { attempts++; @@ -145,8 +146,10 @@ { return false; } + // Ignore other exceptions } + return true; } Index: Core/Common/test/Core.Common.TestUtil/FileDisposeHelper.cs =================================================================== diff -u -r60e3be16f43b477edc645964439415f9552a9bef -r221fce7223ba7985cce92634559e36f12595da5f --- Core/Common/test/Core.Common.TestUtil/FileDisposeHelper.cs (.../FileDisposeHelper.cs) (revision 60e3be16f43b477edc645964439415f9552a9bef) +++ Core/Common/test/Core.Common.TestUtil/FileDisposeHelper.cs (.../FileDisposeHelper.cs) (revision 221fce7223ba7985cce92634559e36f12595da5f) @@ -42,6 +42,7 @@ /// public class FileDisposeHelper : IDisposable { + private const int numberOfAdditionalDeleteAttempts = 3; private readonly Dictionary filePathStreams; private bool disposed; @@ -115,7 +116,7 @@ filePathStreams[filePathStream.Key] = null; var attempts = 0; - while (!TryDeleteFile(filePathStream.Key) && attempts < 3) + while (!TryDeleteFile(filePathStream.Key) && attempts < numberOfAdditionalDeleteAttempts) { attempts++; @@ -128,6 +129,7 @@ { filePathStreams.Clear(); } + disposed = true; } @@ -137,14 +139,16 @@ { DeleteFile(filePath); } - catch (ArgumentException) + catch (Exception e) { - // ignored + if (e is IOException) + { + return false; + } + + // Ignore other exceptions } - catch (IOException) - { - return false; - } + return true; }