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