public IntegrationTestBase(ITestOutputHelper testOutputHelper) { TestOutputHelper = testOutputHelper; TestName = ((ITest)testOutputHelper.GetType() .GetField("test", BindingFlags.NonPublic | BindingFlags.Instance).NotNull() .GetValue(testOutputHelper)).TestCase.TestMethod.Method.Name; FileSystemTasks.EnsureCleanDirectory(".tmp"); TestOutputDirectory = (AbsolutePath)Path.GetFullPath(".tmp"); Directory.CreateDirectory(TestOutputDirectory / ".git"); }
protected FileSystemDependentTest(ITestOutputHelper testOutputHelper) { TestOutputHelper = testOutputHelper; TestName = ((ITest)testOutputHelper.GetType() .GetField("test", BindingFlags.NonPublic | BindingFlags.Instance).NotNull() .GetValue(testOutputHelper)).TestCase.TestMethod.Method.Name; ExecutionDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location).NotNull(); RootDirectory = FileSystemTasks.FindParentDirectory(ExecutionDirectory, x => x.GetFiles(".nuke").Any()); TestProjectDirectory = FileSystemTasks.FindParentDirectory(ExecutionDirectory, x => x.GetFiles("*.csproj").Any()); TestTempDirectory = Path.Combine(ExecutionDirectory, "temp", $"{GetType().Name}.{TestName}"); FileSystemTasks.EnsureCleanDirectory(TestTempDirectory); }
private static void SafeDeleteDirectory(AbsolutePath directory) { FileSystemTasks.EnsureCleanDirectory(directory); FileSystemTasks.DeleteDirectory(directory); }