|
1 |
|
2 /****************************************************************************** |
|
3 * TESTS MODIFIED |
|
4 ******************************************************************************/ |
|
5 |
|
6 T_MESSGE.CPP |
|
7 Use CreateFixedPoolSession() instead of CreateSession() so that testing the |
|
8 number of available message slots works. |
|
9 |
|
10 T_PROC1.CPP |
|
11 Name lengths reduced to reflect 64 character maximum |
|
12 Added various Close() statements to get memory leak checking to work |
|
13 Removed dodgy __KHEAP_CHECK(n) statements with various strange values of n - |
|
14 changing kernel implementation is very likely to invalidate these. |
|
15 Reinstated MurderProcess() test. |
|
16 Look for $HEAP chunk instead of $STK; also don't add stack size to base to |
|
17 get heap address. |
|
18 Changed KERN-SVR panic to KERN-EXEC. |
|
19 Removed test that attempts to resume an invalid process handle. |
|
20 Added overall kernel heap checking covering the whole test. |
|
21 Changed filenames so that test will run from any drive not just Z. T_PROC2 |
|
22 should be in the same directory as T_PROC1. |
|
23 Speed test runs server thread at higher priority than client. |
|
24 |
|
25 T_SVR.CPP |
|
26 Changed panic code from KErrArgument to ECausedException. |
|
27 Added some more rogue thread tests to check what happens when an invalid |
|
28 message pointer is used in RMessage::Complete. |
|
29 Speed test runs server thread at higher priority than client. |
|
30 |
|
31 T_SVR2.CPP |
|
32 Removed granularity expansion stuff. |
|
33 Reinstated kernel heap checking. |
|
34 |
|
35 D_LDD.CPP |
|
36 Modified to work with different kernel interface. |
|
37 |
|
38 T_SERIAL.CPP |
|
39 100ms delay between powering up and checking serial port signal lines. |
|
40 Use RDevComm instead of RBusDevComm. |
|
41 |
|
42 T_SOUND.CPP |
|
43 Replaced with completely new code which tests the 6.x sound drivers which |
|
44 have the new functionality for the MediaServer. |
|
45 Removed all tests which require User::FreeLogicalDevice or |
|
46 User::FreePhysicalDevice. |
|
47 Don't test that Prepare() allocates memory - it doesn't. |
|
48 Changed panic from KERN-SVR to KERN-EXEC. |
|
49 Removed tests which issue a request from wrong thread (handle is now |
|
50 thread relative). |
|
51 Change filename used for process creation so that test runs from any drive. |
|
52 |
|
53 T_TLDD.CPP |
|
54 Removed all tests which require User::FreeLogicalDevice or |
|
55 User::FreePhysicalDevice, e.g. testing that .data/.bss are reinitialised |
|
56 when the device driver is reloaded. |
|
57 |
|
58 T_START1.CPP, T_START2.CPP, T_START3.CPP |
|
59 Print the file name so that these three DLLs end up with different code |
|
60 chunks - otherwise loader gets confused when running from RAM. |
|
61 |
|
62 T_TDLL12.CPP |
|
63 Removed __KHEAP_CHECK(n) tests. |
|
64 |
|
65 T_TDLLA.CPP |
|
66 Added another DLL (T_DLLA2) which statically links to T_TDLLA.EXE. However |
|
67 this test is currently commented out since the loader cannot handle DLLs |
|
68 which link to an already-loaded RAM-based EXE (it attempts to load the .EXE |
|
69 again as a DLL). The idea was to test that the .EXE entry point is not |
|
70 called again. |
|
71 Static data address for T_DLLA3 changed from 0x30300000 to 0x30010000. |
|
72 |
|
73 T_TLS.CPP |
|
74 Reinstated kernel heap checking, but removed __KHEAP_CHECK(n) tests. |
|
75 |
|
76 T_HEAP.CPP |
|
77 Close the heap after each test to prevent chunks accumulating and exceeding |
|
78 the 8 chunk limit. |
|
79 Modified heap sharing test to account for the fact that a thread does not |
|
80 create its heap until it runs. |
|
81 Added overall kernel heap checking. |
|
82 |
|
83 T_KHEAP.CPP |
|
84 Use shared heaps for the multitudinous threads involved so we don't exceed |
|
85 the 8 chunk limit. Test thread creation with shared heaps and with separate |
|
86 heaps. |
|
87 Change filename used for process creation so that test runs from any drive. |
|
88 |
|
89 T_MLDR.CPP |
|
90 Check test is running from Z: - it doesn't do anything if running from any |
|
91 other drive. |
|
92 |
|
93 D_SHADOW.CPP |
|
94 Modified to work with different kernel interface. |
|
95 Dynamic binding of exception handlers not yet done in E32RT. |
|
96 Call Mmu::FlushShadow() after modifying shadow page to ensure that it is |
|
97 written out of a write-back cache. |
|
98 |
|
99 T_CHUNK.CPP |
|
100 Reduced number of chunks created from 10 to 3. |
|
101 Removed granularity expansion stuff. |
|
102 Reinstated kernel heap checking. |
|
103 Look for this process' $HEAP chunk rather than any chunk *Main::$STK - this |
|
104 was picking up F32's stack/heap chunk. |
|
105 |
|
106 T_MWAIT.CPP |
|
107 Use different priority values. |
|
108 |
|
109 T_ATADRV.CPP |
|
110 Use TBusLocalDrive::ForceMediaChange() instead of UserPcCardCntrl::PwrDown(). |
|
111 Added kernel heap checking on media change. |
|
112 |
|
113 T_ATDRV2.CPP |
|
114 Use TBusLocalDrive::ForceMediaChange() instead of UserPcCardCntrl::PwrDown(). |
|
115 |
|
116 T_PCCDSK.CPP |
|
117 Use TBusLocalDrive::ForceMediaChange() instead of UserSvr::ForceRemountMedia. |
|
118 |
|
119 D_POWR.CPP |
|
120 Modified to work with different kernel/power manager interface. |
|
121 |
|
122 T_POWR.CPP |
|
123 5 second alarm test does not use LDD to check that no switch off occurred. |
|
124 This is because the system does prepare to power down but then changes its |
|
125 mind at the last minute - this is necessary since power down and power up |
|
126 are completely asynchronous operations. |
|
127 Change filename used for process creation so that test runs from any drive. |
|
128 Kill the extra processes we create - don't leave them there forever. |
|
129 |
|
130 T_EXC.CPP |
|
131 Added more tests of RThread::Context(). Test context of preempted thread, |
|
132 waiting thread and suspended thread. |
|
133 |
|
134 T_PROT.CPP |
|
135 Panic a dead thread rather than a bad handle. |
|
136 Added an extra test to check that kernel doesn't die if a bad pointer is |
|
137 passed to DThread::RequestComplete(). |
|
138 |
|
139 T_REG.CPP |
|
140 Reinstated kernel heap checking. |
|
141 |
|
142 T_THREAD.CPP |
|
143 Modified heap sharing test to account for the fact that a thread does not |
|
144 create its heap until it runs. |
|
145 Remove test which attempted to resume an invalid thread handle. |
|
146 Added short delay between killing thread and checking that a mutex has |
|
147 been released. |
|
148 Removed Busy flag tests - not yet implemented in E32RT. |
|
149 Removed undertaker order test, Bill's bug test and any other tests which |
|
150 use thread-relative threads. Thread-relative threads are not supported. |
|
151 |
|
152 |
|
153 /****************************************************************************** |
|
154 * NEW TESTS ADDED |
|
155 ******************************************************************************/ |
|
156 |
|
157 T_CTXSW1, T_CTXSW2 |
|
158 Test raw inter-process context switch speed (without message passing). |
|
159 |
|
160 T_IPCBM |
|
161 Benchmark IPC copying for various data sizes. |
|
162 |
|
163 T_KERNBM |
|
164 Benchmark timer creation, thread suspend and synchronous kernel-side |
|
165 messages. |
|
166 |
|
167 T_SVR3 |
|
168 Stress test for IPC using non-shared sessions. |
|
169 |
|
170 T_SVR5 |
|
171 Similar to T_SVR but tests IPC with shared sessions. |
|
172 |
|
173 T_SVR6 |
|
174 Stress test for IPC using shared sessions. |
|
175 |
|
176 T_MEMCPY |
|
177 Tests Mem::Copy for all alignments and various data sizes. |
|
178 |
|
179 T_TBMA |
|
180 Tests TBitMapAllocator class used in the kernel. |
|
181 |
|
182 CPUMETER |
|
183 Gives a rough estimate of what percentage of the CPU time is currently |
|
184 being used. |
|
185 |
|
186 CRASH |
|
187 Causes a kernel fault. |
|
188 |
|
189 FREEMEM |
|
190 Displays the amount of free RAM remaining. |
|
191 |
|
192 T_ABT |
|
193 Repeatedly does an IPC copy which causes an exception. Left running in the |
|
194 background for latency measurements. |
|
195 |
|
196 T_ALIVE |
|
197 Prints to the debug serial port periodically based on both a tick and a |
|
198 millisecond timer. Used to check timers are running. |
|
199 |
|
200 T_BUSY |
|
201 Runs every millisecond on a millisecond timer. Prints a . every 1024ms. |
|
202 Used to cause lots of rescheduling to a moving user process. |
|
203 |
|
204 T_CMPRES |
|
205 Tests heap compression. |
|
206 |
|
207 T_DABT |
|
208 Causes a data abort. |
|
209 |
|
210 T_PABT |
|
211 Causes a prefetch abort. |
|
212 |
|
213 T_UNDEF |
|
214 Causes an undefined instruction exception. |
|
215 |
|
216 T_DEATH |
|
217 Displays exit information for any threads which die. |
|
218 |
|
219 T_DEATH2 |
|
220 Like T_DEATH but writes the information to a file. |
|
221 |
|
222 T_EMPTY |
|
223 Does absolutely nothing! Has no imports. |
|
224 |
|
225 T_KILL |
|
226 Exits with a write to a file in progress. |
|
227 |
|
228 T_RAMUSE |
|
229 Displays total kernel heap used. |
|
230 |
|
231 T_RECORD |
|
232 Deleted because sound driver changes completely break it. |
|
233 Continuously records sound. |
|
234 |
|
235 T_REPMD |
|
236 Loads a replacement ATA media driver MEDATA2.PDD. |
|
237 |
|
238 T_STRES1 |
|
239 General stress test - create/close kernel objects, heap alloc/dealloc, |
|
240 heap compression, killing threads. |
|
241 |
|
242 THRDLIST |
|
243 Writes a list of all threads in the system with register values to a file. |
|
244 |
|
245 T_CHUNK3 |
|
246 Repeated chunk resizing. |
|
247 |
|
248 T_CHUNK4 |
|
249 Tests disconnected chunks. |
|
250 |
|
251 T_MMUBM |
|
252 Benchmark test for memory allocation/deallocation. |
|
253 |
|
254 T_WBC |
|
255 Tests unmapping memory works on systems with write back caches. |
|
256 |
|
257 T_ATADR3 |
|
258 Stress test of CF card. Multiple threads reading/writing card with media |
|
259 changes, power downs and threads exiting in the middle of operations. |
|
260 |
|
261 T_MEDIA |
|
262 Test of ATA media driver. Tests reading and writing of various lengths |
|
263 from 256 bytes to 16.5K, both aligned to sector boundary and with |
|
264 beginning or end of region or both unaligned. |
|
265 |
|
266 T_BATTP |
|
267 Deleted because sound driver changes break code and kernel reorg has |
|
268 probably broke the rest. |
|
269 Monitors battery voltage over an extended period with alarms playing and |
|
270 backlight in use. |
|
271 |
|
272 T_LATNCY |
|
273 Measures interrupt and kernel thread latency using a special build of the |
|
274 kernel. |
|
275 |
|
276 T_LAT2 |
|
277 Measures interrupt, kernel thread and user thread latency using a periodic |
|
278 millisecond timer (interrupt every 1ms). |
|
279 |
|
280 D_LATNCY |
|
281 Device driver for T_LAT2. This runs the millisecond timer and the kernel |
|
282 thread. The user thread is part of T_LAT2. |
|
283 |
|
284 T_WRITE |
|
285 Does repeated 64K IPC copies. Run in the background during latency |
|
286 measurements. |
|
287 |
|
288 T_FRAG |
|
289 Does repeated chunk resizing using multiple threads. Run in the background |
|
290 during latency measurements. |
|
291 |
|
292 T_PROT2, T_PROT2A |
|
293 Test that user threads cannot corrupt the code/data chunk of a process while |
|
294 it is being loaded. |
|
295 |
|
296 T_PWRDN |
|
297 Repeatedly powers the machine on and off. |
|
298 |
|
299 |
|
300 /****************************************************************************** |
|
301 * TESTS REMOVED OR NOT YET PORTED TO E32RT. |
|
302 ******************************************************************************/ |
|
303 |
|
304 T_RTIM |
|
305 This tests super-threads, which never worked anyway. This has been superceded |
|
306 by T_LATNCY and T_LAT2. |
|
307 |
|
308 D_RTIM |
|
309 Device driver for T_RTIM. |
|
310 |
|
311 T_PTNOS |
|
312 Tests partner OS hooks - E32RT doesn't have these. |
|
313 |
|
314 D_PTNOS |
|
315 Device driver for T_PTNOS. |
|
316 |
|
317 T_MSTIM |
|
318 Millisecond timer test - this doesn't really test anything anyway. |
|
319 |
|
320 D_MSTIM |
|
321 Device driver for T_MSTIM. |
|
322 |
|
323 T_PROF |
|
324 CPU-time per thread profiling. Not yet implemented in E32RT. Requires special |
|
325 build of kernel. |
|
326 |
|
327 D_PROF |
|
328 Device driver for profiling - not yet implemented in E32RT. |
|
329 |
|
330 D_PATCH1, D_PATCH2, D_PATCH3 |
|
331 Test patches - test loading of patches at boot time. These have not yet been |
|
332 ported. |
|
333 |
|
334 T_PCCD1, T_PCCD2, T_PCCD3 |
|
335 These require D_PCCDIF and/or D_DRVIF, which have not yet been ported. |
|
336 |
|
337 D_PCCDIF, D_DRVIF |
|
338 Test device drivers for testing PC card controller/local media system. Not |
|
339 yet ported to E32RT. |
|
340 |
|
341 T_MEDDRV |
|
342 Tests multiple simultaneous requests on a media driver. Uses device drivers |
|
343 D_MEDT1, D_MEDT2 which have not yet been ported to E32RT. Test program |
|
344 T_ATADR3 does a similar thing by having multiple threads all accessing a |
|
345 drive at the same time. |
|
346 |
|
347 T_BEXFIQ, T_EXTFIQ, T_MEDCH |
|
348 Use device drivers which have not been ported. First two of these are only |
|
349 usable on a specially modified rack D. |
|
350 |
|
351 D_BEXFIQ, D_EXTFIQ, D_MEDCH |
|
352 Not ported to E32RT. First two of these are only usable on a specially |
|
353 modified rack D. |
|
354 |
|
355 T_DBG, T_BREAK |
|
356 No debug support in E32RT yet. |
|
357 |
|
358 T_RESET |
|
359 Not yet ported - it uses RDebug to read the super page, needs D_PATCHn |
|
360 drivers. Also doesn't work with the crash debugger. Snowdrop E32RT doesn't |
|
361 reboot properly after kernel fault (if the crash debugger is not there) |
|
362 since it needs some variant information to do so. |
|
363 |
|
364 E32SOUND, E32SDRV |
|
365 Sound drivers are still part of E32. |
|
366 |
|
367 T_MODEM1 |
|
368 PC card serial driver not yet implemented. |
|
369 |
|
370 T_PROM |
|
371 EEPROM driver not implemented. |
|
372 |
|
373 T_CRMDRV, T_CRRDRV |
|
374 Compact ROM media driver not ported. |
|
375 |
|
376 T_DEBUG |
|
377 What is this supposed to test? |