diff options
| author | Egor Tensin <egor@tensin.name> | 2026-06-15 16:18:45 +0200 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2026-06-15 16:18:45 +0200 |
| commit | 3ba9bd382c33307d726b71177e6be2252df3f758 (patch) | |
| tree | 419c37f090df678dada1657ee761269fb8ee9eae /scripts | |
| parent | test.ps1: add a test for nt_namespace (diff) | |
| download | windows7-drivers-3ba9bd382c33307d726b71177e6be2252df3f758.tar.gz windows7-drivers-3ba9bd382c33307d726b71177e6be2252df3f758.zip | |
move {build,test}.ps1 to km/
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/.gitattributes | 1 | ||||
| -rw-r--r-- | scripts/build.ps1 | 102 | ||||
| -rw-r--r-- | scripts/test.ps1 | 149 |
3 files changed, 0 insertions, 252 deletions
diff --git a/scripts/.gitattributes b/scripts/.gitattributes deleted file mode 100644 index b086bda..0000000 --- a/scripts/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.ps1 text eol=crlf diff --git a/scripts/build.ps1 b/scripts/build.ps1 deleted file mode 100644 index 3cfc554..0000000 --- a/scripts/build.ps1 +++ /dev/null @@ -1,102 +0,0 @@ -param( - [Parameter(Mandatory=$true)] - [string] $InstallDir = $null, - [Parameter(Mandatory=$true)] - [string] $Platform = $null, - [Parameter(Mandatory=$true)] - [string] $Configuration = $null, - [Parameter(Mandatory=$true)] - [string] $WDK = $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\$script:WDK\$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 - } - - New-Item -ItemType Directory -Force $script:InstallDir | Out-Null - $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 deleted file mode 100644 index e933c06..0000000 --- a/scripts/test.ps1 +++ /dev/null @@ -1,149 +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 - ) - - $actual = Exchange-Ints $NewInt - if ($actual -ne $OldInt) { - throw "Expected $OldInt, got: $actual" - } else { - Write-Host "Previous integer: $actual, new integer: $NewInt" - } -} - -function Convert-NTPath { - param( - [Parameter(Mandatory=$true)] - [string] $NTPath - ) - - return Invoke-Exe { convert_nt_path.exe $NTPath } -} - -function Verify-ConvertNTPath { - param( - [Parameter(Mandatory=$true)] - [string] $NTPath, - [Parameter(Mandatory=$true)] - [string] $Expected - ) - - $actual = Convert-NTPath $NTPath - if ($actual -ne $expected) { - throw "Expected $expected, got: $actual" - } - Write-Host "NT path: $NTPath" - Write-Host "DOS path: $actual" -} - -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 - Verify-ConvertNTPath \DosDevices\C:\Windows C:\Windows - - 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 |
