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