schon/scripts/Windows/test.ps1
fureunoir 42b40627de Features: 1) Introduce CLI utility lessy.py to streamline project management tasks (e.g., install, run, restart, test); 2) Add Unix and Windows script commands for make-messages and compile-messages to improve translation workflow; 3) Include shared utility libraries (utils.sh, utils.ps1) for reusable functions across scripts.
Fixes: 1) Remove obsolete `reboot` scripts for Unix and Windows to prevent redundancy; 2) Update Windows `test.ps1` to handle omitted coverage patterns and improve error feedback.

Extra: 1) Refactor Windows scripts (`make-messages.ps1`, `compile-messages.ps1`, `backup.ps1`) to use shared utilities for better consistency and output formatting; 2) Add spinner-based progress indicators to enhance user experience in interactive environments.
2026-01-04 19:18:27 +03:00

67 lines
2 KiB
PowerShell

param(
[Alias('r')]
[string]$Report = ''
)
Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'
# Load shared utilities
$utilsPath = Join-Path $PSScriptRoot '..\lib\utils.ps1'
. $utilsPath
& .\scripts\Windows\starter.ps1
if ($LASTEXITCODE -ne 0) {
exit $LASTEXITCODE
}
$omitPattern = 'storefront/*,monitoring/*,Dockerfiles/*,*/__init__.py,*/tests/*,*/migrations/*,manage.py,evibes/*'
if (-not $PSBoundParameters.ContainsKey('Report') -or [string]::IsNullOrWhiteSpace($Report)) {
Write-Step "Running tests with coverage..."
Write-Info " → Erasing previous coverage data..."
docker compose exec app uv run coverage erase
if ($LASTEXITCODE -ne 0) {
Write-Error-Custom "Failed to erase coverage data"
exit $LASTEXITCODE
}
Write-Info " → Running tests..."
docker compose exec app uv run coverage run --source='.' --omit=$omitPattern manage.py test
if ($LASTEXITCODE -ne 0) {
Write-Error-Custom "Tests failed"
exit $LASTEXITCODE
}
Write-Info " → Generating coverage report..."
docker compose exec app uv run coverage report -m
exit $LASTEXITCODE
}
switch ($Report.ToLowerInvariant()) {
'xml' {
Write-Step "Generating XML coverage report..."
docker compose exec app uv run coverage xml --omit=$omitPattern
if ($LASTEXITCODE -eq 0) {
Write-Success "XML coverage report generated"
} else {
Write-Error-Custom "Failed to generate XML coverage report"
}
exit $LASTEXITCODE
}
'html' {
Write-Step "Generating HTML coverage report..."
docker compose exec app uv run coverage html --omit=$omitPattern
if ($LASTEXITCODE -eq 0) {
Write-Success "HTML coverage report generated"
} else {
Write-Error-Custom "Failed to generate HTML coverage report"
}
exit $LASTEXITCODE
}
default {
Write-Error-Custom "Invalid -Report/-r value '$Report'. Expected 'xml' or 'html'."
exit 1
}
}