File: pr/tests/readme

This document describes the test cases in the NSPR directory
pr/tests.

=====================================================================
There is a sub-directory here:

dll
	sources for the .dll(.so) used by test dlltest.c

=====================================================================
The individual files are described here.

The script 'runtests.ksh' enumerates and runs test cases that are
expected to run on all platforms.


accept.c
	Tests PR_Accept() and related socket functions.

acceptread.c
	Tests PR_AcceptRead()

alarm.c
	Tests alarm functions declared in obsolete/pralarm.h.
	The alarm functions are obsolete, so is this test.

atomic.c
	Tests Atomic operations defined in pratom.h

attach.c
	Test PR_AttachThread()
	Note: This is an NSPR private function.

bigfile.c
	Test 64bit file offset functions declared in prio.h

bug1test.c
	Demonstrates a bug on NT.

cleanup.c
	Tests PR_Cleanup() declared in prinit.h

cltsrv.c
	Tests many socket functions.

concur.c
	Tests threading functions and concurrent operations.

cvar.c
	Tests condition variables.

cvar2.c
	Tests condition variables. A rather abusive test.

dbmalloc.c
	Obsolete. Originally for testing debug builds of NSPR's malloc.

dbmalloc1.c
	Obsolete. Originally for testing debug builds of NSPR's malloc.

dceemu.c
	Tests special functions for DCE emulation.

depend.c
	Obsoltet. Tests early spec for library dependency.

dlltest.c
	Tests dynamic library functions. Used with dll/my.c

dtoa.c
	Tests conversions of double to string.

exit.c
	Tests PR_ProcessExit() declared in prinit.h

fileio.c
	Tests NSPR semaphores a bit of file i/o and threading
	functions.

foreign.c
	Test auto-attach of a thread created by something other than
	NSPR.

forktest.c
	Limited use. Tests unix fork() and related functions.

fsync.c
	Tests use of PR_Sync() declared in prio.h

getproto.c
	Tests socket functions PR_GetProtoByName(), etc.

i2l.c
	Tests LongLong functions for converting 32bit integer to 64bit
	integer.

initclk.c
	Tests timing on minimal use of condition variable

inrval.c
	Tests interval timing functions.

instrumt.c
	Tests instrumentation functions. prcountr.h prtrace.h

intrupt.c
	Tests PR_Interrupt()

ioconthr.c
	Tests i/o continuation mechanism in pthreads.

io_timeout.c
	Test socket i/o timeouts.

io_timeoutk.c
	Obsolete. Subsumed in io_timeout.c

io_timeoutu.c
	Obsolete. Subsumed in io_timeout.c

ipv6.c
	Tests IPv6. IPv6 is not used by NSPR clients.

join.c
	Tests PR_JoinThread()

joinkk.c
	Tests PR_JoinThread()

joinku.c
	Tests PR_JoinThread()

joinuk.c
	Tests PR_JoinThread()

joinuu.c
	Tests PR_JoinThread()

layer.c
	Tests layered I/O.

lazyinit.c
	Tests implicit initialization.

lltest.c
	Tests LongLong (64bit integer) arithmentic and conversions.

lock.c
	Tests PR_Lock() in heavily threaded environment.

lockfile.c
	Test PR_Lockfile().

logger.c
	Tests PR_LOG()

makefile
	The makefile that builds all the tests

many_cv.c
	Tests aquiring a large number of condition variables.

multiwait.c
	???

nbconn.c
	Test non-blocking connect.

nblayer.c
	Tests NSPR's layered I/O capability.

nonblock.c
	Tests operations on non-blocking socket.

op_2long.c
	Tests PR_Open() where filename is too long.

op_filnf.c
	Tests PR_Open() where filename is NotFound.

op_filok.c
	Tests PR_Open() where filename is accessable.

op_noacc.c
	Tests PR_Open() where file permissions are wrong.
	Limited use. Windows has no concept of Unix style file permissions.

op_nofil.c
	Tests PR_Open() where filename does not exist.

parent.c
	Test parent/child process capability

perf.c
	Tests and measures context switch times for various thread
	syncronization functions.

pipeping.c
	Tests inter-process pipes. Run with pipepong.c

pipepong.c
	Tests inter-process pipes. Run with pipeping.c

pipeself.c
	Tests inter-thread pipes.

pollable.c
	Tests pollable events. prio.h

poll_er.c
	Tests PR_Poll() where an error is expected.

poll_nm.c
	Tests PR_Poll() where normal operation is expected.

poll_to.c
	Tests PR_Poll() where timeout is expected.

prftest.c
	Tests printf-like formatting.

prftest1.c
	Obsolete. Subsumed in prftest.c

prftest2.c
	Obsolete. Subsumed in prftest.c

prfz.c
	Tests printf handling of (s)size_t formats

priotest.c
	Limited use. Tests NSPR thread dispatching priority.

provider.c

prpoll.c
	Tests PR_Poll().

prselect.c
	Obsolete. PR_Select() is obsolete.

prttools.h
	Unused file.

ranfile.c
	Tests random file access.

readme
	This file.

runtests.ksh
	A korn shell script that runs a set of tests that should run
	on any of the NSPR supported platforms.

runtests.pl
	A perl script to run the test cases. This srcipt runs tests
	common to all platforms and runs tests applicable to specific
	platforms. Uses file runtests.txt to control execution.

runtests.txt
	Control file for perl script: runtests.pl

rwlocktest.c
	Tests Reader/Writer lock

selct_er.c
	Obsolete. PR_Select() is obsolete.

selct_nm.c
	Obsolete. PR_Select() is obsolete.

selct_to.c
	Obsolete. PR_Select() is obsolete.

select2.c
	Obsolete. PR_Select() is obsolete.

sel_spd.c
	Obsolete. PR_Select() is obsolete.

sem.c
	Obsolete. Semaphores are not supported.

server_test.c
	Tests sockets by simulating a server in loopback mode.
	Makes its own client threads.

servr_kk.c
	Tests client/server sockets, threads using system threads.

servr_ku.c
	Tests client/server sockets, threads using system and user threads.

servr_uk.c
	Tests client/server sockets, threads using system and user threads.

servr_uu.c
	Tests client/server sockets, threads user threads.

short_thread.c
	Tests short-running threads. Useful for testing for race conditions.

sigpipe.c
	Tests NSPR's SIGPIPE handler. Unix only.

sleep.c
	Limited use. Tests sleep capability of platform.

socket.c
	Tests many socket functions.

sockopt.c
	Tests setting and getting socket options.

sprintf.c
	Tests sprintf.

stack.c
	Test atomic stack operations.

stat.c
	Tests performance of getfileinfo() vs. stat()

stdio.c
	Tests NSPR's handling of stdin, stdout, stderr.

strod.c
	Tests formatting of double precision floating point.

suspend.c
	Private interfaces PR_SuspendAll(), PR_ResumeAll(), etc.

switch.c
	Tests thread switching

system.c
	Tests PR_GetSystemInfo()

testbit.c
	Tests bit arrays.

testfile.c
	Tests many file I/O functions.

threads.c
	Tests thread caching.

thruput.c
	Tests socket thruput. Must be run by hand as client/server.
	Does not self terminate.

time.c
	Incomplete. Limited use.

timemac.c
	Test time and date functions. Originally for Mac.

timetest.c
	Tests time conversion over a wide range of dates.

tmoacc.c
	Server to tmocon.c and writev.c
	Do not run it by itself.

tmocon.c
	Client thread to tmoacc.c

tpd.c
	Tests thread private data.

udpsrv.c
	Tests UDP socket functions.

ut_ttools.h
	unused file.

version.c
	Extract and print library version data.

vercheck.c
	Test PR_VersionCheck().

writev.c
	Tests gather-write on a socket. Requires tmoacc.c

xnotify.c
	Tests cached monitors.

yield.c
	Limited use

y2k.c
	Test to verify NSPR's date functions as Y2K compliant.

dll\Makefile
	makefile for mygetval.c, mysetval.c

dll\mygetval.c
	Dynamic library test. See also dlltest.c

dll\mysetval.c
	Dynamic library test. See also dlltest.c
