Miscellaneous tests

obj_mgmt_tests
	This testsuite performs various object management tasks.

	The do_CreateTokenObjects() and do_HWFeatureSearch() functions
	create token objects and by default or skipped.
	To include these two functions, use the "-noskip" option when issuing
	the tests.

spinlock_tests.sh
	Tests the two spinlocks: /var/lock/LCK..opencryptoki which is used 
	when accessing shared memory for pkcsslotd and pkcs#11 api calls.
	And /var/lock/LOCK..opencryptoki_stdll which is used when accessing
	global shared memory in the STDLLs.

	The file, spinlock_tests.sh is a bash script that creates a
	number of child processes. Each child process runs spinlock_child.sh 
	script.

	Quick Start Info:

	Execute testcase by, 
		spinlock_tests.sh -p <num> -l <num> -s <slotid>
		p: the amount of child processes to create
		l: the number of times each child process executes 
		   obj_mgmt_lock_tests
		s: the slot to test

	For example, 
		spinlock_tests.sh -p 15 -l 5 -s 1

	Additional Info:

	obj_mgmt_lock_tests
	spinlock_child.sh

	The file, spinlock_tests.sh is a bash script that creates a
	number of child processes. Each child process runs spinlock_child.sh 
	script.

	The file, spinlock_child.sh is a bash script that executes
	obj_mgmt_lock_tests a number of times.

	obj_mgmt_lock_tests was derived from obj_mgmt.c.
	It contains several api calls that will want to acquire the various
	spinlocks.

	Usage: spinlock_child.sh -l <count> -s <slotid>
        l: the number of times each child process executes obj_mgmt_lock_tests
        s: the slot to test

	Usage: obj_mgmt_lock_tests -slot <slotid>

threadmkobj
	TODO: To be tested.

speed	
	TODO: To be tested.
	The speed program is a performance oriented test program. It times
	certain operations over multiple runs, and gives min, max, and average
	times for these operations. Performace tests are run for: 2048 bit
	RSA keygen, 10½4 bit RSA keygen, 1024 bit RSA signature generate,
	1024 bit RSA signature verify, triple DES encrypt/decrypt on a
	10K message, and SHA1 on a 10K message.

tok_obj
	TODO: To be tested.
	This program is used to test object creation and modification.
	The token does not need to be intitialized to use this application.
	When run, a user is presented with a menu. From there, the user
	must initialize the token and set the user PIN if this has not been
	done previously. The menu choice for setting the user PIN sets it
	to "12345678".

tok_des
	TODO: To be tested.

tok_rsa
	TODO: To be tested.

fork
	This testcase forks off a client process in various situations, e.g
	before and after initialization, before and after session creation,
	and ensures that the forked client process finds an uninitialized
	Opencryptoki environment and does not have access to any of the
	parent's sessions or objects. Also the parents sessions and objects
	must still be available and functional in the parent process after the 
	fork.

	As per PKCS#11 standard, a forked child process is no PKCS#11 
	application after the fork, and must initialize Opencryptoki using
	C_Initialize() in order to use Opencryptoki.

	Usage: fork -slot <slotid>

multi_instance
	This testcase open sessions on two different tokens within one process.
	It ensures that both tokens operate independently, and that sessions of
	objects opened with one token can not be used with the other one.

	To test multi-instance support of a token, the Opencryptoi configuration
	must be set up that way that 2 tokens of the same type (e.g. 2 EP11
	tokens) exist.

	Usage: multi_instance -slot1 <slotid1> -slot2 <slotid2>

tok2tok_transport
	This testcase open sessions on two different tokens within one process.
	It then generates a keys in the first token, and transports them via
	various Wrap/Unwrap mechanisms to the other token. It is checked that
	the transported key can still be used in the receiving token. 

	Usage: tok2tok_transport -slot1 <slotid1> -slot2 <slotid2>
