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.

sproc_ch.c
	Obsolete. Tests IRIX sproc-based threads.

sproc_p.c
	Obsolete. Tests IRIX sproc-based threads.

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
