Automatically capture crashdumps for C++ client tests (#7940)

This commit is contained in:
BrennanConroy 2019-02-27 14:20:14 -08:00 коммит произвёл GitHub
Родитель b6216b6101
Коммит a936d77845
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 28 добавлений и 23 удалений

Просмотреть файл

@ -297,6 +297,12 @@ jobs:
beforeBuild:
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
displayName: Setup IISExpress test certificates and schema
- powershell: "& ./.azure/pipelines/tools/SetupTestEnvironment.ps1 Setup signalrclienttests.exe"
displayName: Start AppVerifier
afterBuild:
- powershell: "& ./.azure/pipelines/tools/SetupTestEnvironment.ps1 Shutdown signalrclienttests.exe"
displayName: Stop AppVerifier
condition: always()
artifacts:
- name: Windows_Test_Logs
path: artifacts/logs/

Просмотреть файл

@ -14,4 +14,11 @@ jobs:
agentOs: Windows
jobName: SignalRDailyTests
jobDisplayName: "SignalR Daily Tests"
beforeBuild:
- powershell: "& ./.azure/pipelines/tools/SetupTestEnvironment.ps1 Setup signalrclienttests.exe"
displayName: Start AppVerifier
afterBuild:
- powershell: "& ./.azure/pipelines/tools/SetupTestEnvironment.ps1 Shutdown signalrclienttests.exe"
displayName: Stop AppVerifier
condition: always()

Просмотреть файл

@ -1,14 +1,11 @@
param($Mode)
# TEMP TEMP TEMP
# While doing https://github.com/aspnet/AspNetCore/pull/5705 I accidentally disabled ANCM on CI machines using
# the registy key. Remove it to allow tests to pass
Remove-Item "HKLM:\SOFTWARE\Microsoft\IIS Extensions\IIS AspNetCore Module V2\Parameters" -ErrorAction Ignore;
param(
[string]$Mode,
[string[]]$exes
)
if (!($DumpFolder))
{
$DumpFolder = "$PSScriptRoot\..\..\..\..\artifacts\logs\dumps"
$DumpFolder = "$PSScriptRoot\..\..\..\artifacts\logs\dumps"
}
if (!(Test-Path $DumpFolder))
{
@ -16,17 +13,9 @@ if (!(Test-Path $DumpFolder))
}
$DumpFolder = Resolve-Path $DumpFolder
$LogsFolder = "$PSScriptRoot\..\artifacts\logs"
if (!(Test-Path $LogsFolder))
{
New-Item $LogsFolder -ItemType Directory;
}
$LogsFolder = Resolve-Path $LogsFolder
$werHive = "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting";
$ldHive = "$werHive\LocalDumps";
function Setup-appverif($application)
{
appverif.exe -enable Exceptions Handles Heaps Leak Locks Memory Threadpool TLS SRWLock -for $application
@ -70,7 +59,7 @@ function Shutdown-appverif($application)
function Setup-Dumps()
{
if (!(Test-Path $ldHive ))
if (!(Test-Path $ldHive))
{
New-Item -Path $werHive -Name LocalDumps
}
@ -116,24 +105,27 @@ function Shutdown-Dumps()
if ($Mode -eq "Setup")
{
Setup-appverif w3wp.exe
Setup-appverif iisexpress.exe
foreach ($element in $exes) {
Setup-appverif $element
}
Setup-Dumps;
}
if ($Mode -eq "SetupDumps")
{
Shutdown-appverif w3wp.exe
Shutdown-appverif iisexpress.exe
foreach ($element in $exes) {
Shutdown-appverif $element
}
Setup-Dumps;
}
if ($Mode -eq "Shutdown")
{
Shutdown-appverif w3wp.exe
Shutdown-appverif iisexpress.exe
foreach ($element in $exes) {
Shutdown-appverif $element
}
Shutdown-Dumps;
}