43 lines
1.0 KiB
PowerShell
43 lines
1.0 KiB
PowerShell
$test_rom_file = "bin/m12test.gba"
|
|
$log_file = "bin/test.log"
|
|
$sleep_time = 120
|
|
$failure_text = "FAIL"
|
|
$end_text = "Done!"
|
|
$mgba_name = "mgba-sdl"
|
|
|
|
If ($IsWindows) { $mgba_cmd = "bin/$mgba_name.exe" }
|
|
ElseIf ($IsLinux -or $IsMacOS) { $mgba_cmd = "bin/$mgba_name" }
|
|
|
|
"Building the test ROM..."
|
|
.\build.ps1 -t
|
|
if ($LASTEXITCODE -ne 0) { exit -1 }
|
|
Remove-Item -Path $log_file
|
|
|
|
"Starting the emulator..."
|
|
& $mgba_cmd -l 16 -C logLevel.gba.bios=0 -C logToFile=1 -C logFile=$log_file $test_rom_file &
|
|
if ($LASTEXITCODE -ne 0) { exit -1 }
|
|
|
|
"Sleeping for $sleep_time seconds..."
|
|
Start-Sleep $sleep_time
|
|
|
|
"Closing the emulator..."
|
|
Stop-Process -Name $mgba_name
|
|
if ($LASTEXITCODE -ne 0) { exit -1 }
|
|
|
|
$fails = Select-String -Path $log_file -Pattern $failure_text
|
|
if ($fails.count -ne 0) {
|
|
"Test failures:"
|
|
$fails
|
|
exit -1
|
|
}
|
|
|
|
$end_session = Select-String -Path $log_file -Pattern $end_text
|
|
if ($end_session.count -eq 0) {
|
|
"The tests did not run to completion!"
|
|
exit -1
|
|
}
|
|
|
|
"No failures!"
|
|
|
|
exit 0
|