mirror of
				https://github.com/onyx-and-iris/voicemeeter-api-powershell.git
				synced 2025-11-04 14:21:45 +00:00 
			
		
		
		
	Update installation instructions in README. Added logging and log parsing to runall.ps1 Add ignore log files
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PowerShell
		
	
	
	
	
	
Param([String]$tag, [Int]$num=1)
 | 
						|
Import-Module ..\lib\Voicemeeter.psm1
 | 
						|
. ..\lib\base.ps1
 | 
						|
 | 
						|
Function ParseLog {
 | 
						|
    Param([String]$logfile)
 | 
						|
    $summary_file = "_summary.log"
 | 
						|
    if (Test-Path $summary_file) { Clear-Content $summary_file }
 | 
						|
 | 
						|
    $PASSED_PATTERN = "^PassedCount\s+:\s(\d+)"
 | 
						|
    $FAILED_PATTERN = "^FailedCount\s+:\s(\d+)"
 | 
						|
 | 
						|
    $DATA = @{
 | 
						|
        "passed" = 0
 | 
						|
        "failed" = 0
 | 
						|
    }
 | 
						|
 | 
						|
    ForEach ($line in `
 | 
						|
    $(Get-content -Path "${logfile}")) {
 | 
						|
        if ($line -match $PASSED_PATTERN) {
 | 
						|
            $DATA["passed"] += $Matches[1]
 | 
						|
        }
 | 
						|
        elseif ($line -match $FAILED_PATTERN) {
 | 
						|
            $DATA["failed"] += $Matches[1]
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    "=========================`n" + `
 | 
						|
    "$num tests run:`n" + `
 | 
						|
    "=========================" | Tee-Object -FilePath $summary_file -Append
 | 
						|
    $DATA | ForEach-Object { $_ } | Tee-Object -FilePath $summary_file -Append
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
try
 | 
						|
{
 | 
						|
    $vmr = Get-RemotePotato
 | 
						|
 | 
						|
    $logfile = "_results.log"
 | 
						|
    if (Test-Path $logfile) { Clear-Content $logfile }
 | 
						|
 | 
						|
    1..$num | ForEach-Object {
 | 
						|
        "Running test $_ of $num" | Tee-Object -FilePath $logfile -Append
 | 
						|
        Invoke-Pester -Tag $tag -PassThru | Tee-Object -FilePath $logfile -Append
 | 
						|
    }
 | 
						|
 | 
						|
    Parselog -logfile $logfile
 | 
						|
}
 | 
						|
finally
 | 
						|
{
 | 
						|
    $vmr.Logout()
 | 
						|
}
 |