1$! TESTS.COM -- Performs the necessary tests 2$! 3$! P1 tests to be performed. Empty means all. 4$ 5$ __proc = f$element(0,";",f$environment("procedure")) 6$ __here = f$parse(f$parse("A.;",__proc) - "A.;","[]A.;") - "A.;" 7$ __save_default = f$environment("default") 8$ __arch := VAX 9$ if f$getsyi("cpu") .ge. 128 then - 10 __arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE") 11$ if __arch .eqs. "" then __arch := UNK 12$ texe_dir := sys$disk:[-.'__arch'.exe.test] 13$ exe_dir := sys$disk:[-.'__arch'.exe.apps] 14$ 15$ sslroot = f$parse("sys$disk:[-.apps];",,,,"syntax_only") - "].;"+ ".]" 16$ define /translation_attributes = concealed sslroot 'sslroot' 17$ 18$ set default '__here' 19$ 20$ on control_y then goto exit 21$ on error then goto exit 22$ 23$ if p1 .nes. "" 24$ then 25$ tests = p1 26$ else 27$! NOTE: This list reflects the list of dependencies following the 28$! "alltests" target in Makefile. This should make it easy to see 29$! if there's a difference that needs to be taken care of. 30$ tests := - 31 test_des,test_idea,test_sha,test_md4,test_md5,test_hmac,- 32 test_md2,test_mdc2,- 33 test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,test_rd,- 34 test_rand,test_bn,test_ec,test_ecdsa,test_ecdh,- 35 test_enc,test_x509,test_rsa,test_crl,test_sid,- 36 test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,- 37 test_ss,test_ca,test_engine,test_evp,test_ssl,test_ige,test_jpake 38$ endif 39$ tests = f$edit(tests,"COLLAPSE") 40$ 41$ BNTEST := bntest 42$ ECTEST := ectest 43$ ECDSATEST := ecdsatest 44$ ECDHTEST := ecdhtest 45$ EXPTEST := exptest 46$ IDEATEST := ideatest 47$ SHATEST := shatest 48$ SHA1TEST := sha1test 49$ MDC2TEST := mdc2test 50$ RMDTEST := rmdtest 51$ MD2TEST := md2test 52$ MD4TEST := md4test 53$ MD5TEST := md5test 54$ HMACTEST := hmactest 55$ RC2TEST := rc2test 56$ RC4TEST := rc4test 57$ RC5TEST := rc5test 58$ BFTEST := bftest 59$ CASTTEST := casttest 60$ DESTEST := destest 61$ RANDTEST := randtest 62$ DHTEST := dhtest 63$ DSATEST := dsatest 64$ METHTEST := methtest 65$ SSLTEST := ssltest 66$ RSATEST := rsa_test 67$ ENGINETEST := enginetest 68$ EVPTEST := evp_test 69$ IGETEST := igetest 70$ JPAKETEST := jpaketest 71$ 72$ tests_i = 0 73$ loop_tests: 74$ tests_e = f$element(tests_i,",",tests) 75$ tests_i = tests_i + 1 76$ if tests_e .eqs. "," then goto exit 77$ gosub 'tests_e' 78$ goto loop_tests 79$ 80$ test_evp: 81$ mcr 'texe_dir''evptest' evptests.txt 82$ return 83$ test_des: 84$ mcr 'texe_dir''destest' 85$ return 86$ test_idea: 87$ mcr 'texe_dir''ideatest' 88$ return 89$ test_sha: 90$ mcr 'texe_dir''shatest' 91$ mcr 'texe_dir''sha1test' 92$ return 93$ test_mdc2: 94$ mcr 'texe_dir''mdc2test' 95$ return 96$ test_md5: 97$ mcr 'texe_dir''md5test' 98$ return 99$ test_md4: 100$ mcr 'texe_dir''md4test' 101$ return 102$ test_hmac: 103$ mcr 'texe_dir''hmactest' 104$ return 105$ test_md2: 106$ mcr 'texe_dir''md2test' 107$ return 108$ test_rmd: 109$ mcr 'texe_dir''rmdtest' 110$ return 111$ test_bf: 112$ mcr 'texe_dir''bftest' 113$ return 114$ test_cast: 115$ mcr 'texe_dir''casttest' 116$ return 117$ test_rc2: 118$ mcr 'texe_dir''rc2test' 119$ return 120$ test_rc4: 121$ mcr 'texe_dir''rc4test' 122$ return 123$ test_rc5: 124$ mcr 'texe_dir''rc5test' 125$ return 126$ test_rand: 127$ mcr 'texe_dir''randtest' 128$ return 129$ test_enc: 130$ @testenc.com 131$ return 132$ test_x509: 133$ define sys$error nla0: 134$ write sys$output "test normal x509v1 certificate" 135$ @tx509.com 136$ write sys$output "test first x509v3 certificate" 137$ @tx509.com v3-cert1.pem 138$ write sys$output "test second x509v3 certificate" 139$ @tx509.com v3-cert2.pem 140$ deassign sys$error 141$ return 142$ test_rsa: 143$ define sys$error nla0: 144$ @trsa.com 145$ deassign sys$error 146$ mcr 'texe_dir''rsatest' 147$ return 148$ test_crl: 149$ define sys$error nla0: 150$ @tcrl.com 151$ deassign sys$error 152$ return 153$ test_sid: 154$ define sys$error nla0: 155$ @tsid.com 156$ deassign sys$error 157$ return 158$ test_req: 159$ define sys$error nla0: 160$ @treq.com 161$ @treq.com testreq2.pem 162$ deassign sys$error 163$ return 164$ test_pkcs7: 165$ define sys$error nla0: 166$ @tpkcs7.com 167$ @tpkcs7d.com 168$ deassign sys$error 169$ return 170$ test_bn: 171$ write sys$output "starting big number library test, could take a while..." 172$ create bntest-vms.fdl 173FILE 174 ORGANIZATION sequential 175RECORD 176 FORMAT stream_lf 177$ create/fdl=bntest-vms.fdl bntest-vms.sh 178$ open/append foo bntest-vms.sh 179$ type/output=foo: sys$input: 180<< __FOO__ sh -c "`sh ./bctest`" | perl -e '$i=0; while (<STDIN>) {if (/^test (.*)/) {print STDERR "\nverify $1";} elsif (!/^0$/) {die "\nFailed! bc: $_";} else {print STDERR "."; $i++;}} print STDERR "\n$i tests passed\n"' 181$ define/user sys$output bntest-vms.tmp 182$ mcr 'texe_dir''bntest' 183$ copy bntest-vms.tmp foo: 184$ delete bntest-vms.tmp;* 185$ type/output=foo: sys$input: 186__FOO__ 187$ close foo 188$ write sys$output "-- copy the [.test]bntest-vms.sh and [.test]bctest files to a Unix system and" 189$ write sys$output "-- run bntest-vms.sh through sh or bash to verify that the bignum operations" 190$ write sys$output "-- went well." 191$ write sys$output "" 192$ write sys$output "test a^b%c implementations" 193$ mcr 'texe_dir''exptest' 194$ return 195$ test_ec: 196$ write sys$output "test elliptic curves" 197$ mcr 'texe_dir''ectest' 198$ return 199$ test_ecdsa: 200$ write sys$output "test ecdsa" 201$ mcr 'texe_dir''ecdsatest' 202$ return 203$ test_ecdh: 204$ write sys$output "test ecdh" 205$ mcr 'texe_dir''ecdhtest' 206$ return 207$ test_verify: 208$ write sys$output "The following command should have some OK's and some failures" 209$ write sys$output "There are definitly a few expired certificates" 210$ @tverify.com 211$ return 212$ test_dh: 213$ write sys$output "Generate a set of DH parameters" 214$ mcr 'texe_dir''dhtest' 215$ return 216$ test_dsa: 217$ write sys$output "Generate a set of DSA parameters" 218$ mcr 'texe_dir''dsatest' 219$ return 220$ test_gen: 221$ write sys$output "Generate and verify a certificate request" 222$ @testgen.com 223$ return 224$ maybe_test_ss: 225$ testss_RDT = f$cvtime(f$file_attributes("testss.com","RDT")) 226$ if f$cvtime(f$file_attributes("keyU.ss","RDT")) .les. testss_RDT then - 227 goto test_ss 228$ if f$cvtime(f$file_attributes("certU.ss","RDT")) .les. testss_RDT then - 229 goto test_ss 230$ if f$cvtime(f$file_attributes("certCA.ss","RDT")) .les. testss_RDT then - 231 goto test_ss 232$ return 233$ test_ss: 234$ write sys$output "Generate and certify a test certificate" 235$ @testss.com 236$ return 237$ test_engine: 238$ write sys$output "Manipulate the ENGINE structures" 239$ mcr 'texe_dir''enginetest' 240$ return 241$ test_ssl: 242$ write sys$output "test SSL protocol" 243$ gosub maybe_test_ss 244$ @testssl.com keyU.ss certU.ss certCA.ss 245$ return 246$ test_ca: 247$ set noon 248$ define/user sys$output nla0: 249$ mcr 'exe_dir'openssl no-rsa 250$ save_severity=$SEVERITY 251$ set on 252$ if save_severity 253$ then 254$ write sys$output "skipping CA.com test -- requires RSA" 255$ else 256$ write sys$output "Generate and certify a test certificate via the 'ca' program" 257$ @testca.com 258$ endif 259$ return 260$ test_rd: 261$ write sys$output "test Rijndael" 262$ !mcr 'texe_dir''rdtest' 263$ return 264$ test_ige: 265$ write sys$output "Test IGE mode" 266$ mcr 'texe_dir''igetest' 267$ return 268$ test_jpake: 269$ write sys$output "Test JPAKE" 270$ mcr 'texe_dir''jpaketest' 271$ return 272$ 273$ 274$ exit: 275$ set default '__save_default' 276$ deassign sslroot 277$ exit 278