-
Notifications
You must be signed in to change notification settings - Fork 332
/
Copy pathverify-nupkgs.ps1
63 lines (51 loc) · 2.29 KB
/
verify-nupkgs.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Add-Type -AssemblyName System.IO.Compression.FileSystem
function Unzip
{
param([string]$zipfile, [string]$outpath)
Write-VerboseLog "Unzip $zipfile to $outpath."
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
}
function Verify-Nuget-Packages($packageDirectory, $version)
{
Write-Log "Starting Verify-Nuget-Packages."
$expectedNumOfFiles = @{
"Microsoft.CodeCoverage" = 59;
"Microsoft.NET.Test.Sdk" = 27;
"Microsoft.TestPlatform" = 474;
"Microsoft.TestPlatform.Build" = 21;
"Microsoft.TestPlatform.CLI" = 367;
"Microsoft.TestPlatform.Extensions.TrxLogger" = 35;
"Microsoft.TestPlatform.ObjectModel" = 238;
"Microsoft.TestPlatform.AdapterUtilities" = 62;
"Microsoft.TestPlatform.Portable" = 596;
"Microsoft.TestPlatform.TestHost" = 214;
"Microsoft.TestPlatform.TranslationLayer" = 123;
}
$nugetPackages = Get-ChildItem -Filter "*$version*.nupkg" $packageDirectory | % { $_.FullName }
Write-VerboseLog "Unzip NuGet packages."
$unzipNugetPackageDirs = New-Object System.Collections.Generic.List[System.Object]
foreach($nugetPackage in $nugetPackages)
{
$unzipNugetPackageDir = $(Join-Path $packageDirectory $(Get-Item $nugetPackage).BaseName)
$unzipNugetPackageDirs.Add($unzipNugetPackageDir)
if(Test-Path -Path $unzipNugetPackageDir)
{
Remove-Item -Force -Recurse $unzipNugetPackageDir
}
Unzip $nugetPackage $unzipNugetPackageDir
}
Write-VerboseLog "Verify NuGet packages files."
foreach($unzipNugetPackageDir in $unzipNugetPackageDirs)
{
$actualNumOfFiles = (Get-ChildItem -Recurse -File -Path $unzipNugetPackageDir).Count
$versionLen = $TPB_Version.Length + 1 # +1 for dot
$packageKey = (Get-Item $unzipNugetPackageDir).BaseName -replace ".{$versionLen}$"
Write-VerboseLog "verifying package $packageKey."
if( $expectedNumOfFiles[$packageKey] -ne $actualNumOfFiles)
{
Write-Error "Number of files are not equal $unzipNugetPackageDir, expected: $($expectedNumOfFiles[$packageKey]) actual: $actualNumOfFiles"
}
Remove-Item -Force -Recurse $unzipNugetPackageDir | Out-Null
}
Write-Log "Completed Verify-Nuget-Packages."
}