From cc826fdc600d88fc224e69a5a4d47fa5eb6c180d Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 2 Sep 2025 20:21:53 -0400 Subject: [PATCH] Fix all broken tests from previous update --- BinaryObjectScanner.Test/FactoryTests.cs | 2 +- BinaryObjectScanner.Test/FileType/InstallShieldCABTests.cs | 6 ++++-- BinaryObjectScanner.Test/FileType/TapeArchiveTests.cs | 6 ++---- BinaryObjectScanner/FileType/BZip2.cs | 4 ++++ BinaryObjectScanner/FileType/RAR.cs | 4 ++++ BinaryObjectScanner/FileType/SevenZip.cs | 4 ++++ BinaryObjectScanner/FileType/XZ.cs | 4 ++++ 7 files changed, 23 insertions(+), 7 deletions(-) diff --git a/BinaryObjectScanner.Test/FactoryTests.cs b/BinaryObjectScanner.Test/FactoryTests.cs index 65daae96..36e744b5 100644 --- a/BinaryObjectScanner.Test/FactoryTests.cs +++ b/BinaryObjectScanner.Test/FactoryTests.cs @@ -63,7 +63,7 @@ namespace BinaryObjectScanner.Test WrapperType.BZip2, WrapperType.CFB, //WrapperType.CIA, - //WrapperType.Executable, + WrapperType.Executable, WrapperType.GCF, WrapperType.GZip, WrapperType.InstallShieldArchiveV3, diff --git a/BinaryObjectScanner.Test/FileType/InstallShieldCABTests.cs b/BinaryObjectScanner.Test/FileType/InstallShieldCABTests.cs index 3f041878..ff24b30d 100644 --- a/BinaryObjectScanner.Test/FileType/InstallShieldCABTests.cs +++ b/BinaryObjectScanner.Test/FileType/InstallShieldCABTests.cs @@ -26,7 +26,8 @@ namespace BinaryObjectScanner.Test.FileType string outDir = string.Empty; var extractable = new InstallShieldCAB(); - Assert.Throws(() => extractable.Extract(stream, file, outDir, includeDebug: false)); + bool actual = extractable.Extract(stream, file, outDir, includeDebug: false); + Assert.False(actual); } [Fact] @@ -37,7 +38,8 @@ namespace BinaryObjectScanner.Test.FileType string outDir = string.Empty; var extractable = new InstallShieldCAB(); - Assert.Throws(() => extractable.Extract(stream, file, outDir, includeDebug: false)); + bool actual = extractable.Extract(stream, file, outDir, includeDebug: false); + Assert.False(actual); } } } diff --git a/BinaryObjectScanner.Test/FileType/TapeArchiveTests.cs b/BinaryObjectScanner.Test/FileType/TapeArchiveTests.cs index 079af611..4cab953a 100644 --- a/BinaryObjectScanner.Test/FileType/TapeArchiveTests.cs +++ b/BinaryObjectScanner.Test/FileType/TapeArchiveTests.cs @@ -30,7 +30,7 @@ namespace BinaryObjectScanner.Test.FileType } [Fact] - public void ExtractStream_Empty_True() + public void ExtractStream_Empty_False() { Stream? stream = new MemoryStream(); string file = string.Empty; @@ -38,9 +38,7 @@ namespace BinaryObjectScanner.Test.FileType var extractable = new TapeArchive(); bool actual = extractable.Extract(stream, file, outDir, includeDebug: false); - - // Unexpected result -- Empty file recognized as valid in SharpCompress - Assert.True(actual); + Assert.False(actual); } } } diff --git a/BinaryObjectScanner/FileType/BZip2.cs b/BinaryObjectScanner/FileType/BZip2.cs index 014f8c10..60e058f2 100644 --- a/BinaryObjectScanner/FileType/BZip2.cs +++ b/BinaryObjectScanner/FileType/BZip2.cs @@ -21,6 +21,10 @@ namespace BinaryObjectScanner.FileType /// public bool Extract(Stream? stream, string file, string outDir, bool includeDebug) { + // Handle invalid inputs + if (stream == null || stream.Length == 0) + return false; + // Create the wrapper var bzip = SabreTools.Serialization.Wrappers.BZip2.Create(stream); if (bzip == null) diff --git a/BinaryObjectScanner/FileType/RAR.cs b/BinaryObjectScanner/FileType/RAR.cs index 6a297fbf..c7b9f767 100644 --- a/BinaryObjectScanner/FileType/RAR.cs +++ b/BinaryObjectScanner/FileType/RAR.cs @@ -21,6 +21,10 @@ namespace BinaryObjectScanner.FileType /// public bool Extract(Stream? stream, string file, string outDir, bool includeDebug) { + // Handle invalid inputs + if (stream == null || stream.Length == 0) + return false; + // Create the wrapper var rar = SabreTools.Serialization.Wrappers.RAR.Create(stream); if (rar == null) diff --git a/BinaryObjectScanner/FileType/SevenZip.cs b/BinaryObjectScanner/FileType/SevenZip.cs index 52694741..b386ecd1 100644 --- a/BinaryObjectScanner/FileType/SevenZip.cs +++ b/BinaryObjectScanner/FileType/SevenZip.cs @@ -21,6 +21,10 @@ namespace BinaryObjectScanner.FileType /// public bool Extract(Stream? stream, string file, string outDir, bool includeDebug) { + // Handle invalid inputs + if (stream == null || stream.Length == 0) + return false; + // Create the wrapper var sevenZip = SabreTools.Serialization.Wrappers.SevenZip.Create(stream); if (sevenZip == null) diff --git a/BinaryObjectScanner/FileType/XZ.cs b/BinaryObjectScanner/FileType/XZ.cs index 5f0dddd0..5f93f997 100644 --- a/BinaryObjectScanner/FileType/XZ.cs +++ b/BinaryObjectScanner/FileType/XZ.cs @@ -21,6 +21,10 @@ namespace BinaryObjectScanner.FileType /// public bool Extract(Stream? stream, string file, string outDir, bool includeDebug) { + // Handle invalid inputs + if (stream == null || stream.Length == 0) + return false; + // Create the wrapper var xz = SabreTools.Serialization.Wrappers.XZ.Create(stream); if (xz == null)