Update SandboxTest.ps1 to use UTF-8 on winget validate manifest (#222296)

This commit is contained in:
Klaus Dandl
2025-02-04 17:43:08 +01:00
committed by GitHub
parent a79a85c3f3
commit 71b9ee5604
+13 -2
View File
@@ -295,8 +295,19 @@ if (!$SkipManifestValidation -and ![String]::IsNullOrWhiteSpace($Manifest)) {
Invoke-CleanExit -ExitCode 3
}
Write-Information "--> Validating Manifest"
$validateCommandOutput = winget.exe validate $Manifest
switch ($LASTEXITCODE) {
$validateCommandOutput =
& {
# Store current output encoding setting
$prevOutEnc = [Console]::OutputEncoding
# Set [Console]::OutputEncoding to UTF-8 since winget uses UTF-8 for output
[Console]::OutputEncoding = $OutputEncoding = [System.Text.Utf8Encoding]::new()
winget.exe validate $Manifest
# Reset the encoding to the previous values
[Console]::OutputEncoding = $prevOutEnc
}
switch ($LASTEXITCODE) {
'-1978335191' {
($validateCommandOutput | Select-Object -Skip 1 -SkipLast 1) | Write-Information # Skip the first line and the empty last line
Write-Error -Category ParserError 'Manifest validation failed' -ErrorAction Continue