mirror of
https://github.com/Wiimpathy/HatariWii.git
synced 2024-11-22 01:39:16 +01:00
.. | ||
disk | ||
floppy | ||
.hgignore | ||
blank-a.st.gz | ||
bootauto.st.gz | ||
bootdesk.st.gz | ||
makefile | ||
readme.txt | ||
screenshot-report.sh | ||
tos_tester.py |
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.