Improve Disk II test reliability

Before, the garbage test had only about a 92% chance of success
because it relied on random numbers not being equal.  This change just
repeats the test 5 times and allows up to 1 failure.  This increases
the chance of the test passing to a hair less that 99.8%.
This commit is contained in:
Ian Flanigan 2023-08-10 20:37:27 -05:00
parent 9f7c9f25f9
commit e35a0527d2
No known key found for this signature in database
GPG Key ID: 2BE6CE7C1C84A8D5

View File

@ -677,6 +677,9 @@ describe('DiskII', () => {
diskII.ioSwitch(0x82); // coil 1 off
diskII.ioSwitch(0x8e); // read mode
// Try this test 5 times because we could get unlucky.
let failures = 0;
for (let i = 0; i < 5; i++) {
// Read 5 nibbles
const nibbles: byte[] = [];
let read = false;
@ -698,7 +701,11 @@ describe('DiskII', () => {
for (let i = 1; i < 5; i++) {
equal ||= nibbles[0] === nibbles[i];
}
expect(equal).not.toBeTruthy();
if (equal) {
failures++;
}
}
expect(failures).toBeLessThan(2);
});
it('disk spins at a consistent speed', () => {