MEGA65 / mega65-tools

Tools and Utilities for the MEGA65 Retro Computers
GNU General Public License v3.0
28 stars 31 forks source link

Q-Opcode Unit Test #99

Closed lydon42 closed 2 years ago

lydon42 commented 2 years ago

This adds a complete Q-Opcode Unit Test, which tests all the Q-Opcodes for all cases and all addressing modes.

The new test concept revolves around a list of test Suites which are defined by a set of Modes and Tests. Via flags all combinations of those modes and tests are tested and their result is recorded. Only failed tests are displayed, plus a summary line per suite is displayed. On the Hypervisor unit test line, all test results are transmitted.

Note: the qop-test.prg will show 29 errors on a recent core, because all Q-accumulator implied opcodes are not implemented yet.

Additional changes in this request: Changes the timestamping of m65 unit test mode to ISO Format with microseconds, for easier parsing by consuming applications (also: asctime is obsolete by POSIX).

In the Makefile the required files for my tests where reduced to a minimum, because with all the libc included they did grow over 32K. Plus I added color to the screen output of the two old tests.