# 
# $Copyright
# Copyright 1993, 1994, 1995  Intel Corporation
# INTEL CONFIDENTIAL
# The technical data and computer software contained herein are subject
# to the copyright notices; trademarks; and use and disclosure
# restrictions identified in the file located in /etc/copyright on
# this system.
# Copyright$
# 
 
#
# (c) Copyright 1990, OPEN SOFTWARE FOUNDATION, INC.
# ALL RIGHTS RESERVED
#
# OSF/1 Release 1.0
#
#


N.B.	For test7 to pass, the echo_loader must be installed as the
	default loader (/sbin/loader).


Specific Tests

    o exec_with_loader() system call

	o flags argument
	    o Test that flags are passed from exec_with_loader()
	      caller to the loader itself.  (Test: test01)
	    o Test that a NULL flags value is passed from
	      exec_with_loader() caller to the loader itself.
	      (Test: test02)

	o loader argument    
	    o Test that user specified loader works.  (Test: test03)
	    o Test bad pointer to loader name (EFAULT)  (Test: test04)
	    o Test no such loader name (ENOENT)  (Test: test05)
	    o Test no execute access to loader (EACCES)  (Test: test06)
	    o Test that call to default loader works (Test: test07)

	o file argument
	    o Test that good filename is actually passed to the loader
	      (Test: test08)
	    o Test bad pointer to file name (EFAULT)  (Test: test11)
	    o Test no such file name (ENOENT)  (Test: test12)
	    o Test no execute access to file (EACCES)  (Test: test13)

	o argv argument
	    o Test that arguments are passed correctly  (Test: test14)
	    o Test zero length argument list  (Test: test16)
	    o Test bad pointer to arguments (EFAULT)  (Test: test18)
	    o Test #! argument processing
		- with zero length argv  (Test: test20)
		- with argv length one  (Test: test21)
		- with argv greater than length one  (Test: test22)
		- without a shell argument string  (Test: test23)
		- with symbolic link to shell  (Test: test24)
		- zero length script (ENOEXEC)  (Test: test25)
		- one byte script containing # (ENOEXEC)  (Test: test26)
		- double indirection  (Test: Not needed, is OK for
		  exec_with_loader())
		- newline more than MAXINTERP characters away
		  (Test: test28)
		- auxv[file] is actually the name of the shell program,
		  not the name of the script  (Test: test27)

	o envp argument
	    o Test that environment variables are passed correctly
	      (Test: test15)
	    o Test zero length environment variable list  (Test: test17)
	    o Test bad pointer to environment variables (EFAULT)
	      (Test: test19)

	o auxv
	    o Test that loader name passed correctly  (Test: test09)
	    o Test that file name passed correctly  (Test: test08, above)
	    o Test that loader flags passed correctly  (Tests: test01
		& test02, above)

	o argc
	    o Test that argc is correctly set  (Test: test29)
	    o Test that argc agrees with size of argv  (Test: test30)

    o setuid/setgid
	- Make sure setuid programs forced to use default loader
	  (Test: test31)
	- Make sure setgid programs forced to use default loader
	  (Test: test32)

    o random tests
	X Test execve() calling exec_load_loader()  (Test: test10)
	o Test that auxv correctly passed to regular commands, that is
	  commands other than loaders
	o Test that transfer of control to function returned by main()
	  works correctly.  Make sure no extra frames pushed on stack.
