Remove more dead code & missed excl code coverage

This commit is contained in:
Caelan Sayler
2023-12-23 23:44:55 +00:00
parent e77504ae05
commit f3d7b12956
5 changed files with 30 additions and 85 deletions

View File

@@ -38,6 +38,7 @@ namespace Squirrel.Packaging.Windows
} }
} }
[ExcludeFromCodeCoverage]
internal struct WINTRUST_FILE_INFO : IDisposable internal struct WINTRUST_FILE_INFO : IDisposable
{ {
public WINTRUST_FILE_INFO(string fileName, Guid subject) public WINTRUST_FILE_INFO(string fileName, Guid subject)
@@ -135,6 +136,7 @@ namespace Squirrel.Packaging.Windows
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
[ExcludeFromCodeCoverage]
internal struct WINTRUST_DATA : IDisposable internal struct WINTRUST_DATA : IDisposable
{ {
public WINTRUST_DATA(WINTRUST_FILE_INFO fileInfo) public WINTRUST_DATA(WINTRUST_FILE_INFO fileInfo)
@@ -193,6 +195,7 @@ namespace Squirrel.Packaging.Windows
} }
} }
[ExcludeFromCodeCoverage]
internal sealed class UnmanagedPointer : IDisposable internal sealed class UnmanagedPointer : IDisposable
{ {
IntPtr m_ptr; IntPtr m_ptr;

View File

@@ -93,22 +93,3 @@ public class HelperFile
return result.StdOutput; return result.StdOutput;
} }
} }
public class ProcessFailedException : Exception
{
public string Command { get; }
public string StdOutput { get; }
public ProcessFailedException(string command, string stdOutput)
: base($"Command failed:\n{command}\n\nOutput was:\n{stdOutput}")
{
Command = command;
StdOutput = stdOutput;
}
public static void ThrowIfNonZero((int ExitCode, string StdOutput, string Command) result)
{
if (result.ExitCode != 0)
throw new ProcessFailedException(result.Command, result.StdOutput);
}
}

View File

@@ -0,0 +1,23 @@
using System.Diagnostics.CodeAnalysis;
namespace Squirrel.Packaging;
[ExcludeFromCodeCoverage]
public class ProcessFailedException : Exception
{
public string Command { get; }
public string StdOutput { get; }
public ProcessFailedException(string command, string stdOutput)
: base($"Command failed:\n{command}\n\nOutput was:\n{stdOutput}")
{
Command = command;
StdOutput = stdOutput;
}
public static void ThrowIfNonZero((int ExitCode, string StdOutput, string Command) result)
{
if (result.ExitCode != 0)
throw new ProcessFailedException(result.Command, result.StdOutput);
}
}

View File

@@ -23,72 +23,6 @@ namespace Squirrel.Compression
_baseTempDir = baseTempDir ?? Utility.GetDefaultTempBaseDirectory(); _baseTempDir = baseTempDir ?? Utility.GetDefaultTempBaseDirectory();
} }
public string ApplyDeltaPackage(string basePackageZip, string deltaPackageZip, string outputFile, Action<int> progress = null)
{
progress = progress ?? (x => { });
if (deltaPackageZip is null) throw new ArgumentNullException(nameof(deltaPackageZip));
if (String.IsNullOrEmpty(outputFile)) throw new ArgumentNullException(nameof(outputFile));
if (File.Exists(outputFile)) throw new ArgumentException("File already exists", nameof(outputFile));
using (Utility.GetTempDirectory(out var deltaPath, _baseTempDir))
using (Utility.GetTempDirectory(out var workingPath, _baseTempDir)) {
EasyZip.ExtractZipToDirectory(_log, deltaPackageZip, deltaPath);
progress(25);
EasyZip.ExtractZipToDirectory(_log, basePackageZip, workingPath);
progress(50);
var pathsVisited = new List<string>();
var deltaPathRelativePaths = new DirectoryInfo(deltaPath).GetAllFilesRecursively()
.Select(x => x.FullName.Replace(deltaPath + Path.DirectorySeparatorChar, ""))
.ToArray();
// Apply all of the .diff files
deltaPathRelativePaths
.Where(x => x.StartsWith("lib", StringComparison.InvariantCultureIgnoreCase))
.Where(x => !x.EndsWith(".shasum", StringComparison.InvariantCultureIgnoreCase))
.Where(x => !x.EndsWith(".diff", StringComparison.InvariantCultureIgnoreCase) ||
!deltaPathRelativePaths.Contains(x.Replace(".diff", ".bsdiff")))
.ForEach(file => {
pathsVisited.Add(Regex.Replace(file, @"\.(bs)?diff$", "").ToLowerInvariant());
applyDiffToFile(deltaPath, file, workingPath);
});
progress(75);
// Delete all of the files that were in the old package but
// not in the new one.
new DirectoryInfo(workingPath).GetAllFilesRecursively()
.Select(x => x.FullName.Replace(workingPath + Path.DirectorySeparatorChar, "").ToLowerInvariant())
.Where(x => x.StartsWith("lib", StringComparison.InvariantCultureIgnoreCase) && !pathsVisited.Contains(x))
.ForEach(x => {
_log.Info($"{x} was in old package but not in new one, deleting");
File.Delete(Path.Combine(workingPath, x));
});
progress(80);
// Update all the files that aren't in 'lib' with the delta
// package's versions (i.e. the nuspec file, etc etc).
deltaPathRelativePaths
.Where(x => !x.StartsWith("lib", StringComparison.InvariantCultureIgnoreCase))
.ForEach(x => {
_log.Info($"Updating metadata file: {x}");
File.Copy(Path.Combine(deltaPath, x), Path.Combine(workingPath, x), true);
});
_log.Info($"Repacking into full package: {outputFile}");
EasyZip.CreateZipFromDirectory(_log, outputFile, workingPath);
progress(100);
}
return outputFile;
}
public void ApplyDeltaPackageFast(string workingPath, string deltaPackageZip, Action<int> progress = null) public void ApplyDeltaPackageFast(string workingPath, string deltaPackageZip, Action<int> progress = null)
{ {
progress = progress ?? (x => { }); progress = progress ?? (x => { });

View File

@@ -10,4 +10,8 @@
<ProjectReference Include="..\..\src\Squirrel\Squirrel.csproj" /> <ProjectReference Include="..\..\src\Squirrel\Squirrel.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage" />
</ItemGroup>
</Project> </Project>