Il progetto viveva in una cartella senza alcun commit: tutto il lavoro stava
solo sul disco. Trasferito qui, dove esiste una storia e un remoto.
Mancava soltanto build/: i sorgenti erano gia' allineati e identici. Nessun
percorso e' stato toccato — Release.proj usa MSBuildThisFileDirectory e
tasks.json usa ${workspaceFolder}, quindi il trasloco non li riguarda.
- build/Release.proj: verifica, backtest, pacchetto e rilascio in un solo file
MSBuild, senza script. Provato dalla nuova posizione: 287 test verdi,
installatore prodotto, backtest eseguito.
- build/gitea.example.json: url, owner e repo veri; resta da mettere il token
in build/gitea.json, che e' ignorato da git.
- build/sostituiti/: i quattro .ps1 rimpiazzati da Release.proj. Entrano qui
solo per non perderli con la vecchia cartella: da ora sono recuperabili
dalla storia e si possono cancellare.
- .gitignore: gitea.json (contiene una credenziale), i riepiloghi del backtest
e i pacchetti in bin/installer.
Versione 4.12.0 -> 4.13.0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
84 lines
2.8 KiB
PowerShell
84 lines
2.8 KiB
PowerShell
# Rigioca i dossier delle aste concluse e stampa quanto costerebbe ciascun anticipo.
|
|
#
|
|
# powershell -ExecutionPolicy Bypass -File .\backtest.ps1
|
|
# powershell -ExecutionPolicy Bypass -File .\backtest.ps1 -Max 200
|
|
#
|
|
# Il motore punta solo nei cicli che arrivano fino all'anticipo senza che nessun altro
|
|
# abbia puntato: la rigiocata conta quei cicli, quindi dice quante puntate si
|
|
# spenderebbero e quante ne bloccherebbero le strategie.
|
|
#
|
|
# NON dice se avresti vinto: una nostra puntata rimette in gioco l'asta, e la reazione
|
|
# degli avversari non e' registrata da nessuna parte.
|
|
|
|
[CmdletBinding()]
|
|
param(
|
|
# Cartella dei dossier. Vuota = quella in uso dall'applicazione.
|
|
[string] $Cartella = "",
|
|
|
|
# Quanti dossier al massimo (0 = tutti). I file sono grossi: per un giro veloce, 200.
|
|
[int] $Max = 0,
|
|
|
|
# Dove scrivere il riepilogo.
|
|
[string] $Report = ""
|
|
)
|
|
|
|
$ErrorActionPreference = 'Stop'
|
|
Set-Location $PSScriptRoot
|
|
|
|
if (-not $Cartella) {
|
|
# Stessa struttura di Utilities/AppPaths: Dati\Registri\Aste sotto %LocalAppData%.
|
|
$Cartella = Join-Path $env:LOCALAPPDATA "AutoBidder\Dati\Registri\Aste"
|
|
}
|
|
|
|
if (-not (Test-Path $Cartella)) {
|
|
Write-Host "Cartella dei dossier non trovata: $Cartella" -ForegroundColor Red
|
|
Write-Host "Indicala con -Cartella, oppure accendi 'Dossier per ogni asta' nelle Impostazioni." -ForegroundColor Yellow
|
|
exit 1
|
|
}
|
|
|
|
$conteggio = (Get-ChildItem -Path $Cartella -Filter *.jsonl -File | Measure-Object).Count
|
|
if ($conteggio -eq 0) {
|
|
Write-Host "Nessun dossier (*.jsonl) in $Cartella" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
if (-not $Report) {
|
|
$Report = Join-Path $PSScriptRoot "backtest-report.txt"
|
|
}
|
|
|
|
Write-Host "== Rigiocata sui dossier ==" -ForegroundColor Cyan
|
|
Write-Host " cartella : $Cartella"
|
|
Write-Host " dossier : $conteggio$(if ($Max -gt 0) { " (ne verranno letti $Max)" })"
|
|
Write-Host " riepilogo: $Report"
|
|
Write-Host ""
|
|
|
|
$env:AUTOBIDDER_BACKTEST_DIR = $Cartella
|
|
$env:AUTOBIDDER_BACKTEST_MAX = "$Max"
|
|
$env:AUTOBIDDER_BACKTEST_OUT = $Report
|
|
|
|
# L'applicazione potrebbe essere aperta e tenere bloccato AutoBidder.exe: si compila
|
|
# in una cartella a parte, come fa la verifica.
|
|
$out = Join-Path ([System.IO.Path]::GetTempPath()) "AutoBidder.Backtest"
|
|
|
|
& dotnet test Tests\AutoBidder.Tests.csproj --nologo -v q -o $out `
|
|
--filter "FullyQualifiedName~RealDossierBacktest" `
|
|
--logger "console;verbosity=detailed" 2>&1 |
|
|
Where-Object { $_ -notmatch '^\s*$' } |
|
|
ForEach-Object { Write-Host $_ }
|
|
|
|
$esito = $LASTEXITCODE
|
|
|
|
Write-Host ""
|
|
if (Test-Path $Report) {
|
|
Write-Host "== Riepilogo ==" -ForegroundColor Cyan
|
|
Get-Content $Report | ForEach-Object { Write-Host $_ }
|
|
}
|
|
|
|
if ($esito -ne 0) {
|
|
Write-Host "`nLa rigiocata ha trovato dei problemi (vedi sopra)." -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
Write-Host "`nRigiocata completata." -ForegroundColor Green
|
|
exit 0
|