$! TESTS.COM  --  Performs the necessary tests
$!
$! P1	tests to be performed.  Empty means all.
$
$	__proc = f$element(0,";",f$environment("procedure"))
$	__here = f$parse(f$parse("A.;",__proc) - "A.;","[]A.;") - "A.;"
$	__save_default = f$environment("default")
$	__arch := VAX
$	if f$getsyi("cpu") .ge. 128 then __arch := AXP
$	texe_dir := sys$disk:[-.'__arch'.exe.test]
$	exe_dir := sys$disk:[-.'__arch'.exe.apps]
$
$	set default '__here'
$	on control_y then goto exit
$	on error then goto exit
$
$	if p1 .nes. ""
$	then
$	    tests = p1
$	else
$	    tests := -
	test_des,test_idea,test_sha,test_md5,test_hmac,test_md2,test_mdc2,-
	test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,-
	test_rand,test_bn,test_enc,test_x509,test_rsa,test_crl,test_sid,-
	test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,-
	test_ss,test_ssl,test_ca
$	endif
$	tests = f$edit(tests,"COLLAPSE")
$
$	BNTEST :=	bntest
$	EXPTEST :=	exptest
$	IDEATEST :=	ideatest
$	SHATEST :=	shatest
$	SHA1TEST :=	sha1test
$	MDC2TEST :=	mdc2test
$	RMDTEST :=	rmdtest
$	MD2TEST :=	md2test
$	MD5TEST :=	md5test
$	HMACTEST :=	hmactest
$	RC2TEST :=	rc2test
$	RC4TEST :=	rc4test
$	RC5TEST :=	rc5test
$	BFTEST :=	bftest
$	CASTTEST :=	casttest
$	DESTEST :=	destest
$	RANDTEST :=	randtest
$	DHTEST :=	dhtest
$	DSATEST :=	dsatest
$	METHTEST :=	methtest
$	SSLTEST :=	ssltest
$	RSATEST :=	rsa_test
$
$	tests_i = 0
$ loop_tests:
$	tests_e = f$element(tests_i,",",tests)
$	tests_i = tests_i + 1
$	if tests_e .eqs. "," then goto exit
$	goto 'tests_e'
$
$ test_des:
$	mcr 'texe_dir''destest'
$	goto loop_tests
$ test_idea:
$	mcr 'texe_dir''ideatest'
$	goto loop_tests
$ test_sha:
$	mcr 'texe_dir''shatest'
$	mcr 'texe_dir''sha1test'
$	goto loop_tests
$ test_mdc2:
$	mcr 'texe_dir''mdc2test'
$	goto loop_tests
$ test_md5:
$	mcr 'texe_dir''md5test'
$	goto loop_tests
$ test_hmac:
$	mcr 'texe_dir''hmactest'
$	goto loop_tests
$ test_md2:
$	mcr 'texe_dir''md2test'
$	goto loop_tests
$ test_rmd:
$	mcr 'texe_dir''rmdtest'
$	goto loop_tests
$ test_bf:
$	mcr 'texe_dir''bftest'
$	goto loop_tests
$ test_cast:
$	mcr 'texe_dir''casttest'
$	goto loop_tests
$ test_rc2:
$	mcr 'texe_dir''rc2test'
$	goto loop_tests
$ test_rc4:
$	mcr 'texe_dir''rc4test'
$	goto loop_tests
$ test_rc5:
$	mcr 'texe_dir''rc5test'
$	goto loop_tests
$ test_rand:
$	mcr 'texe_dir''randtest'
$	goto loop_tests
$ test_enc:
$	@testenc.com
$	goto loop_tests
$ test_x509:
$	define sys$error nla0:
$	write sys$output "test normal x509v1 certificate"
$	@tx509.com
$	write sys$output "test first x509v3 certificate"
$	@tx509.com v3-cert1.pem
$	write sys$output "test second x509v3 certificate"
$	@tx509.com v3-cert2.pem
$	deassign sys$error
$	goto loop_tests
$ test_rsa:
$	define sys$error nla0:
$	@trsa.com
$	deassign sys$error
$	mcr 'texe_dir''rsatest'
$	goto loop_tests
$ test_crl:
$	define sys$error nla0:
$	@tcrl.com
$	deassign sys$error
$	goto loop_tests
$ test_sid:
$	define sys$error nla0:
$	@tsid.com
$	deassign sys$error
$	goto loop_tests
$ test_req:
$	define sys$error nla0:
$	@treq.com
$	@treq.com testreq2.pem
$	deassign sys$error
$	goto loop_tests
$ test_pkcs7:
$	define sys$error nla0:
$	@tpkcs7.com
$	@tpkcs7d.com
$	deassign sys$error
$	goto loop_tests
$ test_bn:
$	write sys$output "starting big number library test, could take a while..."
$	create bntest-vms.fdl
FILE
	ORGANIZATION	sequential
RECORD
	FORMAT		stream_lf
$	create/fdl=bntest-vms.fdl bntest-vms.sh
$	open/append foo bntest-vms.sh
$	type/output=foo: sys$input:
<< __FOO__ bc | awk '{ \
if ($$0 != "0") {print "error"; exit(1); } \
if (((NR+1)%64) == 0) print NR+1," tests done"; }'
$	define/user sys$output bntest-vms.tmp
$	mcr 'texe_dir''bntest'
$	copy bntest-vms.tmp foo:
$	delete bntest-vms.tmp;*
$	type/output=foo: sys$input:
__FOO__
$	close foo
$	write sys$output "-- copy the [.test]bntest-vms.sh file to a Unix system and run it"
$	write sys$output "-- through sh or bash to verify that the bignum operations went well."
$	write sys$output ""
$	write sys$output "test a^b%c implementations"
$	mcr 'texe_dir''exptest'
$	goto loop_tests
$ test_verify:
$	write sys$output "The following command should have some OK's and some failures"
$	write sys$output "There are definitly a few expired certificates"
$	@tverify.com
$	goto loop_tests
$ test_dh:
$	write sys$output "Generate a set of DH parameters"
$	mcr 'texe_dir''dhtest'
$	goto loop_tests
$ test_dsa:
$	write sys$output "Generate a set of DSA parameters"
$	mcr 'texe_dir''dsatest'
$	goto loop_tests
$ test_gen:
$	write sys$output "Generate and verify a certificate request"
$	@testgen.com
$	goto loop_tests
$ test_ss:
$	write sys$output "Generate and certify a test certificate"
$	@testss.com
$	goto loop_tests
$ test_ssl:
$	write sys$output "test SSL protocol"
$	@testssl.com
$	goto loop_tests
$ test_ca:
$	write sys$output "Generate and certify a test certificate via the 'ca' program"
$	@testca.com
$	goto loop_tests
$
$
$ exit:
$	set default '__save_default'
$	exit
