mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Fixes for the DiskSlabAllocator.cs, ListValidator.cs, and the constantly breaking URL test.
This commit is contained in:
parent
c3b11e788e
commit
7bc1bcb861
@ -23,7 +23,7 @@ namespace Wabbajack.Common
|
||||
{
|
||||
_file = new TempFile();
|
||||
_fileStream = _file.File.Open(FileMode.Create, FileAccess.ReadWrite);
|
||||
_size = size;
|
||||
_size = Math.Max(size, 1024);
|
||||
_mmap = MemoryMappedFile.CreateFromFile(_fileStream, null, size, MemoryMappedFileAccess.ReadWrite, HandleInheritability.None, false);
|
||||
}
|
||||
|
||||
|
@ -261,6 +261,7 @@ namespace Wabbajack.Lib
|
||||
foreach (var bsa in bsas)
|
||||
{
|
||||
Status($"Building {bsa.To}");
|
||||
Info($"Building {bsa.To}");
|
||||
var sourceDir = OutputFolder.Combine(Consts.BSACreationDir, bsa.TempID);
|
||||
|
||||
var bsaSize = bsa.FileStates.Select(state => sourceDir.Combine(state.Path).Size).Sum();
|
||||
|
@ -167,6 +167,7 @@ namespace Wabbajack.BuildServer.Controllers
|
||||
if (string.IsNullOrWhiteSpace(itm.Archive.Name))
|
||||
itm.Archive.Name = itm.Archive.State.PrimaryKeyString;
|
||||
});
|
||||
results.Archives = results.Archives.OrderBy(a => a.Name).ToList();
|
||||
return results;
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,9 @@ namespace Wabbajack.BuildServer.Controllers
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// ignore
|
||||
_logger.LogInformation(
|
||||
$"Refusing to upgrade ({request.OldArchive.State.PrimaryKeyString}), due to upgrade failure");
|
||||
return NotFound("File is Valid");
|
||||
}
|
||||
|
||||
var oldDownload = await _sql.GetOrEnqueueArchive(request.OldArchive);
|
||||
|
@ -164,15 +164,7 @@ namespace Wabbajack.Server.DataLayer
|
||||
@"SELECT p.SrcId, p.DestId, p.PatchSize, p.Finished, p.IsFailed, p.FailMessage
|
||||
FROM dbo.Patches p
|
||||
LEFT JOIN dbo.ArchiveDownloads a ON p.SrcId = a.Id
|
||||
LEFT JOIN dbo.ModListArchives m ON m.PrimaryKeyString = a.PrimaryKeyString AND m.Hash = a.Hash
|
||||
WHERE m.PrimaryKeyString is null
|
||||
UNION
|
||||
SELECT p.SrcId, p.DestId, p.PatchSize, p.Finished, p.IsFailed, p.FailMessage
|
||||
FROM dbo.Patches p
|
||||
LEFT JOIN dbo.ArchiveDownloads a ON p.SrcId = a.Id
|
||||
LEFT JOIN dbo.ModListArchives m ON m.PrimaryKeyString = a.PrimaryKeyString AND m.Hash = a.Hash
|
||||
WHERE m.PrimaryKeyString is not null
|
||||
AND (p.LastUsed < DATEADD(d, -7, getutcdate()) OR p.LastUsed is null and p.Finished < DATEADD(d, -7, getutcdate()))");
|
||||
WHERE a.Hash not in (SELECT Hash FROM dbo.ModListArchives)");
|
||||
|
||||
return await AsPatches(patches);
|
||||
}
|
||||
|
@ -210,6 +210,8 @@ namespace Wabbajack.Server.Services
|
||||
return (archive, ArchiveStatus.Valid);
|
||||
case ModDBDownloader.State _:
|
||||
return (archive, ArchiveStatus.Valid);
|
||||
case MediaFireDownloader.State _:
|
||||
return (archive, ArchiveStatus.Valid);
|
||||
default:
|
||||
{
|
||||
if (data.ArchiveStatus.TryGetValue((archive.State.PrimaryKeyString, archive.Hash),
|
||||
|
@ -16,20 +16,6 @@ namespace Wabbajack.Test
|
||||
var modlists = await ModlistMetadata.LoadFromGithub();
|
||||
Assert.True(modlists.Count > 0);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task VerifyLogoURLs()
|
||||
{
|
||||
var modlists = await ModlistMetadata.LoadFromGithub();
|
||||
|
||||
foreach (var modlist in modlists.Select(m => m.Links))
|
||||
{
|
||||
var logoState = DownloadDispatcher.ResolveArchive(modlist.ImageUri);
|
||||
Assert.NotNull(logoState);
|
||||
Assert.True(await logoState.Verify(new Archive(state: null){Size = 0}), $"{modlist.ImageUri} is not valid");
|
||||
}
|
||||
}
|
||||
|
||||
public ModlistMetadataTests(ITestOutputHelper output) : base(output)
|
||||
{
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user