Files
mRemoteNG/mRemoteNGTests/TestHelpers/FileTestHelpers.cs
David Sparer 0c6ad58bca made file data provider tests safer for concurrent execution in jenkins
When multiple builds had to run, these tests would sometimes fail due to the file system being a shared resource.
Each test now creates its own random folder and cleans it up after the test runs
2017-11-10 08:03:03 -06:00

39 lines
1.2 KiB
C#

using System.IO;
namespace mRemoteNGTests.TestHelpers
{
public class FileTestHelpers
{
public static void DeleteTestFile(string path)
{
if (File.Exists(path))
File.Delete(path);
}
public static void DeleteFilesInDirectory(string directory, string fileMatching)
{
var filesToDelete = Directory.GetFiles(directory, fileMatching, SearchOption.TopDirectoryOnly);
foreach (var file in filesToDelete)
if (File.Exists(file))
File.Delete(file);
}
public static string NewTempFilePath()
{
var newPath = Path.Combine(GetTestSpecificTempDirectory(), Path.GetRandomFileName());
var folderPath = Path.GetDirectoryName(newPath);
if (!Directory.Exists(folderPath))
Directory.CreateDirectory(folderPath);
return newPath;
}
/// <summary>
/// Gets a testing directory that should be unique for a
/// particular mRemoteNG test.
/// </summary>
public static string GetTestSpecificTempDirectory()
{
return Path.Combine(Path.GetTempPath(), "mRemoteNGTests", Path.GetRandomFileName());
}
}
}