os/kernelhwsrv/kerneltest/e32test/group/testmods.txt
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     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?