Universal Driver

I)  Use the universal driver to read request from input files, allowing specific function servers and functions to be tested.

II)  Universal driver can generate requests randomly, allowing large numbers of requests to be sent for stress testing.
	a)  Test if user can set a random timer to cause requests to be sent very rapidly or slowly.
	b)  Test if the messages is in the right order by changing time.
	c)  Test if data types are valid for the server. 
	d)  Test if the send requests are with accurate parameters in order to test a function server.  
	e)  Test if the input file has valid parameters to request to server.
	

Dummy Server

	Features:

	a)  Server reads a menu structure from a file.
	b)  Each function that is defined in the menu structure is associated with a specific input file where replies for that function server can be found.
	c)  Servr generates LVFs and periodically sends them to the driver.
	d)  Server allows teh user to force unusual cases for testing purposes.  
	To make the menu structure as simple or complex as desired, server uses an input file to read and send the menu structure to the driver.  

	Use complex structure to further test the dirver's ability to handle the menu structure.
	
	To give the driver a wide range of possible functions and menus to make sure that the sturctures are being send to the individual devices properly.

	Make sure that the driver sends requests to valid function servers.  If function server in the request message is not valid,  an error reply is sent.

	Server rewinds the file pointer to the beginning of the file again, if the end of the input file is found, to ensure the replies will not run out in the input file.

	To test if the driver handles LVFs properly:

	a) Before start of communcation phase, the dummy server generates a number of LVFs and places them in a file.  

	b) Once communication starts, server sends one of the LVFs from the file occasionally, until end of communication or LVF file is empty.  
	
	Test if the driver is shut down properly:
	a)  Server send DDC_END_REQUEST message before driver is ready to shut down
	b)  Server shut down message queues and quit without warning.
	c)  Send unusual messages to test the driver.


Universal Driver Environment Variables:

DDC_NUM_INFILES - determine how many input files to use by the driver.
	a)  Test set to 0 - random request
	b)  Test set to 1 - use input file to read requests to send to server.
	c)  Test set to n - ...
	To see what differences it will make by setting it to different number.  
DDC_INFILE_PATH - determine the path to input files.  This is used when DDC_NUM_INFILES is set to 1 or greater.

DDC_NUM_REQS - determine how many requests the universal driver will send whe it is generating its own requests.
	a)  for Random request only - driver keeps track of how many, non-inquiry, requests that it makes.
	b)  request is specified by the environment variable.  
	c) Driver requests a shutdown after the number of requests are made.
	Changing the number of request, to see what the outcome will be.

DDC_TEST_DRIVER -  to cause the driver to send output to a file.
	
DDC_TRANS_MODE - to let the universal driver know what mode the requests that it is sending should be sent in.
	a)  0 - offline mode
	b)  1 - online mode (left blank or set to invalid value, driver default)

DDC_USE_DEBUGGER - to run the universla driver using the debugger.
	a)  set value to none 0 - driver go into infinite loop, start debugger.
	b)  test with 0, what will happen?


Dummy Servery Environment Variables:

DDC_TEST_SERVER - to test the dummy server
	a)  set to the path and/or file name to be used for debugging.
	b)  server open the file for writing and placing debug messages in it.
	c) left blank

MENU_FILE - 
	a)  gives the path and file name of the file in which the server will look for the menu structure to be sent to driver.
	b)  If no path is given, server assumes the file in the user's home dir.


SEPARATION_CHARACTER - to set separation character for the dummy server.
	default to a "," if it's not set.

	

