From f7ef10481f0053da96d1913d0b22869ea584e6b5 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sun, 14 Jun 2026 20:13:01 +0200 Subject: .appveyor/ -> scripts/ --- .appveyor.yml | 4 +- .appveyor/.gitattributes | 1 - .appveyor/build.ps1 | 99 -------------------------------------- .appveyor/test.ps1 | 123 ----------------------------------------------- scripts/.gitattributes | 1 + scripts/build.ps1 | 99 ++++++++++++++++++++++++++++++++++++++ scripts/test.ps1 | 123 +++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 225 insertions(+), 225 deletions(-) delete mode 100644 .appveyor/.gitattributes delete mode 100644 .appveyor/build.ps1 delete mode 100644 .appveyor/test.ps1 create mode 100644 scripts/.gitattributes create mode 100644 scripts/build.ps1 create mode 100644 scripts/test.ps1 diff --git a/.appveyor.yml b/.appveyor.yml index fe7e392..a6dccbd 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -40,7 +40,7 @@ build_script: - '"%python_exe%" -m project.ci.cmake --install' - cd ..\.. - ps: | - .\.appveyor\build.ps1 ` + .\scripts\build.ps1 ` -InstallDir ..\build\install ` -Configuration "$Env:TARGET_OS $Env:CONFIGURATION" ` -Platform $Env:PLATFORM @@ -71,4 +71,4 @@ for: - ps: Start-Sleep -s 10 - appveyor.exe AddMessage "OK" test_script: - - ps: .\.appveyor\test.ps1 -InstallDir ..\build\install + - ps: .\scripts\test.ps1 -InstallDir ..\build\install diff --git a/.appveyor/.gitattributes b/.appveyor/.gitattributes deleted file mode 100644 index b086bda..0000000 --- a/.appveyor/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.ps1 text eol=crlf diff --git a/.appveyor/build.ps1 b/.appveyor/build.ps1 deleted file mode 100644 index a68caad..0000000 --- a/.appveyor/build.ps1 +++ /dev/null @@ -1,99 +0,0 @@ -param( - [Parameter(Mandatory=$true)] - [string] $InstallDir = $null, - [Parameter(Mandatory=$true)] - [string] $Platform = $null, - [Parameter(Mandatory=$true)] - [string] $Configuration = $null -) - -$ErrorActionPreference = "Stop"; -Set-PSDebug -Strict - -function Invoke-Exe { - param( - [ScriptBlock] $Cmd, - [int[]] $AllowedExitCodes = @(0) - ) - - $backupErrorActionPreference = $script:ErrorActionPreference - $script:ErrorActionPreference = 'Continue' - - try { - & $Cmd - if ($AllowedExitCodes -notcontains $LastExitCode) { - throw "External command failed with exit code ${LastExitCode}: $Cmd" - } - } finally { - $script:ErrorActionPreference = $backupErrorActionPreference - } -} - -function Test-AppVeyor { - return Test-Path env:APPVEYOR -} - -function Get-DriverBuildDir { - param( - [Parameter(Mandatory=$true)] - [string] $DriverName - ) - - return "$script:PSScriptRoot\..\km\build\wdk8.1update\$DriverName" -} - -function Get-DriverSolutionPath { - param( - [Parameter(Mandatory=$true)] - [string] $DriverName - ) - - $build_dir = Get-DriverBuildDir -DriverName $DriverName - return "$build_dir\$DriverName.sln" -} - -function Build-Driver { - param( - [Parameter(Mandatory=$true)] - [string] $DriverName - ) - - $build_dir = Get-DriverBuildDir -DriverName $DriverName - $solution_path = Get-DriverSolutionPath -DriverName $DriverName - - $msbuild_params = @() - $msbuild_params += "/p:Platform=$script:Platform" - $msbuild_params += "/p:Configuration=$script:Configuration" - $msbuild_params += "/p:SignMode=TestSign" - $msbuild_params += "/p:OutDir=$InstallDir\lib" - - cd $build_dir - Invoke-Exe { msbuild.exe $msbuild_params $solution_path } -} - -function Build-ProjectKernelMode { - $drivers = 'minimal', 'simple', 'nt_namespace' - - foreach ($driver in $drivers) { - Build-Driver -DriverName $driver - } -} - -function Build-Project { - if (Test-AppVeyor) { - $appveyor_cwd = pwd - } - - $script:InstallDir = (Resolve-Path $script:InstallDir).Path - - try { - Build-ProjectKernelMode - } finally { - if (Test-AppVeyor) { - cd $appveyor_cwd - Set-PSDebug -Off - } - } -} - -Build-Project diff --git a/.appveyor/test.ps1 b/.appveyor/test.ps1 deleted file mode 100644 index fc97e29..0000000 --- a/.appveyor/test.ps1 +++ /dev/null @@ -1,123 +0,0 @@ -param( - [Parameter(Mandatory=$true)] - [string] $InstallDir = $null -) - -$ErrorActionPreference = "Stop"; -Set-PSDebug -Strict - -function Invoke-Exe { - param( - [ScriptBlock] $Cmd, - [int[]] $AllowedExitCodes = @(0) - ) - - $backupErrorActionPreference = $script:ErrorActionPreference - $script:ErrorActionPreference = 'Continue' - - try { - $result = & $Cmd - if ($AllowedExitCodes -notcontains $LastExitCode) { - throw "External command failed with exit code ${LastExitCode}: $Cmd" - } - return $result - } finally { - $script:ErrorActionPreference = $backupErrorActionPreference - } -} - -function Test-AppVeyor { - return Test-Path env:APPVEYOR -} - -function Start-Driver { - param( - [Parameter(Mandatory=$true)] - [string] $InstallDir, - [Parameter(Mandatory=$true)] - [string] $DriverName - ) - - Write-Host "Starting driver $DriverName..." - Invoke-Exe { install_service.exe $DriverName "$InstallDir\lib\$DriverName.sys" } - Invoke-Exe { start_service.exe $DriverName } -} - -function Stop-Driver { - param( - [Parameter(Mandatory=$true)] - [string] $DriverName - ) - - Write-Host "Stopping driver $DriverName..." - Invoke-Exe { stop_service.exe $DriverName } - Invoke-Exe { uninstall_service.exe $DriverName } -} - -function Exchange-Ints { - param( - [Parameter(Mandatory=$true)] - [int] $NewInt - ) - - return Invoke-Exe { exchange_ints.exe $NewInt } -} - -function Verify-ExchangeInts { - param( - [Parameter(Mandatory=$true)] - [int] $NewInt, - [Parameter(Mandatory=$true)] - [int] $OldInt - ) - - $old_int = Invoke-Exe { exchange_ints.exe $NewInt } - if ($old_int -ne $OldInt) { - throw "Expected $OldInt, got: $old_int" - } else { - Write-Host "Previous integer: $old_int, new integer: $NewInt" - } -} - -function Run-ProjectTests { - param( - [Parameter(Mandatory=$true)] - [string] $InstallDir - ) - - $env:PATH = "$InstallDir\bin;${env:PATH}" - - $drivers = 'minimal', 'simple', 'nt_namespace' - - foreach ($driver in $drivers) { - Start-Driver ` - -InstallDir $InstallDir ` - -DriverName $driver - } - - Verify-ExchangeInts -NewInt 69 -OldInt 42 - Verify-ExchangeInts -NewInt 100500 -OldInt 69 - - foreach ($driver in $drivers) { - Stop-Driver -DriverName $driver - } -} - -function Run-ProjectTestsAppVeyor { - if (Test-AppVeyor) { - $appveyor_cwd = pwd - } - - $script:InstallDir = (Resolve-Path $script:InstallDir).Path - - try { - Run-ProjectTests -InstallDir $script:InstallDir - } finally { - if (Test-AppVeyor) { - cd $appveyor_cwd - Set-PSDebug -Off - } - } -} - -Run-ProjectTestsAppVeyor diff --git a/scripts/.gitattributes b/scripts/.gitattributes new file mode 100644 index 0000000..b086bda --- /dev/null +++ b/scripts/.gitattributes @@ -0,0 +1 @@ +*.ps1 text eol=crlf diff --git a/scripts/build.ps1 b/scripts/build.ps1 new file mode 100644 index 0000000..a68caad --- /dev/null +++ b/scripts/build.ps1 @@ -0,0 +1,99 @@ +param( + [Parameter(Mandatory=$true)] + [string] $InstallDir = $null, + [Parameter(Mandatory=$true)] + [string] $Platform = $null, + [Parameter(Mandatory=$true)] + [string] $Configuration = $null +) + +$ErrorActionPreference = "Stop"; +Set-PSDebug -Strict + +function Invoke-Exe { + param( + [ScriptBlock] $Cmd, + [int[]] $AllowedExitCodes = @(0) + ) + + $backupErrorActionPreference = $script:ErrorActionPreference + $script:ErrorActionPreference = 'Continue' + + try { + & $Cmd + if ($AllowedExitCodes -notcontains $LastExitCode) { + throw "External command failed with exit code ${LastExitCode}: $Cmd" + } + } finally { + $script:ErrorActionPreference = $backupErrorActionPreference + } +} + +function Test-AppVeyor { + return Test-Path env:APPVEYOR +} + +function Get-DriverBuildDir { + param( + [Parameter(Mandatory=$true)] + [string] $DriverName + ) + + return "$script:PSScriptRoot\..\km\build\wdk8.1update\$DriverName" +} + +function Get-DriverSolutionPath { + param( + [Parameter(Mandatory=$true)] + [string] $DriverName + ) + + $build_dir = Get-DriverBuildDir -DriverName $DriverName + return "$build_dir\$DriverName.sln" +} + +function Build-Driver { + param( + [Parameter(Mandatory=$true)] + [string] $DriverName + ) + + $build_dir = Get-DriverBuildDir -DriverName $DriverName + $solution_path = Get-DriverSolutionPath -DriverName $DriverName + + $msbuild_params = @() + $msbuild_params += "/p:Platform=$script:Platform" + $msbuild_params += "/p:Configuration=$script:Configuration" + $msbuild_params += "/p:SignMode=TestSign" + $msbuild_params += "/p:OutDir=$InstallDir\lib" + + cd $build_dir + Invoke-Exe { msbuild.exe $msbuild_params $solution_path } +} + +function Build-ProjectKernelMode { + $drivers = 'minimal', 'simple', 'nt_namespace' + + foreach ($driver in $drivers) { + Build-Driver -DriverName $driver + } +} + +function Build-Project { + if (Test-AppVeyor) { + $appveyor_cwd = pwd + } + + $script:InstallDir = (Resolve-Path $script:InstallDir).Path + + try { + Build-ProjectKernelMode + } finally { + if (Test-AppVeyor) { + cd $appveyor_cwd + Set-PSDebug -Off + } + } +} + +Build-Project diff --git a/scripts/test.ps1 b/scripts/test.ps1 new file mode 100644 index 0000000..fc97e29 --- /dev/null +++ b/scripts/test.ps1 @@ -0,0 +1,123 @@ +param( + [Parameter(Mandatory=$true)] + [string] $InstallDir = $null +) + +$ErrorActionPreference = "Stop"; +Set-PSDebug -Strict + +function Invoke-Exe { + param( + [ScriptBlock] $Cmd, + [int[]] $AllowedExitCodes = @(0) + ) + + $backupErrorActionPreference = $script:ErrorActionPreference + $script:ErrorActionPreference = 'Continue' + + try { + $result = & $Cmd + if ($AllowedExitCodes -notcontains $LastExitCode) { + throw "External command failed with exit code ${LastExitCode}: $Cmd" + } + return $result + } finally { + $script:ErrorActionPreference = $backupErrorActionPreference + } +} + +function Test-AppVeyor { + return Test-Path env:APPVEYOR +} + +function Start-Driver { + param( + [Parameter(Mandatory=$true)] + [string] $InstallDir, + [Parameter(Mandatory=$true)] + [string] $DriverName + ) + + Write-Host "Starting driver $DriverName..." + Invoke-Exe { install_service.exe $DriverName "$InstallDir\lib\$DriverName.sys" } + Invoke-Exe { start_service.exe $DriverName } +} + +function Stop-Driver { + param( + [Parameter(Mandatory=$true)] + [string] $DriverName + ) + + Write-Host "Stopping driver $DriverName..." + Invoke-Exe { stop_service.exe $DriverName } + Invoke-Exe { uninstall_service.exe $DriverName } +} + +function Exchange-Ints { + param( + [Parameter(Mandatory=$true)] + [int] $NewInt + ) + + return Invoke-Exe { exchange_ints.exe $NewInt } +} + +function Verify-ExchangeInts { + param( + [Parameter(Mandatory=$true)] + [int] $NewInt, + [Parameter(Mandatory=$true)] + [int] $OldInt + ) + + $old_int = Invoke-Exe { exchange_ints.exe $NewInt } + if ($old_int -ne $OldInt) { + throw "Expected $OldInt, got: $old_int" + } else { + Write-Host "Previous integer: $old_int, new integer: $NewInt" + } +} + +function Run-ProjectTests { + param( + [Parameter(Mandatory=$true)] + [string] $InstallDir + ) + + $env:PATH = "$InstallDir\bin;${env:PATH}" + + $drivers = 'minimal', 'simple', 'nt_namespace' + + foreach ($driver in $drivers) { + Start-Driver ` + -InstallDir $InstallDir ` + -DriverName $driver + } + + Verify-ExchangeInts -NewInt 69 -OldInt 42 + Verify-ExchangeInts -NewInt 100500 -OldInt 69 + + foreach ($driver in $drivers) { + Stop-Driver -DriverName $driver + } +} + +function Run-ProjectTestsAppVeyor { + if (Test-AppVeyor) { + $appveyor_cwd = pwd + } + + $script:InstallDir = (Resolve-Path $script:InstallDir).Path + + try { + Run-ProjectTests -InstallDir $script:InstallDir + } finally { + if (Test-AppVeyor) { + cd $appveyor_cwd + Set-PSDebug -Off + } + } +} + +Run-ProjectTestsAppVeyor -- cgit v1.3