0
|
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?
|