WabbajackTest.TestUtils calls await on directory deletion

This commit is contained in:
Justin Swanson 2020-04-10 14:33:09 -05:00
parent 18d5f56f52
commit 165b857709
5 changed files with 16 additions and 18 deletions

View File

@ -78,10 +78,8 @@ namespace Wabbajack.Common
using var tr = new StreamReader(stream, Encoding.UTF8, leaveOpen: true);
using var reader = new JsonTextReader(tr);
var ser = JsonSerializer.Create(JsonSettings);
return ser.Deserialize<T>(reader);
return ser.Deserialize<T>(reader)!;
}
private class HashJsonConverter : JsonConverter<Hash>
{

View File

@ -28,7 +28,7 @@ namespace Wabbajack.Test
public override void Dispose()
{
utils.Dispose();
utils.DisposeAsync().AsTask().Wait();
_unsub.Dispose();
base.Dispose();
}

View File

@ -39,6 +39,7 @@ namespace Wabbajack.Test
{
Queue.Dispose();
_unsub.Dispose();
utils.DisposeAsync().AsTask().Wait();
base.Dispose();
}

View File

@ -14,7 +14,7 @@ using Path = Alphaleonis.Win32.Filesystem.Path;
namespace Wabbajack.Test
{
public class TestUtils : IDisposable
public class TestUtils : IAsyncDisposable
{
private static Random _rng = new Random();
public TestUtils()
@ -119,13 +119,14 @@ namespace Wabbajack.Test
return arr;
}
public void Dispose()
public async ValueTask DisposeAsync()
{
var exts = new [] {".md", ".exe"};
WorkingDirectory.Combine(ID).DeleteDirectory();
var exts = new[] { ".md", ".exe" };
await WorkingDirectory.Combine(ID).DeleteDirectory();
Profiles.Do(p =>
{
foreach (var ext in exts) {
foreach (var ext in exts)
{
var path = Path.Combine(Directory.GetCurrentDirectory(), p + ext);
if (File.Exists(path))
File.Delete(path);
@ -246,7 +247,5 @@ namespace Wabbajack.Test
GenerateRandomFileData(fullPath, i);
return fullPath;
}
}
}

View File

@ -56,7 +56,7 @@ namespace Wabbajack.VirtualFileSystem.Test
public async Task ArchiveContentsAreIndexed()
{
await AddFile(ARCHIVE_TEST_TXT, "This is a test");
ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await AddTestRoot();
var absPath = "test.zip".RelativeTo(VFS_TEST_DIR);
@ -78,7 +78,7 @@ namespace Wabbajack.VirtualFileSystem.Test
public async Task DuplicateFileHashes()
{
await AddFile(ARCHIVE_TEST_TXT, "This is a test");
ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await AddFile(TEST_TXT, "This is a test");
await AddTestRoot();
@ -127,7 +127,7 @@ namespace Wabbajack.VirtualFileSystem.Test
public async Task CanStageSimpleArchives()
{
await AddFile(ARCHIVE_TEST_TXT, "This is a test");
ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await AddTestRoot();
var res = new FullPath(TEST_ZIP, new[] {(RelativePath)"test.txt"});
@ -143,12 +143,12 @@ namespace Wabbajack.VirtualFileSystem.Test
public async Task CanStageNestedArchives()
{
await AddFile(ARCHIVE_TEST_TXT, "This is a test");
ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
var inner_dir = @"archive\other\dir".RelativeTo(VFS_TEST_DIR);
inner_dir.CreateDirectory();
TEST_ZIP.MoveTo( @"archive\other\dir\nested.zip".RelativeTo(VFS_TEST_DIR));
ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await ZipUpFolder(ARCHIVE_TEST_TXT.Parent, TEST_ZIP);
await AddTestRoot();
@ -168,10 +168,10 @@ namespace Wabbajack.VirtualFileSystem.Test
await filename.WriteAllTextAsync(text);
}
private static void ZipUpFolder(AbsolutePath folder, AbsolutePath output)
private static async Task ZipUpFolder(AbsolutePath folder, AbsolutePath output)
{
ZipFile.CreateFromDirectory((string)folder, (string)output);
folder.DeleteDirectory();
await folder.DeleteDirectory();
}
}
}