32 lines
1.5 KiB
PowerShell
32 lines
1.5 KiB
PowerShell
$ErrorActionPreference = "Stop"
|
|
$out = Join-Path $env:TEMP "test_ds18b20_copy_delay.exe"
|
|
$test = Join-Path $PSScriptRoot "test_ds18b20_copy_delay.c"
|
|
$core = Join-Path $PSScriptRoot "..\Src\ds18b20.c"
|
|
$inc = Join-Path $PSScriptRoot "..\Inc"
|
|
$gcc = Get-Command gcc -ErrorAction SilentlyContinue
|
|
if ($gcc) {
|
|
& $gcc.Source -std=c99 -Wall -Wextra -Werror -I $inc $test $core -o $out
|
|
} else {
|
|
$vcvars = "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
|
|
if (-not (Test-Path $vcvars)) { throw "Neither gcc nor MSVC was found" }
|
|
$command = "call `"$vcvars`" >nul && pushd `"$env:TEMP`" && cl /nologo /std:c11 /W4 /WX /I `"$inc`" `"$test`" `"$core`" /Fe:`"$out`""
|
|
& cmd.exe /d /c $command
|
|
}
|
|
if ($LASTEXITCODE -ne 0) { throw "DS18B20 regression compilation failed" }
|
|
& $out
|
|
if ($LASTEXITCODE -ne 0) { throw "DS18B20 regression failed" }
|
|
Remove-Item -LiteralPath $out -Force
|
|
|
|
$searchOut = Join-Path $env:TEMP "test_ds18b20_incremental_search.exe"
|
|
$searchTest = Join-Path $PSScriptRoot "test_ds18b20_incremental_search.c"
|
|
if ($gcc) {
|
|
& $gcc.Source -std=c99 -Wall -Wextra -Werror -I $inc $searchTest $core -o $searchOut
|
|
} else {
|
|
$command = "call `"$vcvars`" >nul && pushd `"$env:TEMP`" && cl /nologo /std:c11 /W4 /WX /I `"$inc`" `"$searchTest`" `"$core`" /Fe:`"$searchOut`""
|
|
& cmd.exe /d /c $command
|
|
}
|
|
if ($LASTEXITCODE -ne 0) { throw "DS18B20 incremental search compilation failed" }
|
|
& $searchOut
|
|
if ($LASTEXITCODE -ne 0) { throw "DS18B20 incremental search failed" }
|
|
Remove-Item -LiteralPath $searchOut -Force
|