|
|
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.4 ! root 72: * Different amounts of ST-RAM from 0 (0.5MB) to 14MB
! 73:
! 74: * Different amounts of TT-RAM from 0 to 256MB
1.1 root 75:
1.1.1.2 root 76: * With and without GEMDOS harddisk directory emulation
1.1 root 77:
1.1.1.2 root 78: Test program is started either from a floppy or an emulated GEMDOS
79: HD (directory) using *.INF file, or in case of TOS v1.00 - 1.02,
80: from floppy auto/-folder. GEMDOS HD testing is done with more
81: extensive gemdos.prg test program, floppy testing with minimal.prg
82: test program which doesn't change the floppy content (to avoid its
83: repository file update).
1.1 root 84:
1.1.1.3 root 85: * ACSI and IDE interface testing with EmuTOS
86:
1.1.1.2 root 87: * Arbitrary boolean Hatari command line options specified
88: with the "--bool" option
89:
90: You can use the command line options to specify which set of these
91: is used and TOS tester will go through all combinations of them.
92:
93: See "tos_tester.py -h" output for examples.
1.1 root 94:
95:
96: What to test
97: ------------
98:
99: For each Hatari release it would be good to test e.g. the following
100: TOS versions:
101: v1.00 de, v1.02 de, v1.04 de, v1.04 us, v1.62 de, v1.62 us,
102: v2.06 de, v3.06 us, v4.04, etos192k, etos512k[1]
103:
104: [1] Just the latest release of EmuTOS.
105:
1.1.1.2 root 106: And following monitor configurations:
107: ST: tv, mono, vdi-1, vdi-4
108: STE: rgb, mono, vdi-1, vdi-4
109: TT: vga, mono, vdi-1, vdi-4
110: Falcon: rgb, mono, vga
111:
112: Memory configurations:
113: ST: 0.5 & 2 MB
114: STE: 1 & 4 MB
1.1.1.4 ! root 115: TT: 2 & 10 MB ST-RAM, 0 & 32 MB TT-RAM
! 116: Falcon: 4 & 14 MB ST-RAM, 0 & 32 MB TT-RAM
1.1.1.2 root 117:
1.1.1.3 root 118: And both with GEMDOS HD and just floppy. For EmuTOS, also IDE & ACSI.
1.1.1.2 root 119:
120: Testing should be done both for old UAE CPU core and the new WinUAE
121: one. This should give good enough coverage of all the possible bootup
1.1 root 122: issues.
123:
1.1.1.2 root 124: Note that it's enought to give the whole set of HW configurations to
125: TOS tester, it will automatically select a suitable subset of HW
126: combinations to test, for each given TOS versions.
127:
128:
129: Potential TODOs
130: ---------------
131:
132: Extend GEMDOS test program to test also:
133: * starting another program
134: * file redirection
135:
136: But only if all TOS versions support that properly.
137:
138: -
139:
1.1.1.3 root 140: Add testing of ASCI and IDE drives with normal TOS in addition to the
141: GEMDOS HD and floppy tests.
1.1.1.2 root 142:
143: This isn't very straightforward because both need different drivers
144: and therefore different disk images and the drivers either have issues
145: with e.g. EmuTOS, or don't support all machines. Formatting and
146: installing the drivers requires using interactive Atari programs,
147: so these images cannot be automatically (re-)generated.
148:
1.1.1.3 root 149: (EmuTOS supports IDE and ACSI directly, without any need for drivers.
150: Both HDs with DOS (not Atari) partition table, and ones without
151: partition table at all. That's why it can be already tested.)
152:
153: -
154:
155: Testing a HD disk having also MiNT (= WinUAE / MMU testing at the same time).
1.1.1.2 root 156:
157: -
158:
159: Machine type specific test programs e.g. for:
160: * ST color resolution overscan
161: * STE blitter and overscan
162: * TT FPU operations, could output e.g. speed
163: * Falcon DSP operations
164:
165: If pre-existing demo programs are used for these, it's better
166: if they're small.
167:
168: Such programs also needs to have some static screen which doesn't
169: automatically advance so that a screenshot can be taken of it.
170: Alternatively, test program could be accompanied with debugger
171: script(s) that stop the program at suitable point and take a
172: screenshot.
173:
174: -
1.1 root 175:
1.1.1.2 root 176: Current screenshot-report.sh script assumes that Hatari will always
177: create identical screenshots for the same screen content. This might
178: not be true if underlying libpng gets updated, so it would be better
179: to have some e.g. SDL binary that loads two images, compares their
180: uncompressed content and either reports that, or shows the difference.
1.1 root 181:
1.1.1.2 root 182: -
1.1 root 183:
1.1.1.2 root 184: 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.