regression tests check for CPU KIL state

This commit is contained in:
JetSetIlly 2023-02-05 14:03:45 +00:00
parent 09c039d778
commit 2d0431bc83
3 changed files with 15 additions and 0 deletions

View file

@ -161,6 +161,11 @@ func (reg *LogRegression) regress(newRegression bool, output io.Writer, msg stri
// run emulation
err = vcs.RunForFrameCount(reg.NumFrames, func(frame int) (govern.State, error) {
// if the CPU is in the KIL state then the test will never end normally
if vcs.CPU.Killed {
return govern.Ending, fmt.Errorf("CPU in KIL state")
}
// display progress meter every 1 second
select {
case <-tck.C:

View file

@ -151,6 +151,11 @@ func (reg *PlaybackRegression) regress(newRegression bool, output io.Writer, msg
// run emulation
err = vcs.Run(func() (govern.State, error) {
// if the CPU is in the KIL state then the test will never end normally
if vcs.CPU.Killed {
return govern.Ending, fmt.Errorf("CPU in KIL state")
}
hasEnded, err := plb.EndFrame()
if err != nil {
return govern.Ending, curated.Errorf("playback: %v", err)

View file

@ -233,6 +233,11 @@ func (reg *VideoRegression) regress(newRegression bool, output io.Writer, msg st
// run emulation
err = vcs.RunForFrameCount(reg.NumFrames, func(frame int) (govern.State, error) {
// if the CPU is in the KIL state then the test will never end normally
if vcs.CPU.Killed {
return govern.Ending, fmt.Errorf("CPU in KIL state")
}
// display progress meter every 1 second
select {
case <-tck.C: