diff --git a/CHANGELOG.md b/CHANGELOG.md index 03f270fac1..bd38be659e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ All notable changes to this project will be documented in this file. - [Netkan] Handle multiple game versions from Curse (#2616 by: HebaruSan; reviewed: politas) - [GUI] Fix UpdateModsList crash on Mono (#2625 by: HebaruSan; reviewed: politas) - [GUI] Fix System.ObjectDisposedException for TransparentTextBox (#2619 by: DasSkelett; reviewed: HebaruSan) +- [Build] Dispose caches in tests (#2628 by: HebaruSan; reviewed: politas) ## v1.25.4 Kennedy diff --git a/Tests/Core/Cache.cs b/Tests/Core/Cache.cs index 6c0f5b7bfe..bb4860fce4 100644 --- a/Tests/Core/Cache.cs +++ b/Tests/Core/Cache.cs @@ -26,6 +26,10 @@ public void MakeCache() [TearDown] public void RemoveCache() { + cache.Dispose(); + cache = null; + module_cache.Dispose(); + module_cache = null; Directory.Delete(cache_dir, true); } diff --git a/Tests/NetKAN/Sources/Curse/CurseApiTests.cs b/Tests/NetKAN/Sources/Curse/CurseApiTests.cs index 619864683f..c9c96162b0 100644 --- a/Tests/NetKAN/Sources/Curse/CurseApiTests.cs +++ b/Tests/NetKAN/Sources/Curse/CurseApiTests.cs @@ -28,6 +28,8 @@ public void TestFixtureSetup() [OneTimeTearDown] public void TestFixtureTearDown() { + _cache.Dispose(); + _cache = null; Directory.Delete(_cachePath, recursive: true); } diff --git a/Tests/NetKAN/Sources/Github/GithubApiTests.cs b/Tests/NetKAN/Sources/Github/GithubApiTests.cs index 789d0f5750..dd58e84240 100644 --- a/Tests/NetKAN/Sources/Github/GithubApiTests.cs +++ b/Tests/NetKAN/Sources/Github/GithubApiTests.cs @@ -30,6 +30,8 @@ public void TestFixtureSetup() [OneTimeTearDown] public void TestFixtureTearDown() { + _cache.Dispose(); + _cache = null; Directory.Delete(_cachePath, recursive: true); } diff --git a/Tests/NetKAN/Sources/Jenkins/JenkinsApiTests.cs b/Tests/NetKAN/Sources/Jenkins/JenkinsApiTests.cs index 934717a329..df4fb5b30d 100644 --- a/Tests/NetKAN/Sources/Jenkins/JenkinsApiTests.cs +++ b/Tests/NetKAN/Sources/Jenkins/JenkinsApiTests.cs @@ -7,17 +7,17 @@ namespace Tests.NetKAN.Sources.Jenkins { - [TestFixture] - public sealed class JenkinsApiTests - { - [OneTimeSetUp] + [TestFixture] + public sealed class JenkinsApiTests + { + [OneTimeSetUp] public void TestFixtureSetup() { _cachePath = Path.Combine( - Path.GetTempPath(), - "CKAN", - Guid.NewGuid().ToString("N") - ); + Path.GetTempPath(), + "CKAN", + Guid.NewGuid().ToString("N") + ); Directory.CreateDirectory(_cachePath); _cache = new NetFileCache(_cachePath); } @@ -25,30 +25,32 @@ public void TestFixtureSetup() [OneTimeTearDown] public void TestFixtureTearDown() { + _cache.Dispose(); + _cache = null; Directory.Delete(_cachePath, recursive: true); } - [Test] - [Category("FlakyNetwork")] - [Category("Online")] - public void GetLatestBuild_ModuleManager_Works() - { - // Arrange + [Test] + [Category("FlakyNetwork")] + [Category("Online")] + public void GetLatestBuild_ModuleManager_Works() + { + // Arrange IJenkinsApi sut = new JenkinsApi(new CachingHttpService(_cache)); // Act - JenkinsBuild build = sut.GetLatestBuild( - new JenkinsRef("#/ckan/jenkins/https://ksp.sarbian.com/jenkins/job/ModuleManager/"), - new JenkinsOptions() - ); + JenkinsBuild build = sut.GetLatestBuild( + new JenkinsRef("#/ckan/jenkins/https://ksp.sarbian.com/jenkins/job/ModuleManager/"), + new JenkinsOptions() + ); // Assert Assert.IsNotNull(build.Url); Assert.IsNotNull(build.Artifacts); - } + } private string _cachePath; private NetFileCache _cache; - } + } } diff --git a/Tests/NetKAN/Sources/Spacedock/SpacedockApiTests.cs b/Tests/NetKAN/Sources/Spacedock/SpacedockApiTests.cs index 66895c9c73..e80d41d179 100644 --- a/Tests/NetKAN/Sources/Spacedock/SpacedockApiTests.cs +++ b/Tests/NetKAN/Sources/Spacedock/SpacedockApiTests.cs @@ -28,6 +28,8 @@ public void TestFixtureSetup() [OneTimeTearDown] public void TestFixtureTearDown() { + _cache.Dispose(); + _cache = null; Directory.Delete(_cachePath, recursive: true); }