os/kernelhwsrv/kerneltest/e32test/group/testmods.txt
changeset 0 bde4ae8d615e
     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?