kerneltest/e32test/group/testmods.txt
changeset 9 96e5fb8b040d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/e32test/group/testmods.txt	Thu Dec 17 09:24:54 2009 +0200
@@ -0,0 +1,377 @@
+
+/******************************************************************************
+ * TESTS MODIFIED
+ ******************************************************************************/
+
+T_MESSGE.CPP
+	Use CreateFixedPoolSession() instead of CreateSession() so that testing the
+	number of available message slots works.
+
+T_PROC1.CPP
+	Name lengths reduced to reflect 64 character maximum
+	Added various Close() statements to get memory leak checking to work
+	Removed dodgy __KHEAP_CHECK(n) statements with various strange values of n -
+	changing kernel implementation is very likely to invalidate these.
+	Reinstated MurderProcess() test.
+	Look for $HEAP chunk instead of $STK; also don't add stack size to base to
+	get heap address.
+	Changed KERN-SVR panic to KERN-EXEC.
+	Removed test that attempts to resume an invalid process handle.
+	Added overall kernel heap checking covering the whole test.
+	Changed filenames so that test will run from any drive not just Z. T_PROC2
+	should be in the same directory as T_PROC1.
+	Speed test runs server thread at higher priority than client.
+
+T_SVR.CPP
+	Changed panic code from KErrArgument to ECausedException.
+	Added some more rogue thread tests to check what happens when an invalid
+	message pointer is used in RMessage::Complete.
+	Speed test runs server thread at higher priority than client.
+
+T_SVR2.CPP
+	Removed granularity expansion stuff.
+	Reinstated kernel heap checking.
+
+D_LDD.CPP
+	Modified to work with different kernel interface.
+
+T_SERIAL.CPP
+	100ms delay between powering up and checking serial port signal lines.
+	Use RDevComm instead of RBusDevComm.
+
+T_SOUND.CPP
+	Replaced with completely new code which tests the 6.x sound drivers which
+	have the new functionality for the MediaServer.
+	Removed all tests which require User::FreeLogicalDevice or
+	User::FreePhysicalDevice.
+	Don't test that Prepare() allocates memory - it doesn't.
+	Changed panic from KERN-SVR to KERN-EXEC.
+	Removed tests which issue a request from wrong thread (handle is now
+	thread relative).
+	Change filename used for process creation so that test runs from any drive.
+
+T_TLDD.CPP
+	Removed all tests which require User::FreeLogicalDevice or
+	User::FreePhysicalDevice, e.g. testing that .data/.bss are reinitialised
+	when the device driver is reloaded.
+
+T_START1.CPP, T_START2.CPP, T_START3.CPP
+	Print the file name so that these three DLLs end up with different code
+	chunks - otherwise loader gets confused when running from RAM.
+
+T_TDLL12.CPP
+	Removed __KHEAP_CHECK(n) tests.
+
+T_TDLLA.CPP
+	Added another DLL (T_DLLA2) which statically links to T_TDLLA.EXE. However
+	this test is currently commented out since the loader cannot handle DLLs
+	which link to an already-loaded RAM-based EXE (it attempts to load the .EXE
+	again as a DLL). The idea was to test that the .EXE entry point is not
+	called again.
+	Static data address for T_DLLA3 changed from 0x30300000 to 0x30010000.
+	
+T_TLS.CPP
+	Reinstated kernel heap checking, but removed __KHEAP_CHECK(n) tests.
+
+T_HEAP.CPP
+	Close the heap after each test to prevent chunks accumulating and exceeding
+	the 8 chunk limit.
+	Modified heap sharing test to account for the fact that a thread does not
+	create its heap until it runs.
+	Added overall kernel heap checking.
+
+T_KHEAP.CPP
+	Use shared heaps for the multitudinous threads involved so we don't exceed
+	the 8 chunk limit. Test thread creation with shared heaps and with separate
+	heaps.
+	Change filename used for process creation so that test runs from any drive.
+
+T_MLDR.CPP
+	Check test is running from Z: - it doesn't do anything if running from any
+	other drive.
+
+D_SHADOW.CPP
+	Modified to work with different kernel interface.
+	Dynamic binding of exception handlers not yet done in E32RT.
+	Call Mmu::FlushShadow() after modifying shadow page to ensure that it is
+	written out of a write-back cache.
+
+T_CHUNK.CPP
+	Reduced number of chunks created from 10 to 3.
+	Removed granularity expansion stuff.
+	Reinstated kernel heap checking.
+	Look for this process' $HEAP chunk rather than any chunk *Main::$STK - this
+	was picking up F32's stack/heap chunk.
+
+T_MWAIT.CPP
+	Use different priority values.
+
+T_ATADRV.CPP
+	Use TBusLocalDrive::ForceMediaChange() instead of UserPcCardCntrl::PwrDown().
+	Added kernel heap checking on media change.
+
+T_ATDRV2.CPP
+	Use TBusLocalDrive::ForceMediaChange() instead of UserPcCardCntrl::PwrDown().
+
+T_PCCDSK.CPP
+	Use TBusLocalDrive::ForceMediaChange() instead of UserSvr::ForceRemountMedia.
+
+D_POWR.CPP
+	Modified to work with different kernel/power manager interface.
+
+T_POWR.CPP
+	5 second alarm test does not use LDD to check that no switch off occurred.
+	This is because the system does prepare to power down but then changes its
+	mind at the last minute - this is necessary since power down and power up
+	are completely asynchronous operations.
+	Change filename used for process creation so that test runs from any drive.
+	Kill the extra processes we create - don't leave them there forever.
+
+T_EXC.CPP
+	Added more tests of RThread::Context(). Test context of preempted thread,
+	waiting thread and suspended thread.
+
+T_PROT.CPP
+	Panic a dead thread rather than a bad handle.
+	Added an extra test to check that kernel doesn't die if a bad pointer is
+	passed to DThread::RequestComplete().
+
+T_REG.CPP
+	Reinstated kernel heap checking.
+
+T_THREAD.CPP
+	Modified heap sharing test to account for the fact that a thread does not
+	create its heap until it runs.
+	Remove test which attempted to resume an invalid thread handle.
+	Added short delay between killing thread and checking that a mutex has
+	been released.
+	Removed Busy flag tests - not yet implemented in E32RT.
+	Removed undertaker order test, Bill's bug test and any other tests which
+	use thread-relative threads. Thread-relative threads are not supported.
+
+
+/******************************************************************************
+ * NEW TESTS ADDED
+ ******************************************************************************/
+
+T_CTXSW1, T_CTXSW2
+	Test raw inter-process context switch speed (without message passing).
+
+T_IPCBM
+	Benchmark IPC copying for various data sizes.
+
+T_KERNBM
+	Benchmark timer creation, thread suspend and synchronous kernel-side
+	messages.
+
+T_SVR3
+	Stress test for IPC using non-shared sessions.
+
+T_SVR5
+	Similar to T_SVR but tests IPC with shared sessions.
+
+T_SVR6
+	Stress test for IPC using shared sessions.
+
+T_MEMCPY
+	Tests Mem::Copy for all alignments and various data sizes.
+
+T_TBMA
+	Tests TBitMapAllocator class used in the kernel.
+
+CPUMETER
+	Gives a rough estimate of what percentage of the CPU time is currently
+	being used.
+
+CRASH
+	Causes a kernel fault.
+
+FREEMEM
+	Displays the amount of free RAM remaining.
+
+T_ABT
+	Repeatedly does an IPC copy which causes an exception. Left running in the
+	background for latency measurements.
+
+T_ALIVE
+	Prints to the debug serial port periodically based on both a tick and a
+	millisecond timer. Used to check timers are running.
+
+T_BUSY
+	Runs every millisecond on a millisecond timer. Prints a . every 1024ms.
+	Used to cause lots of rescheduling to a moving user process.
+
+T_CMPRES
+	Tests heap compression.
+
+T_DABT
+	Causes a data abort.
+
+T_PABT
+	Causes a prefetch abort.
+
+T_UNDEF
+	Causes an undefined instruction exception.
+
+T_DEATH
+	Displays exit information for any threads which die.
+
+T_DEATH2
+	Like T_DEATH but writes the information to a file.
+
+T_EMPTY
+	Does absolutely nothing! Has no imports.
+
+T_KILL
+	Exits with a write to a file in progress.
+
+T_RAMUSE
+	Displays total kernel heap used.
+
+T_RECORD
+	Deleted because sound driver changes completely break it.
+	Continuously records sound.
+
+T_REPMD
+	Loads a replacement ATA media driver MEDATA2.PDD.
+
+T_STRES1
+	General stress test - create/close kernel objects, heap alloc/dealloc,
+	heap compression, killing threads.
+
+THRDLIST
+	Writes a list of all threads in the system with register values to a file.
+
+T_CHUNK3
+	Repeated chunk resizing.
+
+T_CHUNK4
+	Tests disconnected chunks.
+
+T_MMUBM
+	Benchmark test for memory allocation/deallocation.
+
+T_WBC
+	Tests unmapping memory works on systems with write back caches.
+
+T_ATADR3
+	Stress test of CF card. Multiple threads reading/writing card with media
+	changes, power downs and threads exiting in the middle of operations.
+
+T_MEDIA
+	Test of ATA media driver. Tests reading and writing of various lengths
+	from 256 bytes to 16.5K, both aligned to sector boundary and with
+	beginning or end of region or both unaligned.
+
+T_BATTP
+	Deleted because sound driver changes break code and kernel reorg has 
+	probably broke the rest.
+	Monitors battery voltage over an extended period with alarms playing and
+	backlight in use.
+
+T_LATNCY
+	Measures interrupt and kernel thread latency using a special build of the
+	kernel.
+
+T_LAT2
+	Measures interrupt, kernel thread and user thread latency using a periodic
+	millisecond timer (interrupt every 1ms).
+
+D_LATNCY
+	Device driver for T_LAT2. This runs the millisecond timer and the kernel
+	thread. The user thread is part of T_LAT2.
+
+T_WRITE
+	Does repeated 64K IPC copies. Run in the background during latency
+	measurements.
+
+T_FRAG
+	Does repeated chunk resizing using multiple threads. Run in the background
+	during latency measurements.
+
+T_PROT2, T_PROT2A
+	Test that user threads cannot corrupt the code/data chunk of a process while
+	it is being loaded.
+
+T_PWRDN
+	Repeatedly powers the machine on and off.
+
+
+/******************************************************************************
+ * TESTS REMOVED OR NOT YET PORTED TO E32RT.
+ ******************************************************************************/
+
+T_RTIM
+	This tests super-threads, which never worked anyway. This has been superceded
+	by T_LATNCY and T_LAT2.
+
+D_RTIM
+	Device driver for T_RTIM.
+
+T_PTNOS
+	Tests partner OS hooks - E32RT doesn't have these.
+
+D_PTNOS
+	Device driver for T_PTNOS.
+
+T_MSTIM
+	Millisecond timer test - this doesn't really test anything anyway.
+
+D_MSTIM
+	Device driver for T_MSTIM.
+
+T_PROF
+	CPU-time per thread profiling. Not yet implemented in E32RT. Requires special
+	build of kernel.
+
+D_PROF
+	Device driver for profiling - not yet implemented in E32RT.
+
+D_PATCH1, D_PATCH2, D_PATCH3
+	Test patches - test loading of patches at boot time. These have not yet been
+	ported.
+
+T_PCCD1, T_PCCD2, T_PCCD3
+	These require D_PCCDIF and/or D_DRVIF, which have not yet been ported.
+
+D_PCCDIF, D_DRVIF
+	Test device drivers for testing PC card controller/local media system. Not
+	yet ported to E32RT.
+
+T_MEDDRV
+	Tests multiple simultaneous requests on a media driver. Uses device drivers
+	D_MEDT1, D_MEDT2 which have not yet been ported to E32RT. Test program
+	T_ATADR3 does a similar thing by having multiple threads all accessing a
+	drive at the same time.
+
+T_BEXFIQ, T_EXTFIQ, T_MEDCH
+	Use device drivers which have not been ported. First two of these are only
+	usable on a specially modified rack D.
+
+D_BEXFIQ, D_EXTFIQ, D_MEDCH
+	Not ported to E32RT. First two of these are only usable on a specially
+	modified rack D.
+
+T_DBG, T_BREAK
+	No debug support in E32RT yet.
+
+T_RESET
+	Not yet ported - it uses RDebug to read the super page, needs D_PATCHn
+	drivers. Also doesn't work with the crash debugger. Snowdrop E32RT doesn't
+	reboot properly after kernel fault (if the crash debugger is not there)
+	since it needs some variant information to do so.
+
+E32SOUND, E32SDRV
+	Sound drivers are still part of E32.
+
+T_MODEM1
+	PC card serial driver not yet implemented.
+
+T_PROM
+	EEPROM driver not implemented.
+
+T_CRMDRV, T_CRRDRV
+	Compact ROM media driver not ported.
+
+T_DEBUG
+	What is this supposed to test?