diff --git a/BasicTests/DebugEndpointTests.cs b/BasicTests/DebugEndpointTests.cs index 1f16f44..24cc22c 100644 --- a/BasicTests/DebugEndpointTests.cs +++ b/BasicTests/DebugEndpointTests.cs @@ -53,9 +53,6 @@ namespace CodexDistTests.BasicTests // var downloadedFile = secondary.DownloadContent(contentId); // testFile.AssertIsEqual(downloadedFile); - - // // Test files are automatically deleted. - // // Online nodes are automatically destroyed. //} } } diff --git a/TestCore/DistTest.cs b/TestCore/DistTest.cs index 70d60d7..5cd9348 100644 --- a/TestCore/DistTest.cs +++ b/TestCore/DistTest.cs @@ -10,15 +10,30 @@ namespace CodexDistTests.TestCore [SetUp] public void SetUpDistTest() { - fileManager = new FileManager(); - k8sManager = new K8sManager(fileManager); + if (GlobalTestFailure.HasFailed) + { + Assert.Inconclusive("Skip test: Previous test failed during clean up."); + } + else + { + fileManager = new FileManager(); + k8sManager = new K8sManager(fileManager); + } } [TearDown] public void TearDownDistTest() { - k8sManager.DeleteAllResources(); - fileManager.DeleteAllTestFiles(); + try + { + k8sManager.DeleteAllResources(); + fileManager.DeleteAllTestFiles(); + } + catch (Exception ex) + { + Console.WriteLine("Cleanup has failed." + ex.Message); + GlobalTestFailure.HasFailed = true; + } } public TestFile GenerateTestFile(int size = 1024) @@ -31,4 +46,9 @@ namespace CodexDistTests.TestCore return new OfflineCodexNode(k8sManager); } } + + public static class GlobalTestFailure + { + public static bool HasFailed { get; set; } = false; + } } diff --git a/TestCore/K8sManager.cs b/TestCore/K8sManager.cs index c8f4b7f..238d9ae 100644 --- a/TestCore/K8sManager.cs +++ b/TestCore/K8sManager.cs @@ -257,7 +257,7 @@ namespace CodexDistTests.TestCore private void DeleteNamespace(Kubernetes client) { if (activeNamespace == null) return; - client.DeleteNamespace(activeNamespace.Name()); + client.DeleteNamespace(activeNamespace.Name(), null, null, gracePeriodSeconds: 0); activeNamespace = null; }