1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/kernelhwsrv/kerneltest/e32test/group/testmods.txt Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,377 @@
1.4 +
1.5 +/******************************************************************************
1.6 + * TESTS MODIFIED
1.7 + ******************************************************************************/
1.8 +
1.9 +T_MESSGE.CPP
1.10 + Use CreateFixedPoolSession() instead of CreateSession() so that testing the
1.11 + number of available message slots works.
1.12 +
1.13 +T_PROC1.CPP
1.14 + Name lengths reduced to reflect 64 character maximum
1.15 + Added various Close() statements to get memory leak checking to work
1.16 + Removed dodgy __KHEAP_CHECK(n) statements with various strange values of n -
1.17 + changing kernel implementation is very likely to invalidate these.
1.18 + Reinstated MurderProcess() test.
1.19 + Look for $HEAP chunk instead of $STK; also don't add stack size to base to
1.20 + get heap address.
1.21 + Changed KERN-SVR panic to KERN-EXEC.
1.22 + Removed test that attempts to resume an invalid process handle.
1.23 + Added overall kernel heap checking covering the whole test.
1.24 + Changed filenames so that test will run from any drive not just Z. T_PROC2
1.25 + should be in the same directory as T_PROC1.
1.26 + Speed test runs server thread at higher priority than client.
1.27 +
1.28 +T_SVR.CPP
1.29 + Changed panic code from KErrArgument to ECausedException.
1.30 + Added some more rogue thread tests to check what happens when an invalid
1.31 + message pointer is used in RMessage::Complete.
1.32 + Speed test runs server thread at higher priority than client.
1.33 +
1.34 +T_SVR2.CPP
1.35 + Removed granularity expansion stuff.
1.36 + Reinstated kernel heap checking.
1.37 +
1.38 +D_LDD.CPP
1.39 + Modified to work with different kernel interface.
1.40 +
1.41 +T_SERIAL.CPP
1.42 + 100ms delay between powering up and checking serial port signal lines.
1.43 + Use RDevComm instead of RBusDevComm.
1.44 +
1.45 +T_SOUND.CPP
1.46 + Replaced with completely new code which tests the 6.x sound drivers which
1.47 + have the new functionality for the MediaServer.
1.48 + Removed all tests which require User::FreeLogicalDevice or
1.49 + User::FreePhysicalDevice.
1.50 + Don't test that Prepare() allocates memory - it doesn't.
1.51 + Changed panic from KERN-SVR to KERN-EXEC.
1.52 + Removed tests which issue a request from wrong thread (handle is now
1.53 + thread relative).
1.54 + Change filename used for process creation so that test runs from any drive.
1.55 +
1.56 +T_TLDD.CPP
1.57 + Removed all tests which require User::FreeLogicalDevice or
1.58 + User::FreePhysicalDevice, e.g. testing that .data/.bss are reinitialised
1.59 + when the device driver is reloaded.
1.60 +
1.61 +T_START1.CPP, T_START2.CPP, T_START3.CPP
1.62 + Print the file name so that these three DLLs end up with different code
1.63 + chunks - otherwise loader gets confused when running from RAM.
1.64 +
1.65 +T_TDLL12.CPP
1.66 + Removed __KHEAP_CHECK(n) tests.
1.67 +
1.68 +T_TDLLA.CPP
1.69 + Added another DLL (T_DLLA2) which statically links to T_TDLLA.EXE. However
1.70 + this test is currently commented out since the loader cannot handle DLLs
1.71 + which link to an already-loaded RAM-based EXE (it attempts to load the .EXE
1.72 + again as a DLL). The idea was to test that the .EXE entry point is not
1.73 + called again.
1.74 + Static data address for T_DLLA3 changed from 0x30300000 to 0x30010000.
1.75 +
1.76 +T_TLS.CPP
1.77 + Reinstated kernel heap checking, but removed __KHEAP_CHECK(n) tests.
1.78 +
1.79 +T_HEAP.CPP
1.80 + Close the heap after each test to prevent chunks accumulating and exceeding
1.81 + the 8 chunk limit.
1.82 + Modified heap sharing test to account for the fact that a thread does not
1.83 + create its heap until it runs.
1.84 + Added overall kernel heap checking.
1.85 +
1.86 +T_KHEAP.CPP
1.87 + Use shared heaps for the multitudinous threads involved so we don't exceed
1.88 + the 8 chunk limit. Test thread creation with shared heaps and with separate
1.89 + heaps.
1.90 + Change filename used for process creation so that test runs from any drive.
1.91 +
1.92 +T_MLDR.CPP
1.93 + Check test is running from Z: - it doesn't do anything if running from any
1.94 + other drive.
1.95 +
1.96 +D_SHADOW.CPP
1.97 + Modified to work with different kernel interface.
1.98 + Dynamic binding of exception handlers not yet done in E32RT.
1.99 + Call Mmu::FlushShadow() after modifying shadow page to ensure that it is
1.100 + written out of a write-back cache.
1.101 +
1.102 +T_CHUNK.CPP
1.103 + Reduced number of chunks created from 10 to 3.
1.104 + Removed granularity expansion stuff.
1.105 + Reinstated kernel heap checking.
1.106 + Look for this process' $HEAP chunk rather than any chunk *Main::$STK - this
1.107 + was picking up F32's stack/heap chunk.
1.108 +
1.109 +T_MWAIT.CPP
1.110 + Use different priority values.
1.111 +
1.112 +T_ATADRV.CPP
1.113 + Use TBusLocalDrive::ForceMediaChange() instead of UserPcCardCntrl::PwrDown().
1.114 + Added kernel heap checking on media change.
1.115 +
1.116 +T_ATDRV2.CPP
1.117 + Use TBusLocalDrive::ForceMediaChange() instead of UserPcCardCntrl::PwrDown().
1.118 +
1.119 +T_PCCDSK.CPP
1.120 + Use TBusLocalDrive::ForceMediaChange() instead of UserSvr::ForceRemountMedia.
1.121 +
1.122 +D_POWR.CPP
1.123 + Modified to work with different kernel/power manager interface.
1.124 +
1.125 +T_POWR.CPP
1.126 + 5 second alarm test does not use LDD to check that no switch off occurred.
1.127 + This is because the system does prepare to power down but then changes its
1.128 + mind at the last minute - this is necessary since power down and power up
1.129 + are completely asynchronous operations.
1.130 + Change filename used for process creation so that test runs from any drive.
1.131 + Kill the extra processes we create - don't leave them there forever.
1.132 +
1.133 +T_EXC.CPP
1.134 + Added more tests of RThread::Context(). Test context of preempted thread,
1.135 + waiting thread and suspended thread.
1.136 +
1.137 +T_PROT.CPP
1.138 + Panic a dead thread rather than a bad handle.
1.139 + Added an extra test to check that kernel doesn't die if a bad pointer is
1.140 + passed to DThread::RequestComplete().
1.141 +
1.142 +T_REG.CPP
1.143 + Reinstated kernel heap checking.
1.144 +
1.145 +T_THREAD.CPP
1.146 + Modified heap sharing test to account for the fact that a thread does not
1.147 + create its heap until it runs.
1.148 + Remove test which attempted to resume an invalid thread handle.
1.149 + Added short delay between killing thread and checking that a mutex has
1.150 + been released.
1.151 + Removed Busy flag tests - not yet implemented in E32RT.
1.152 + Removed undertaker order test, Bill's bug test and any other tests which
1.153 + use thread-relative threads. Thread-relative threads are not supported.
1.154 +
1.155 +
1.156 +/******************************************************************************
1.157 + * NEW TESTS ADDED
1.158 + ******************************************************************************/
1.159 +
1.160 +T_CTXSW1, T_CTXSW2
1.161 + Test raw inter-process context switch speed (without message passing).
1.162 +
1.163 +T_IPCBM
1.164 + Benchmark IPC copying for various data sizes.
1.165 +
1.166 +T_KERNBM
1.167 + Benchmark timer creation, thread suspend and synchronous kernel-side
1.168 + messages.
1.169 +
1.170 +T_SVR3
1.171 + Stress test for IPC using non-shared sessions.
1.172 +
1.173 +T_SVR5
1.174 + Similar to T_SVR but tests IPC with shared sessions.
1.175 +
1.176 +T_SVR6
1.177 + Stress test for IPC using shared sessions.
1.178 +
1.179 +T_MEMCPY
1.180 + Tests Mem::Copy for all alignments and various data sizes.
1.181 +
1.182 +T_TBMA
1.183 + Tests TBitMapAllocator class used in the kernel.
1.184 +
1.185 +CPUMETER
1.186 + Gives a rough estimate of what percentage of the CPU time is currently
1.187 + being used.
1.188 +
1.189 +CRASH
1.190 + Causes a kernel fault.
1.191 +
1.192 +FREEMEM
1.193 + Displays the amount of free RAM remaining.
1.194 +
1.195 +T_ABT
1.196 + Repeatedly does an IPC copy which causes an exception. Left running in the
1.197 + background for latency measurements.
1.198 +
1.199 +T_ALIVE
1.200 + Prints to the debug serial port periodically based on both a tick and a
1.201 + millisecond timer. Used to check timers are running.
1.202 +
1.203 +T_BUSY
1.204 + Runs every millisecond on a millisecond timer. Prints a . every 1024ms.
1.205 + Used to cause lots of rescheduling to a moving user process.
1.206 +
1.207 +T_CMPRES
1.208 + Tests heap compression.
1.209 +
1.210 +T_DABT
1.211 + Causes a data abort.
1.212 +
1.213 +T_PABT
1.214 + Causes a prefetch abort.
1.215 +
1.216 +T_UNDEF
1.217 + Causes an undefined instruction exception.
1.218 +
1.219 +T_DEATH
1.220 + Displays exit information for any threads which die.
1.221 +
1.222 +T_DEATH2
1.223 + Like T_DEATH but writes the information to a file.
1.224 +
1.225 +T_EMPTY
1.226 + Does absolutely nothing! Has no imports.
1.227 +
1.228 +T_KILL
1.229 + Exits with a write to a file in progress.
1.230 +
1.231 +T_RAMUSE
1.232 + Displays total kernel heap used.
1.233 +
1.234 +T_RECORD
1.235 + Deleted because sound driver changes completely break it.
1.236 + Continuously records sound.
1.237 +
1.238 +T_REPMD
1.239 + Loads a replacement ATA media driver MEDATA2.PDD.
1.240 +
1.241 +T_STRES1
1.242 + General stress test - create/close kernel objects, heap alloc/dealloc,
1.243 + heap compression, killing threads.
1.244 +
1.245 +THRDLIST
1.246 + Writes a list of all threads in the system with register values to a file.
1.247 +
1.248 +T_CHUNK3
1.249 + Repeated chunk resizing.
1.250 +
1.251 +T_CHUNK4
1.252 + Tests disconnected chunks.
1.253 +
1.254 +T_MMUBM
1.255 + Benchmark test for memory allocation/deallocation.
1.256 +
1.257 +T_WBC
1.258 + Tests unmapping memory works on systems with write back caches.
1.259 +
1.260 +T_ATADR3
1.261 + Stress test of CF card. Multiple threads reading/writing card with media
1.262 + changes, power downs and threads exiting in the middle of operations.
1.263 +
1.264 +T_MEDIA
1.265 + Test of ATA media driver. Tests reading and writing of various lengths
1.266 + from 256 bytes to 16.5K, both aligned to sector boundary and with
1.267 + beginning or end of region or both unaligned.
1.268 +
1.269 +T_BATTP
1.270 + Deleted because sound driver changes break code and kernel reorg has
1.271 + probably broke the rest.
1.272 + Monitors battery voltage over an extended period with alarms playing and
1.273 + backlight in use.
1.274 +
1.275 +T_LATNCY
1.276 + Measures interrupt and kernel thread latency using a special build of the
1.277 + kernel.
1.278 +
1.279 +T_LAT2
1.280 + Measures interrupt, kernel thread and user thread latency using a periodic
1.281 + millisecond timer (interrupt every 1ms).
1.282 +
1.283 +D_LATNCY
1.284 + Device driver for T_LAT2. This runs the millisecond timer and the kernel
1.285 + thread. The user thread is part of T_LAT2.
1.286 +
1.287 +T_WRITE
1.288 + Does repeated 64K IPC copies. Run in the background during latency
1.289 + measurements.
1.290 +
1.291 +T_FRAG
1.292 + Does repeated chunk resizing using multiple threads. Run in the background
1.293 + during latency measurements.
1.294 +
1.295 +T_PROT2, T_PROT2A
1.296 + Test that user threads cannot corrupt the code/data chunk of a process while
1.297 + it is being loaded.
1.298 +
1.299 +T_PWRDN
1.300 + Repeatedly powers the machine on and off.
1.301 +
1.302 +
1.303 +/******************************************************************************
1.304 + * TESTS REMOVED OR NOT YET PORTED TO E32RT.
1.305 + ******************************************************************************/
1.306 +
1.307 +T_RTIM
1.308 + This tests super-threads, which never worked anyway. This has been superceded
1.309 + by T_LATNCY and T_LAT2.
1.310 +
1.311 +D_RTIM
1.312 + Device driver for T_RTIM.
1.313 +
1.314 +T_PTNOS
1.315 + Tests partner OS hooks - E32RT doesn't have these.
1.316 +
1.317 +D_PTNOS
1.318 + Device driver for T_PTNOS.
1.319 +
1.320 +T_MSTIM
1.321 + Millisecond timer test - this doesn't really test anything anyway.
1.322 +
1.323 +D_MSTIM
1.324 + Device driver for T_MSTIM.
1.325 +
1.326 +T_PROF
1.327 + CPU-time per thread profiling. Not yet implemented in E32RT. Requires special
1.328 + build of kernel.
1.329 +
1.330 +D_PROF
1.331 + Device driver for profiling - not yet implemented in E32RT.
1.332 +
1.333 +D_PATCH1, D_PATCH2, D_PATCH3
1.334 + Test patches - test loading of patches at boot time. These have not yet been
1.335 + ported.
1.336 +
1.337 +T_PCCD1, T_PCCD2, T_PCCD3
1.338 + These require D_PCCDIF and/or D_DRVIF, which have not yet been ported.
1.339 +
1.340 +D_PCCDIF, D_DRVIF
1.341 + Test device drivers for testing PC card controller/local media system. Not
1.342 + yet ported to E32RT.
1.343 +
1.344 +T_MEDDRV
1.345 + Tests multiple simultaneous requests on a media driver. Uses device drivers
1.346 + D_MEDT1, D_MEDT2 which have not yet been ported to E32RT. Test program
1.347 + T_ATADR3 does a similar thing by having multiple threads all accessing a
1.348 + drive at the same time.
1.349 +
1.350 +T_BEXFIQ, T_EXTFIQ, T_MEDCH
1.351 + Use device drivers which have not been ported. First two of these are only
1.352 + usable on a specially modified rack D.
1.353 +
1.354 +D_BEXFIQ, D_EXTFIQ, D_MEDCH
1.355 + Not ported to E32RT. First two of these are only usable on a specially
1.356 + modified rack D.
1.357 +
1.358 +T_DBG, T_BREAK
1.359 + No debug support in E32RT yet.
1.360 +
1.361 +T_RESET
1.362 + Not yet ported - it uses RDebug to read the super page, needs D_PATCHn
1.363 + drivers. Also doesn't work with the crash debugger. Snowdrop E32RT doesn't
1.364 + reboot properly after kernel fault (if the crash debugger is not there)
1.365 + since it needs some variant information to do so.
1.366 +
1.367 +E32SOUND, E32SDRV
1.368 + Sound drivers are still part of E32.
1.369 +
1.370 +T_MODEM1
1.371 + PC card serial driver not yet implemented.
1.372 +
1.373 +T_PROM
1.374 + EEPROM driver not implemented.
1.375 +
1.376 +T_CRMDRV, T_CRRDRV
1.377 + Compact ROM media driver not ported.
1.378 +
1.379 +T_DEBUG
1.380 + What is this supposed to test?