|
|
1.1.1.2 ! root 1: Files ! 2: ----- ! 3: ! 4: Tools and data files: ! 5: Makefile -- builds the test program and floppy & HD images ! 6: containing it ! 7: disk/* -- sources, binaries and input files for test program, ! 8: directory is also used for GEMDOS HD emu testing ! 9: floppy/* -- files to autostart test program from floppy ! 10: tos_tester.py -- test driver, described below ! 11: ! 12: Generated files: ! 13: output/* -- Test report and screenshots, temporary output files ! 14: dummy.cfg -- Hatari config file generated by test driver ! 15: blank-a.st.gz -- blank floppy image to avoid TOS disk dialogs ! 16: bootauto.st.gz -- floppy image with the test files and test program ! 17: run from auto/-folder for TOS <1.04 ! 18: bootdesk.st.gz -- floppy image with the test files and test program ! 19: run from *.INF desktop file ! 20: hd.img -- HD image with the the test program / files ! 21: and DOS partition table ! 22: ! 23: Other files and directories: ! 24: readme.txt -- this text file ! 25: tos/* -- TOSDIR in Makefile points here for your TOS images ! 26: ! 27: There's also "screenshot-report.sh" script to generate a HTML report ! 28: out of the screenshots saved by TOS tester which will list missing ! 29: tests and any differences in the produced screenshots. For that, you ! 30: need "reference" directory to contain screenshots from an earlier, ! 31: succesful run of TOS tester. ! 32: 1.1 root 33: 34: Usage 35: ----- 36: 37: If you want to test Hatari version that isn't in your PATH, 38: you need to give PATH for the Hatari binary you want to test, 39: like this: 1.1.1.2 ! root 40: PATH=../../build/src:$PATH make ! 41: ! 42: Before running that, tos/ subdirectory should have (symbolic links to) ! 43: TOS images you want to test, at least EmuTOS etos512k.img image. ! 44: Or add this before above command: ! 45: TOSDIR=<path to TOS images dir> ! 46: ! 47: Alternatively, you can call the TOS tester directly and specify ! 48: the TOS images it should test: ! 49: PATH=../../build/src:$PATH ./tos_tester.py <TOS images> 1.1 root 50: 51: To view the produced screenshots, either use ImageMagick: 1.1.1.2 ! root 52: display output/*.png 1.1 root 53: 54: Or use the script that creates a HTML page with them and opens 55: browser to view it. 56: 57: 58: What TOS tester tests 59: --------------------- 60: 1.1.1.2 ! root 61: These are the HW configuration combinations that TOS tester currently 1.1 root 62: supports: 63: 1.1.1.2 ! root 64: * ST, STE, TT and Falcon machine types 1.1 root 65: 1.1.1.2 ! root 66: EmuTOS 512k is tested for all the machine types. EmuTOS 192k, 256k ! 67: and TOS v2.x are tested with all machine types except Falcon. Rest ! 68: of TOSes are tested only with a single machine type. 1.1 root 69: 1.1.1.2 ! root 70: * TV, VGA, RGB and monochrome monitors and 1, 2 & 4 plane VDI modes 1.1 root 71: 1.1.1.2 ! root 72: * Different amounts of memory from 0 (0.5MB) to 14MB 1.1 root 73: 1.1.1.2 ! root 74: * With and without GEMDOS harddisk directory emulation 1.1 root 75: 1.1.1.2 ! root 76: Test program is started either from a floppy or an emulated GEMDOS ! 77: HD (directory) using *.INF file, or in case of TOS v1.00 - 1.02, ! 78: from floppy auto/-folder. GEMDOS HD testing is done with more ! 79: extensive gemdos.prg test program, floppy testing with minimal.prg ! 80: test program which doesn't change the floppy content (to avoid its ! 81: repository file update). 1.1 root 82: 1.1.1.2 ! root 83: * Arbitrary boolean Hatari command line options specified ! 84: with the "--bool" option ! 85: ! 86: You can use the command line options to specify which set of these ! 87: is used and TOS tester will go through all combinations of them. ! 88: ! 89: See "tos_tester.py -h" output for examples. 1.1 root 90: 91: 92: What to test 93: ------------ 94: 95: For each Hatari release it would be good to test e.g. the following 96: TOS versions: 97: v1.00 de, v1.02 de, v1.04 de, v1.04 us, v1.62 de, v1.62 us, 98: v2.06 de, v3.06 us, v4.04, etos192k, etos512k[1] 99: 100: [1] Just the latest release of EmuTOS. 101: 1.1.1.2 ! root 102: And following monitor configurations: ! 103: ST: tv, mono, vdi-1, vdi-4 ! 104: STE: rgb, mono, vdi-1, vdi-4 ! 105: TT: vga, mono, vdi-1, vdi-4 ! 106: Falcon: rgb, mono, vga ! 107: ! 108: Memory configurations: ! 109: ST: 0.5 & 2 MB ! 110: STE: 1 & 4 MB ! 111: TT: 2 & 10 MB ! 112: Falcon: 4 & 14 MB ! 113: ! 114: And both with GEMDOS HD and just floppy. ! 115: ! 116: Testing should be done both for old UAE CPU core and the new WinUAE ! 117: one. This should give good enough coverage of all the possible bootup 1.1 root 118: issues. 119: 1.1.1.2 ! root 120: Note that it's enought to give the whole set of HW configurations to ! 121: TOS tester, it will automatically select a suitable subset of HW ! 122: combinations to test, for each given TOS versions. ! 123: ! 124: ! 125: Potential TODOs ! 126: --------------- ! 127: ! 128: Extend GEMDOS test program to test also: ! 129: * starting another program ! 130: * file redirection ! 131: ! 132: But only if all TOS versions support that properly. ! 133: ! 134: - ! 135: ! 136: Add testing of ASCI and IDE drives in addition to the GEMDOS HD and ! 137: floppy tests. ! 138: ! 139: This isn't very straightforward because both need different drivers ! 140: and therefore different disk images and the drivers either have issues ! 141: with e.g. EmuTOS, or don't support all machines. Formatting and ! 142: installing the drivers requires using interactive Atari programs, ! 143: so these images cannot be automatically (re-)generated. ! 144: ! 145: EmuTOS supports directly HDs with DOS (not Atari) partition table, ! 146: but only for ASCI. Maybe that could be tested first, possibly with ! 147: a disk having also MiNT (= WinUAE / MMU testing at the same time). ! 148: ! 149: - ! 150: ! 151: Machine type specific test programs e.g. for: ! 152: * ST color resolution overscan ! 153: * STE blitter and overscan ! 154: * TT FPU operations, could output e.g. speed ! 155: * Falcon DSP operations ! 156: ! 157: If pre-existing demo programs are used for these, it's better ! 158: if they're small. ! 159: ! 160: Such programs also needs to have some static screen which doesn't ! 161: automatically advance so that a screenshot can be taken of it. ! 162: Alternatively, test program could be accompanied with debugger ! 163: script(s) that stop the program at suitable point and take a ! 164: screenshot. ! 165: ! 166: - 1.1 root 167: 1.1.1.2 ! root 168: Current screenshot-report.sh script assumes that Hatari will always ! 169: create identical screenshots for the same screen content. This might ! 170: not be true if underlying libpng gets updated, so it would be better ! 171: to have some e.g. SDL binary that loads two images, compares their ! 172: uncompressed content and either reports that, or shows the difference. 1.1 root 173: 1.1.1.2 ! root 174: - 1.1 root 175: 1.1.1.2 ! root 176: Tester for DMA sound output and comparison for the produced sound.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.