Skip to content

Commit 3f5a425

Browse files
committed
Make dotnet test arguments configurable
1 parent 3c27ec3 commit 3f5a425

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

PowerShellEditorServices.build.ps1

+16-11
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,21 @@ param(
1111

1212
[string]$DefaultModuleRepository = "PSGallery",
1313

14-
[string]$TestFilter = ''
14+
# See: https://docs.microsoft.com/en-us/dotnet/core/testing/selective-unit-tests
15+
[string]$TestFilter = '',
16+
17+
# See: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test
18+
# E.g. use @("--logger", "console;verbosity=detailed") for detailed console output instead
19+
[string[]]$TestArgs = @("--logger", "trx")
1520
)
1621

1722
#Requires -Modules @{ModuleName="InvokeBuild";ModuleVersion="3.2.1"}
1823

24+
$script:dotnetTestArgs = @("test")
25+
$script:dotnetTestArgs += $TestArgs
26+
$script:dotnetTestArgs += if ($TestFilter) { @("--filter", $TestFilter) } else { "" }
27+
$script:dotnetTestArgs += "--framework"
28+
1929
$script:IsNix = $IsLinux -or $IsMacOS
2030
$script:IsRosetta = $IsMacOS -and (sysctl -n sysctl.proc_translated) -eq 1 # Mac M1
2131
$script:BuildInfoPath = [System.IO.Path]::Combine($PSScriptRoot, "src", "PowerShellEditorServices.Hosting", "BuildInfo.cs")
@@ -223,31 +233,26 @@ task Build BinClean,{
223233
exec { & $script:dotnetExe publish -c $Configuration .\src\PowerShellEditorServices.VSCode\PowerShellEditorServices.VSCode.csproj -f $script:NetRuntime.Standard }
224234
}
225235

226-
function DotNetTestFilter {
227-
# Reference https://docs.microsoft.com/en-us/dotnet/core/testing/selective-unit-tests
228-
if ($TestFilter) { @("--filter",$TestFilter) } else { "" }
229-
}
230-
231236
task Test SetupHelpForTests,TestServer,TestE2E
232237

233238
task TestServer TestServerWinPS,TestServerPS7,TestServerPS72
234239

235240
task TestServerWinPS -If (-not $script:IsNix) {
236241
Set-Location .\test\PowerShellEditorServices.Test\
237-
exec { & $script:dotnetExe test --logger trx -f $script:NetRuntime.Desktop (DotNetTestFilter) }
242+
exec { & $script:dotnetExe $script:dotnetTestArgs $script:NetRuntime.Desktop }
238243
}
239244

240245
task TestServerPS7 -If (-not $script:IsRosetta) {
241246
Set-Location .\test\PowerShellEditorServices.Test\
242247
Invoke-WithCreateDefaultHook -NewModulePath $script:PSCoreModulePath {
243-
exec { & $script:dotnetExe test --logger trx -f $script:NetRuntime.PS7 (DotNetTestFilter) }
248+
exec { & $script:dotnetExe $script:dotnetTestArgs $script:NetRuntime.PS7 }
244249
}
245250
}
246251

247252
task TestServerPS72 {
248253
Set-Location .\test\PowerShellEditorServices.Test\
249254
Invoke-WithCreateDefaultHook -NewModulePath $script:PSCoreModulePath {
250-
exec { & $script:dotnetExe test --logger trx -f $script:NetRuntime.PS72 (DotNetTestFilter) }
255+
exec { & $script:dotnetExe $script:dotnetTestArgs $script:NetRuntime.PS72 }
251256
}
252257
}
253258

@@ -256,13 +261,13 @@ task TestE2E {
256261

257262
$env:PWSH_EXE_NAME = if ($IsCoreCLR) { "pwsh" } else { "powershell" }
258263
$NetRuntime = if ($IsRosetta) { $script:NetRuntime.PS72 } else { $script:NetRuntime.PS7 }
259-
exec { & $script:dotnetExe test --logger trx -f $NetRuntime (DotNetTestFilter) }
264+
exec { & $script:dotnetExe $script:dotnetTestArgs $NetRuntime }
260265

261266
# Run E2E tests in ConstrainedLanguage mode.
262267
if (!$script:IsNix) {
263268
try {
264269
[System.Environment]::SetEnvironmentVariable("__PSLockdownPolicy", "0x80000007", [System.EnvironmentVariableTarget]::Machine);
265-
exec { & $script:dotnetExe test --logger trx -f $script:NetRuntime.PS7 (DotNetTestFilter) }
270+
exec { & $script:dotnetExe $script:dotnetTestArgs $script:NetRuntime.PS7 }
266271
} finally {
267272
[System.Environment]::SetEnvironmentVariable("__PSLockdownPolicy", $null, [System.EnvironmentVariableTarget]::Machine);
268273
}

0 commit comments

Comments
 (0)