Added ability to exclude only extended exceptions

This commit is contained in:
transistor 2022-09-13 18:42:49 -07:00
parent a39557e233
commit 96e79329e7
2 changed files with 13 additions and 1 deletions

View File

@ -23,6 +23,7 @@ use moa::cpus::m68k::state::Status;
enum Selection {
Include,
Exclude,
ExcludeAddr,
Only,
}
@ -130,6 +131,11 @@ impl TestCase {
// If the supervisor stack changes by 6 or more bytes, then it's likely expected to be caused by an exception
self.initial_state.ssp.saturating_sub(self.final_state.ssp) >= 6
}
pub fn is_extended_exception_case(&self) -> bool {
// If the supervisor stack changes by 6 or more bytes, then it's likely expected to be caused by an exception
self.initial_state.ssp.saturating_sub(self.final_state.ssp) >= 10
}
}
@ -296,7 +302,9 @@ fn test_json_file(path: PathBuf, args: &Args) -> (usize, usize, String) {
}
// Only run the test if it's selected by the exceptions flag
if case.is_exception_case() && args.exceptions == Selection::Exclude {
if case.is_extended_exception_case() && args.exceptions == Selection::ExcludeAddr {
continue;
} else if case.is_exception_case() && args.exceptions == Selection::Exclude {
continue;
} else if !case.is_exception_case() && args.exceptions == Selection::Only {
continue;

View File

@ -1,4 +1,8 @@
Harte Tests:
* for every failing test in MOVEfromSR, it's caused by an exception where at 0x7F3 it should be 0xF5, it's actually 0xE5, which is the READ/WRITE flag not set correctly (1 = READ)
* make it possible to compile without audio support (minifb frontend requires it atm)
* I need some better function for dealing with memory, like a function that copies data with a loop, or allows offset reading of