|
|
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,
1.1.1.5 ! root 31: successful run of TOS tester.
1.1.1.2 root 32:
1.1 root 33:
34: Usage
35: -----
36:
1.1.1.5 ! root 37: NOTE: TOS tester works *only* with Hatari versions that are built with
! 38: raw MIDI device support, NOT with PortMidi support. This is because
! 39: TOS tester communicates to the emulated test programs through FIFO
! 40: file given to Hatari as MIDI input/output file, whereas PortMidi
! 41: allows communication only to real MIDI devices.
! 42:
1.1 root 43: If you want to test Hatari version that isn't in your PATH,
44: you need to give PATH for the Hatari binary you want to test,
45: like this:
1.1.1.2 root 46: PATH=../../build/src:$PATH make
47:
48: Before running that, tos/ subdirectory should have (symbolic links to)
49: TOS images you want to test, at least EmuTOS etos512k.img image.
50: Or add this before above command:
51: TOSDIR=<path to TOS images dir>
52:
53: Alternatively, you can call the TOS tester directly and specify
54: the TOS images it should test:
55: PATH=../../build/src:$PATH ./tos_tester.py <TOS images>
1.1 root 56:
57: To view the produced screenshots, either use ImageMagick:
1.1.1.2 root 58: display output/*.png
1.1 root 59:
60: Or use the script that creates a HTML page with them and opens
61: browser to view it.
62:
63:
64: What TOS tester tests
65: ---------------------
66:
1.1.1.2 root 67: These are the HW configuration combinations that TOS tester currently
1.1 root 68: supports:
69:
1.1.1.2 root 70: * ST, STE, TT and Falcon machine types
1.1 root 71:
1.1.1.2 root 72: EmuTOS 512k is tested for all the machine types. EmuTOS 192k, 256k
73: and TOS v2.x are tested with all machine types except Falcon. Rest
74: of TOSes are tested only with a single machine type.
1.1 root 75:
1.1.1.2 root 76: * TV, VGA, RGB and monochrome monitors and 1, 2 & 4 plane VDI modes
1.1 root 77:
1.1.1.4 root 78: * Different amounts of ST-RAM from 0 (0.5MB) to 14MB
79:
80: * Different amounts of TT-RAM from 0 to 256MB
1.1 root 81:
1.1.1.2 root 82: * With and without GEMDOS harddisk directory emulation
1.1 root 83:
1.1.1.2 root 84: Test program is started either from a floppy or an emulated GEMDOS
85: HD (directory) using *.INF file, or in case of TOS v1.00 - 1.02,
86: from floppy auto/-folder. GEMDOS HD testing is done with more
87: extensive gemdos.prg test program, floppy testing with minimal.prg
88: test program which doesn't change the floppy content (to avoid its
89: repository file update).
1.1 root 90:
1.1.1.3 root 91: * ACSI and IDE interface testing with EmuTOS
92:
1.1.1.2 root 93: * Arbitrary boolean Hatari command line options specified
94: with the "--bool" option
95:
96: You can use the command line options to specify which set of these
97: is used and TOS tester will go through all combinations of them.
98:
99: See "tos_tester.py -h" output for examples.
1.1 root 100:
101:
102: What to test
103: ------------
104:
105: For each Hatari release it would be good to test e.g. the following
106: TOS versions:
107: v1.00 de, v1.02 de, v1.04 de, v1.04 us, v1.62 de, v1.62 us,
108: v2.06 de, v3.06 us, v4.04, etos192k, etos512k[1]
109:
110: [1] Just the latest release of EmuTOS.
111:
1.1.1.2 root 112: And following monitor configurations:
113: ST: tv, mono, vdi-1, vdi-4
114: STE: rgb, mono, vdi-1, vdi-4
115: TT: vga, mono, vdi-1, vdi-4
116: Falcon: rgb, mono, vga
117:
118: Memory configurations:
119: ST: 0.5 & 2 MB
120: STE: 1 & 4 MB
1.1.1.4 root 121: TT: 2 & 10 MB ST-RAM, 0 & 32 MB TT-RAM
122: Falcon: 4 & 14 MB ST-RAM, 0 & 32 MB TT-RAM
1.1.1.2 root 123:
1.1.1.3 root 124: And both with GEMDOS HD and just floppy. For EmuTOS, also IDE & ACSI.
1.1.1.2 root 125:
126: Testing should be done both for old UAE CPU core and the new WinUAE
127: one. This should give good enough coverage of all the possible bootup
1.1 root 128: issues.
129:
1.1.1.2 root 130: Note that it's enought to give the whole set of HW configurations to
131: TOS tester, it will automatically select a suitable subset of HW
132: combinations to test, for each given TOS versions.
133:
1.1.1.5 ! root 134: Unless you're specifically testing FDC timings or memory detection
! 135: compatibility, you can use --fast option to speed up TOS bootup a lot.
! 136:
1.1.1.2 root 137:
138: Potential TODOs
139: ---------------
140:
141: Extend GEMDOS test program to test also:
142: * starting another program
143: * file redirection
144:
145: But only if all TOS versions support that properly.
146:
147: -
148:
1.1.1.3 root 149: Add testing of ASCI and IDE drives with normal TOS in addition to the
150: GEMDOS HD and floppy tests.
1.1.1.2 root 151:
152: This isn't very straightforward because both need different drivers
153: and therefore different disk images and the drivers either have issues
154: with e.g. EmuTOS, or don't support all machines. Formatting and
155: installing the drivers requires using interactive Atari programs,
156: so these images cannot be automatically (re-)generated.
157:
1.1.1.3 root 158: (EmuTOS supports IDE and ACSI directly, without any need for drivers.
159: Both HDs with DOS (not Atari) partition table, and ones without
160: partition table at all. That's why it can be already tested.)
161:
162: -
163:
164: Testing a HD disk having also MiNT (= WinUAE / MMU testing at the same time).
1.1.1.2 root 165:
166: -
167:
168: Machine type specific test programs e.g. for:
169: * ST color resolution overscan
170: * STE blitter and overscan
171: * TT FPU operations, could output e.g. speed
172: * Falcon DSP operations
173:
174: If pre-existing demo programs are used for these, it's better
175: if they're small.
176:
177: Such programs also needs to have some static screen which doesn't
178: automatically advance so that a screenshot can be taken of it.
179: Alternatively, test program could be accompanied with debugger
180: script(s) that stop the program at suitable point and take a
181: screenshot.
182:
183: -
1.1 root 184:
1.1.1.2 root 185: Current screenshot-report.sh script assumes that Hatari will always
186: create identical screenshots for the same screen content. This might
187: not be true if underlying libpng gets updated, so it would be better
188: to have some e.g. SDL binary that loads two images, compares their
189: uncompressed content and either reports that, or shows the difference.
1.1 root 190:
1.1.1.2 root 191: -
1.1 root 192:
1.1.1.2 root 193: 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.