aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-06-15 16:18:45 +0200
committerEgor Tensin <egor@tensin.name>2026-06-15 16:18:45 +0200
commit3ba9bd382c33307d726b71177e6be2252df3f758 (patch)
tree419c37f090df678dada1657ee761269fb8ee9eae /scripts
parenttest.ps1: add a test for nt_namespace (diff)
downloadwindows7-drivers-3ba9bd382c33307d726b71177e6be2252df3f758.tar.gz
windows7-drivers-3ba9bd382c33307d726b71177e6be2252df3f758.zip
move {build,test}.ps1 to km/
Diffstat (limited to 'scripts')
-rw-r--r--scripts/.gitattributes1
-rw-r--r--scripts/build.ps1102
-rw-r--r--scripts/test.ps1149
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