mirror of
https://github.com/Wiimpathy/HatariWii.git
synced 2024-11-22 09:49:15 +01:00
185 lines
6.0 KiB
Plaintext
185 lines
6.0 KiB
Plaintext
|
Files
|
||
|
-----
|
||
|
|
||
|
Tools and data files:
|
||
|
Makefile -- builds the test program and floppy & HD images
|
||
|
containing it
|
||
|
disk/* -- sources, binaries and input files for test program,
|
||
|
directory is also used for GEMDOS HD emu testing
|
||
|
floppy/* -- files to autostart test program from floppy
|
||
|
tos_tester.py -- test driver, described below
|
||
|
|
||
|
Generated files:
|
||
|
output/* -- Test report and screenshots, temporary output files
|
||
|
dummy.cfg -- Hatari config file generated by test driver
|
||
|
blank-a.st.gz -- blank floppy image to avoid TOS disk dialogs
|
||
|
bootauto.st.gz -- floppy image with the test files and test program
|
||
|
run from auto/-folder for TOS <1.04
|
||
|
bootdesk.st.gz -- floppy image with the test files and test program
|
||
|
run from *.INF desktop file
|
||
|
hd.img -- HD image with the the test program / files
|
||
|
and DOS partition table
|
||
|
|
||
|
Other files and directories:
|
||
|
readme.txt -- this text file
|
||
|
tos/* -- TOSDIR in Makefile points here for your TOS images
|
||
|
|
||
|
There's also "screenshot-report.sh" script to generate a HTML report
|
||
|
out of the screenshots saved by TOS tester which will list missing
|
||
|
tests and any differences in the produced screenshots. For that, you
|
||
|
need "reference" directory to contain screenshots from an earlier,
|
||
|
succesful run of TOS tester.
|
||
|
|
||
|
|
||
|
Usage
|
||
|
-----
|
||
|
|
||
|
If you want to test Hatari version that isn't in your PATH,
|
||
|
you need to give PATH for the Hatari binary you want to test,
|
||
|
like this:
|
||
|
PATH=../../build/src:$PATH make
|
||
|
|
||
|
Before running that, tos/ subdirectory should have (symbolic links to)
|
||
|
TOS images you want to test, at least EmuTOS etos512k.img image.
|
||
|
Or add this before above command:
|
||
|
TOSDIR=<path to TOS images dir>
|
||
|
|
||
|
Alternatively, you can call the TOS tester directly and specify
|
||
|
the TOS images it should test:
|
||
|
PATH=../../build/src:$PATH ./tos_tester.py <TOS images>
|
||
|
|
||
|
To view the produced screenshots, either use ImageMagick:
|
||
|
display output/*.png
|
||
|
|
||
|
Or use the script that creates a HTML page with them and opens
|
||
|
browser to view it.
|
||
|
|
||
|
|
||
|
What TOS tester tests
|
||
|
---------------------
|
||
|
|
||
|
These are the HW configuration combinations that TOS tester currently
|
||
|
supports:
|
||
|
|
||
|
* ST, STE, TT and Falcon machine types
|
||
|
|
||
|
EmuTOS 512k is tested for all the machine types. EmuTOS 192k, 256k
|
||
|
and TOS v2.x are tested with all machine types except Falcon. Rest
|
||
|
of TOSes are tested only with a single machine type.
|
||
|
|
||
|
* TV, VGA, RGB and monochrome monitors and 1, 2 & 4 plane VDI modes
|
||
|
|
||
|
* Different amounts of ST-RAM from 0 (0.5MB) to 14MB
|
||
|
|
||
|
* Different amounts of TT-RAM from 0 to 256MB
|
||
|
|
||
|
* With and without GEMDOS harddisk directory emulation
|
||
|
|
||
|
Test program is started either from a floppy or an emulated GEMDOS
|
||
|
HD (directory) using *.INF file, or in case of TOS v1.00 - 1.02,
|
||
|
from floppy auto/-folder. GEMDOS HD testing is done with more
|
||
|
extensive gemdos.prg test program, floppy testing with minimal.prg
|
||
|
test program which doesn't change the floppy content (to avoid its
|
||
|
repository file update).
|
||
|
|
||
|
* ACSI and IDE interface testing with EmuTOS
|
||
|
|
||
|
* Arbitrary boolean Hatari command line options specified
|
||
|
with the "--bool" option
|
||
|
|
||
|
You can use the command line options to specify which set of these
|
||
|
is used and TOS tester will go through all combinations of them.
|
||
|
|
||
|
See "tos_tester.py -h" output for examples.
|
||
|
|
||
|
|
||
|
What to test
|
||
|
------------
|
||
|
|
||
|
For each Hatari release it would be good to test e.g. the following
|
||
|
TOS versions:
|
||
|
v1.00 de, v1.02 de, v1.04 de, v1.04 us, v1.62 de, v1.62 us,
|
||
|
v2.06 de, v3.06 us, v4.04, etos192k, etos512k[1]
|
||
|
|
||
|
[1] Just the latest release of EmuTOS.
|
||
|
|
||
|
And following monitor configurations:
|
||
|
ST: tv, mono, vdi-1, vdi-4
|
||
|
STE: rgb, mono, vdi-1, vdi-4
|
||
|
TT: vga, mono, vdi-1, vdi-4
|
||
|
Falcon: rgb, mono, vga
|
||
|
|
||
|
Memory configurations:
|
||
|
ST: 0.5 & 2 MB
|
||
|
STE: 1 & 4 MB
|
||
|
TT: 2 & 10 MB ST-RAM, 0 & 32 MB TT-RAM
|
||
|
Falcon: 4 & 14 MB ST-RAM, 0 & 32 MB TT-RAM
|
||
|
|
||
|
And both with GEMDOS HD and just floppy. For EmuTOS, also IDE & ACSI.
|
||
|
|
||
|
Testing should be done both for old UAE CPU core and the new WinUAE
|
||
|
one. This should give good enough coverage of all the possible bootup
|
||
|
issues.
|
||
|
|
||
|
Note that it's enought to give the whole set of HW configurations to
|
||
|
TOS tester, it will automatically select a suitable subset of HW
|
||
|
combinations to test, for each given TOS versions.
|
||
|
|
||
|
|
||
|
Potential TODOs
|
||
|
---------------
|
||
|
|
||
|
Extend GEMDOS test program to test also:
|
||
|
* starting another program
|
||
|
* file redirection
|
||
|
|
||
|
But only if all TOS versions support that properly.
|
||
|
|
||
|
-
|
||
|
|
||
|
Add testing of ASCI and IDE drives with normal TOS in addition to the
|
||
|
GEMDOS HD and floppy tests.
|
||
|
|
||
|
This isn't very straightforward because both need different drivers
|
||
|
and therefore different disk images and the drivers either have issues
|
||
|
with e.g. EmuTOS, or don't support all machines. Formatting and
|
||
|
installing the drivers requires using interactive Atari programs,
|
||
|
so these images cannot be automatically (re-)generated.
|
||
|
|
||
|
(EmuTOS supports IDE and ACSI directly, without any need for drivers.
|
||
|
Both HDs with DOS (not Atari) partition table, and ones without
|
||
|
partition table at all. That's why it can be already tested.)
|
||
|
|
||
|
-
|
||
|
|
||
|
Testing a HD disk having also MiNT (= WinUAE / MMU testing at the same time).
|
||
|
|
||
|
-
|
||
|
|
||
|
Machine type specific test programs e.g. for:
|
||
|
* ST color resolution overscan
|
||
|
* STE blitter and overscan
|
||
|
* TT FPU operations, could output e.g. speed
|
||
|
* Falcon DSP operations
|
||
|
|
||
|
If pre-existing demo programs are used for these, it's better
|
||
|
if they're small.
|
||
|
|
||
|
Such programs also needs to have some static screen which doesn't
|
||
|
automatically advance so that a screenshot can be taken of it.
|
||
|
Alternatively, test program could be accompanied with debugger
|
||
|
script(s) that stop the program at suitable point and take a
|
||
|
screenshot.
|
||
|
|
||
|
-
|
||
|
|
||
|
Current screenshot-report.sh script assumes that Hatari will always
|
||
|
create identical screenshots for the same screen content. This might
|
||
|
not be true if underlying libpng gets updated, so it would be better
|
||
|
to have some e.g. SDL binary that loads two images, compares their
|
||
|
uncompressed content and either reports that, or shows the difference.
|
||
|
|
||
|
-
|
||
|
|
||
|
Tester for DMA sound output and comparison for the produced sound.
|