]>
Commit | Line | Data |
---|---|---|
7d7d2cbc UM |
1 | $! TESTS.COM -- Performs the necessary tests |
2 | $! | |
3 | $! P1 tests to be performed. Empty means all. | |
01d2e27a RL |
4 | $! P2 Pointer size: "", "32", or "64". |
5 | $! | |
6 | $! Announce/identify. | |
7 | $! | |
8 | $ proc = f$environment( "procedure") | |
9 | $ write sys$output "@@@ "+ - | |
10 | f$parse( proc, , , "name")+ f$parse( proc, , , "type") | |
11 | $! | |
7d7d2cbc UM |
12 | $ __proc = f$element(0,";",f$environment("procedure")) |
13 | $ __here = f$parse(f$parse("A.;",__proc) - "A.;","[]A.;") - "A.;" | |
14 | $ __save_default = f$environment("default") | |
01d2e27a | 15 | $ __arch = "VAX" |
006c7c6b | 16 | $ if f$getsyi("cpu") .ge. 128 then - |
2de21373 | 17 | __arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE") |
01d2e27a RL |
18 | $ if __arch .eqs. "" then __arch = "UNK" |
19 | $! | |
20 | $ __archd = __arch | |
21 | $ pointer_size = "" | |
22 | $ if (p2 .eq. "64") | |
23 | $ then | |
24 | $ pointer_size = "64" | |
25 | $ __archd = __arch+ "_64" | |
26 | $ endif | |
27 | $! | |
28 | $ texe_dir := sys$disk:[-.'__archd'.exe.test] | |
29 | $ exe_dir := sys$disk:[-.'__archd'.exe.apps] | |
7d7d2cbc | 30 | $ |
aa292058 RL |
31 | $ set default '__here' |
32 | $ | |
48337a4a RL |
33 | $ ROOT = F$PARSE("sys$disk:[-]A.;0",,,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0" |
34 | $ ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY") | |
35 | $ ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") - | |
36 | - ".][000000" - "[000000." - "][" - "[" - "]" | |
37 | $ ROOT = ROOT_DEV + "[" + ROOT_DIR | |
38 | $ DEFINE/NOLOG SSLROOT 'ROOT'.APPS.] /TRANS=CONC | |
bf5adc9b | 39 | $ openssl_conf := sslroot:[000000]openssl-vms.cnf |
74397d45 | 40 | $ |
7d7d2cbc UM |
41 | $ on control_y then goto exit |
42 | $ on error then goto exit | |
43 | $ | |
44 | $ if p1 .nes. "" | |
45 | $ then | |
46 | $ tests = p1 | |
47 | $ else | |
006c7c6b RL |
48 | $! NOTE: This list reflects the list of dependencies following the |
49 | $! "alltests" target in Makefile. This should make it easy to see | |
50 | $! if there's a difference that needs to be taken care of. | |
7d7d2cbc | 51 | $ tests := - |
eec79f9b | 52 | test_des,test_idea,test_sha,test_md4,test_md5,test_hmac,- |
8937a13e RL |
53 | test_md2,test_mdc2,test_wp,- |
54 | test_rmd,test_rc2,test_rc4,test_rc5,test_bf,test_cast,test_aes,- | |
da0bca64 | 55 | test_rand,test_bn,test_ec,test_ecdsa,test_ecdh,- |
1f4eada3 | 56 | test_enc,test_x509,test_rsa,test_crl,test_sid,- |
d593983d | 57 | test_gen,test_req,test_pkcs7,test_verify,test_dh,test_dsa,- |
8a2ce3a3 | 58 | test_ss,test_ca,test_engine,test_evp,test_evp_extra,test_ssl,test_tsa,test_ige,- |
ef8055cb | 59 | test_jpake,test_srp,test_cms,test_ocsp,test_v3name,test_heartbeat,- |
ceee07ce RL |
60 | test_constant_time,test_verify_extra,test_clienthello,test_sslv2conftest,- |
61 | test_dtls,test_bad_dtls,test_fatalerr | |
7d7d2cbc UM |
62 | $ endif |
63 | $ tests = f$edit(tests,"COLLAPSE") | |
64 | $ | |
65 | $ BNTEST := bntest | |
e0a9ba9c | 66 | $ ECTEST := ectest |
1f4eada3 | 67 | $ ECDSATEST := ecdsatest |
da0bca64 | 68 | $ ECDHTEST := ecdhtest |
7d7d2cbc UM |
69 | $ EXPTEST := exptest |
70 | $ IDEATEST := ideatest | |
71 | $ SHATEST := shatest | |
72 | $ SHA1TEST := sha1test | |
784e2080 RL |
73 | $ SHA256TEST := sha256t |
74 | $ SHA512TEST := sha512t | |
7d7d2cbc UM |
75 | $ MDC2TEST := mdc2test |
76 | $ RMDTEST := rmdtest | |
77 | $ MD2TEST := md2test | |
eec79f9b | 78 | $ MD4TEST := md4test |
7d7d2cbc UM |
79 | $ MD5TEST := md5test |
80 | $ HMACTEST := hmactest | |
959a7201 | 81 | $ WPTEST := wp_test |
7d7d2cbc UM |
82 | $ RC2TEST := rc2test |
83 | $ RC4TEST := rc4test | |
84 | $ RC5TEST := rc5test | |
85 | $ BFTEST := bftest | |
86 | $ CASTTEST := casttest | |
87 | $ DESTEST := destest | |
88 | $ RANDTEST := randtest | |
89 | $ DHTEST := dhtest | |
90 | $ DSATEST := dsatest | |
91 | $ METHTEST := methtest | |
92 | $ SSLTEST := ssltest | |
721b5b2a | 93 | $ RSATEST := rsa_test |
5270e702 | 94 | $ ENGINETEST := enginetest |
e32587d5 | 95 | $ EVPTEST := evp_test |
8a2ce3a3 | 96 | $ EVPEXTRATEST := evp_extra_test |
26397d2e RL |
97 | $ IGETEST := igetest |
98 | $ JPAKETEST := jpaketest | |
4692b334 | 99 | $ SRPTEST := srptest |
995d08d1 | 100 | $ V3NAMETEST := v3nametest |
dda45443 | 101 | $ ASN1TEST := asn1test |
995d08d1 | 102 | $ HEARTBEATTEST := heartbeat_test |
ef8055cb | 103 | $ CONSTTIMETEST := constant_time_test |
8a2ce3a3 RL |
104 | $ VERIFYEXTRATEST := verify_extra_test |
105 | $ CLIENTHELLOTEST := clienthellotest | |
ceee07ce | 106 | $ BADDTLSTEST := bad_dtls_test |
8a2ce3a3 | 107 | $ SSLV2CONFTEST := sslv2conftest |
66e70832 | 108 | $ DTLSTEST := dtlstest |
ceee07ce | 109 | $ FATALERRTEST := fatalerrtest |
01d2e27a | 110 | $! |
7d7d2cbc UM |
111 | $ tests_i = 0 |
112 | $ loop_tests: | |
113 | $ tests_e = f$element(tests_i,",",tests) | |
114 | $ tests_i = tests_i + 1 | |
115 | $ if tests_e .eqs. "," then goto exit | |
c91b5211 | 116 | $ write sys$output "---> ''tests_e'" |
c13ee214 RL |
117 | $ gosub 'tests_e' |
118 | $ goto loop_tests | |
7d7d2cbc | 119 | $ |
e32587d5 | 120 | $ test_evp: |
48337a4a | 121 | $ mcr 'texe_dir''evptest' 'ROOT'.CRYPTO.EVP]evptests.txt |
e32587d5 | 122 | $ return |
8a2ce3a3 RL |
123 | $ test_evp_extra: |
124 | $ mcr 'texe_dir''evpextratest' | |
125 | $ return | |
7d7d2cbc UM |
126 | $ test_des: |
127 | $ mcr 'texe_dir''destest' | |
c13ee214 | 128 | $ return |
7d7d2cbc UM |
129 | $ test_idea: |
130 | $ mcr 'texe_dir''ideatest' | |
c13ee214 | 131 | $ return |
7d7d2cbc UM |
132 | $ test_sha: |
133 | $ mcr 'texe_dir''shatest' | |
134 | $ mcr 'texe_dir''sha1test' | |
784e2080 RL |
135 | $ mcr 'texe_dir''sha256test' |
136 | $ mcr 'texe_dir''sha512test' | |
c13ee214 | 137 | $ return |
7d7d2cbc UM |
138 | $ test_mdc2: |
139 | $ mcr 'texe_dir''mdc2test' | |
c13ee214 | 140 | $ return |
7d7d2cbc UM |
141 | $ test_md5: |
142 | $ mcr 'texe_dir''md5test' | |
c13ee214 | 143 | $ return |
eec79f9b RL |
144 | $ test_md4: |
145 | $ mcr 'texe_dir''md4test' | |
146 | $ return | |
7d7d2cbc UM |
147 | $ test_hmac: |
148 | $ mcr 'texe_dir''hmactest' | |
c13ee214 | 149 | $ return |
959a7201 RL |
150 | $ test_wp: |
151 | $ mcr 'texe_dir''wptest' | |
152 | $ return | |
7d7d2cbc UM |
153 | $ test_md2: |
154 | $ mcr 'texe_dir''md2test' | |
c13ee214 | 155 | $ return |
7d7d2cbc UM |
156 | $ test_rmd: |
157 | $ mcr 'texe_dir''rmdtest' | |
c13ee214 | 158 | $ return |
7d7d2cbc UM |
159 | $ test_bf: |
160 | $ mcr 'texe_dir''bftest' | |
c13ee214 | 161 | $ return |
7d7d2cbc UM |
162 | $ test_cast: |
163 | $ mcr 'texe_dir''casttest' | |
c13ee214 | 164 | $ return |
7d7d2cbc UM |
165 | $ test_rc2: |
166 | $ mcr 'texe_dir''rc2test' | |
c13ee214 | 167 | $ return |
7d7d2cbc UM |
168 | $ test_rc4: |
169 | $ mcr 'texe_dir''rc4test' | |
c13ee214 | 170 | $ return |
7d7d2cbc UM |
171 | $ test_rc5: |
172 | $ mcr 'texe_dir''rc5test' | |
c13ee214 | 173 | $ return |
7d7d2cbc UM |
174 | $ test_rand: |
175 | $ mcr 'texe_dir''randtest' | |
c13ee214 | 176 | $ return |
7d7d2cbc | 177 | $ test_enc: |
01d2e27a | 178 | $ @testenc.com 'pointer_size' |
c13ee214 | 179 | $ return |
7d7d2cbc | 180 | $ test_x509: |
01d2e27a RL |
181 | $ set noon |
182 | $ define sys$error test_x509.err | |
7d7d2cbc | 183 | $ write sys$output "test normal x509v1 certificate" |
01d2e27a | 184 | $ @tx509.com "" 'pointer_size' |
7d7d2cbc | 185 | $ write sys$output "test first x509v3 certificate" |
01d2e27a | 186 | $ @tx509.com v3-cert1.pem 'pointer_size' |
7d7d2cbc | 187 | $ write sys$output "test second x509v3 certificate" |
01d2e27a | 188 | $ @tx509.com v3-cert2.pem 'pointer_size' |
7d7d2cbc | 189 | $ deassign sys$error |
01d2e27a | 190 | $ set on |
c13ee214 | 191 | $ return |
7d7d2cbc | 192 | $ test_rsa: |
01d2e27a RL |
193 | $ set noon |
194 | $ define sys$error test_rsa.err | |
195 | $ @trsa.com "" 'pointer_size' | |
7d7d2cbc UM |
196 | $ deassign sys$error |
197 | $ mcr 'texe_dir''rsatest' | |
01d2e27a | 198 | $ set on |
c13ee214 | 199 | $ return |
7d7d2cbc | 200 | $ test_crl: |
01d2e27a RL |
201 | $ set noon |
202 | $ define sys$error test_crl.err | |
203 | $ @tcrl.com "" 'pointer_size' | |
7d7d2cbc | 204 | $ deassign sys$error |
01d2e27a | 205 | $ set on |
c13ee214 | 206 | $ return |
7d7d2cbc | 207 | $ test_sid: |
01d2e27a RL |
208 | $ set noon |
209 | $ define sys$error test_sid.err | |
210 | $ @tsid.com "" 'pointer_size' | |
7d7d2cbc | 211 | $ deassign sys$error |
01d2e27a | 212 | $ set on |
c13ee214 | 213 | $ return |
7d7d2cbc | 214 | $ test_req: |
01d2e27a RL |
215 | $ set noon |
216 | $ define sys$error test_req.err | |
217 | $ @treq.com "" 'pointer_size' | |
218 | $ @treq.com testreq2.pem 'pointer_size' | |
7d7d2cbc | 219 | $ deassign sys$error |
01d2e27a | 220 | $ set on |
c13ee214 | 221 | $ return |
7d7d2cbc | 222 | $ test_pkcs7: |
01d2e27a RL |
223 | $ set noon |
224 | $ define sys$error test_pkcs7.err | |
225 | $ @tpkcs7.com "" 'pointer_size' | |
226 | $ @tpkcs7d.com "" 'pointer_size' | |
7d7d2cbc | 227 | $ deassign sys$error |
01d2e27a | 228 | $ set on |
c13ee214 | 229 | $ return |
7d7d2cbc | 230 | $ test_bn: |
aa292058 RL |
231 | $ write sys$output - |
232 | "starting big number library test, could take a while..." | |
233 | $ set noon | |
01d2e27a RL |
234 | $ define sys$error test_bn.err |
235 | $ define sys$output test_bn.out | |
aa292058 RL |
236 | $ @ bctest.com |
237 | $ status = $status | |
238 | $ deassign sys$error | |
239 | $ deassign sys$output | |
01d2e27a | 240 | $ set on |
aa292058 RL |
241 | $ if (status) |
242 | $ then | |
243 | $ create /fdl = sys$input bntest-vms.tmp | |
7d7d2cbc UM |
244 | FILE |
245 | ORGANIZATION sequential | |
246 | RECORD | |
247 | FORMAT stream_lf | |
aa292058 RL |
248 | $ define /user_mode sys$output bntest-vms.tmp |
249 | $ mcr 'texe_dir''bntest' | |
250 | $ define /user_mode sys$input bntest-vms.tmp | |
251 | $ define /user_mode sys$output bntest-vms.out | |
252 | $ bc | |
253 | $ @ bntest.com bntest-vms.out | |
254 | $ status = $status | |
255 | $ if (status) | |
256 | $ then | |
257 | $ delete bntest-vms.out;* | |
258 | $ delete bntest-vms.tmp;* | |
259 | $ endif | |
260 | $ else | |
261 | $ create /fdl = sys$input bntest-vms.sh | |
262 | FILE | |
263 | ORGANIZATION sequential | |
264 | RECORD | |
265 | FORMAT stream_lf | |
266 | $ open /append bntest_file bntest-vms.sh | |
267 | $ type /output = bntest_file sys$input: | |
20a9b1a7 | 268 | << __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"' |
01d2e27a | 269 | $ define /user_mode sys$output bntest-vms.tmp |
aa292058 RL |
270 | $ mcr 'texe_dir''bntest' |
271 | $ copy bntest-vms.tmp bntest_file | |
272 | $ delete bntest-vms.tmp;* | |
273 | $ type /output = bntest_file sys$input: | |
7d7d2cbc | 274 | __FOO__ |
aa292058 RL |
275 | $ close bntest_file |
276 | $ write sys$output "-- copy the [.test]bntest-vms.sh and [.test]bctest files to a Unix system and" | |
277 | $ write sys$output "-- run bntest-vms.sh through sh or bash to verify that the bignum operations" | |
278 | $ write sys$output "-- went well." | |
279 | $ write sys$output "" | |
280 | $ endif | |
7d7d2cbc UM |
281 | $ write sys$output "test a^b%c implementations" |
282 | $ mcr 'texe_dir''exptest' | |
c13ee214 | 283 | $ return |
e0a9ba9c | 284 | $ test_ec: |
a2b03690 | 285 | $ write sys$output "test elliptic curves" |
e0a9ba9c RL |
286 | $ mcr 'texe_dir''ectest' |
287 | $ return | |
da0bca64 | 288 | $ test_ecdsa: |
1f4eada3 RL |
289 | $ write sys$output "test ecdsa" |
290 | $ mcr 'texe_dir''ecdsatest' | |
291 | $ return | |
da0bca64 RL |
292 | $ test_ecdh: |
293 | $ write sys$output "test ecdh" | |
294 | $ mcr 'texe_dir''ecdhtest' | |
295 | $ return | |
7d7d2cbc UM |
296 | $ test_verify: |
297 | $ write sys$output "The following command should have some OK's and some failures" | |
298 | $ write sys$output "There are definitly a few expired certificates" | |
01d2e27a | 299 | $ @tverify.com 'pointer_size' |
c13ee214 | 300 | $ return |
7d7d2cbc | 301 | $ test_dh: |
da0fc5bf | 302 | $ write sys$output "Generate a set of DH parameters" |
7d7d2cbc | 303 | $ mcr 'texe_dir''dhtest' |
c13ee214 | 304 | $ return |
7d7d2cbc | 305 | $ test_dsa: |
da0fc5bf | 306 | $ write sys$output "Generate a set of DSA parameters" |
7d7d2cbc | 307 | $ mcr 'texe_dir''dsatest' |
c13ee214 | 308 | $ return |
d593983d | 309 | $ test_gen: |
7d7d2cbc | 310 | $ write sys$output "Generate and verify a certificate request" |
01d2e27a | 311 | $ @testgen.com 'pointer_size' |
c13ee214 RL |
312 | $ return |
313 | $ maybe_test_ss: | |
314 | $ testss_RDT = f$cvtime(f$file_attributes("testss.com","RDT")) | |
315 | $ if f$cvtime(f$file_attributes("keyU.ss","RDT")) .les. testss_RDT then - | |
316 | goto test_ss | |
317 | $ if f$cvtime(f$file_attributes("certU.ss","RDT")) .les. testss_RDT then - | |
318 | goto test_ss | |
319 | $ if f$cvtime(f$file_attributes("certCA.ss","RDT")) .les. testss_RDT then - | |
320 | goto test_ss | |
321 | $ return | |
7d7d2cbc UM |
322 | $ test_ss: |
323 | $ write sys$output "Generate and certify a test certificate" | |
01d2e27a | 324 | $ @testss.com 'pointer_size' |
c13ee214 | 325 | $ return |
5270e702 RL |
326 | $ test_engine: |
327 | $ write sys$output "Manipulate the ENGINE structures" | |
328 | $ mcr 'texe_dir''enginetest' | |
329 | $ return | |
7d7d2cbc UM |
330 | $ test_ssl: |
331 | $ write sys$output "test SSL protocol" | |
c13ee214 | 332 | $ gosub maybe_test_ss |
01d2e27a | 333 | $ @testssl.com keyU.ss certU.ss certCA.ss 'pointer_size' |
c13ee214 | 334 | $ return |
7d7d2cbc | 335 | $ test_ca: |
c13ee214 | 336 | $ set noon |
01d2e27a | 337 | $ define /user_mode sys$output test_ca.out |
c13ee214 RL |
338 | $ mcr 'exe_dir'openssl no-rsa |
339 | $ save_severity=$SEVERITY | |
340 | $ set on | |
341 | $ if save_severity | |
342 | $ then | |
343 | $ write sys$output "skipping CA.com test -- requires RSA" | |
344 | $ else | |
345 | $ write sys$output "Generate and certify a test certificate via the 'ca' program" | |
01d2e27a | 346 | $ @testca.com 'pointer_size' |
c13ee214 RL |
347 | $ endif |
348 | $ return | |
8937a13e RL |
349 | $ test_aes: |
350 | $! write sys$output "test AES" | |
351 | $! !mcr 'texe_dir''aestest' | |
352 | $ return | |
353 | $ test_tsa: | |
354 | $ set noon | |
01d2e27a | 355 | $ define /user_mode sys$output nla0: |
8937a13e RL |
356 | $ mcr 'exe_dir'openssl no-rsa |
357 | $ save_severity=$SEVERITY | |
358 | $ set on | |
359 | $ if save_severity | |
360 | $ then | |
361 | $ write sys$output "skipping testtsa.com test -- requires RSA" | |
362 | $ else | |
01d2e27a | 363 | $ @testtsa.com "" "" "" 'pointer_size' |
8937a13e | 364 | $ endif |
d53d2717 | 365 | $ return |
26397d2e RL |
366 | $ test_ige: |
367 | $ write sys$output "Test IGE mode" | |
368 | $ mcr 'texe_dir''igetest' | |
369 | $ return | |
370 | $ test_jpake: | |
371 | $ write sys$output "Test JPAKE" | |
372 | $ mcr 'texe_dir''jpaketest' | |
373 | $ return | |
1aac5c0e RL |
374 | $ test_cms: |
375 | $ write sys$output "CMS consistency test" | |
01d2e27a RL |
376 | $ ! Define the logical name used to find openssl.exe in the perl script. |
377 | $ define /user_mode osslx 'exe_dir' | |
1aac5c0e RL |
378 | $ perl CMS-TEST.PL |
379 | $ return | |
4692b334 RL |
380 | $ test_srp: |
381 | $ write sys$output "Test SRP" | |
382 | $ mcr 'texe_dir''srptest' | |
383 | $ return | |
995d08d1 RL |
384 | $ test_ocsp: |
385 | $ write sys$output "Test OCSP" | |
386 | $ @tocsp.com | |
387 | $ return | |
388 | $ test_v3name: | |
389 | $ write sys$output "Test V3NAME" | |
390 | $ mcr 'texe_dir''v3nametest' | |
391 | $ return | |
392 | $ test_heartbeat: | |
393 | $ write sys$output "Test HEARTBEAT" | |
394 | $ mcr 'texe_dir''heartbeattest' | |
395 | $ return | |
ef8055cb RL |
396 | $ test_constant_time: |
397 | $ write sys$output "Test constant time utilities" | |
398 | $ mcr 'texe_dir''consttimetest' | |
399 | $ return | |
8a2ce3a3 RL |
400 | $ test_verify_extra: |
401 | $ write sys$output "''START' test_verify_extra" | |
402 | $ mcr 'texe_dir''verifyextratest' | |
403 | $ return | |
404 | $ test_clienthello: | |
405 | $ write sys$output "''START' test_clienthello" | |
406 | $ mcr 'texe_dir''clienthellotest' | |
407 | $ return | |
ceee07ce RL |
408 | $ test_bad_dtls: |
409 | $ write sys$output "''START' test_bad_dtls" | |
410 | $ mcr 'texe_dir''baddtlstest' | |
411 | $ return | |
412 | $ | |
413 | $ test_fatalerr: | |
414 | $ write sys$output "''START' test_fatalerrtest" | |
415 | $ mcr 'texe_dir''fatalerrtest' 'ROOT'.APPS]server.pem 'ROOT'.APPS]server.pem | |
416 | $ return | |
417 | $ | |
8a2ce3a3 RL |
418 | $ test_sslv2conftest: |
419 | $ write sys$output "''START' test_sslv2conftest" | |
420 | $ mcr 'texe_dir''sslv2conftest' | |
421 | $ return | |
66e70832 RL |
422 | $ test_dtls: |
423 | $ write sys$output "''START' test_dtls" | |
424 | $ mcr 'texe_dir''dtlstest' 'ROOT'.APPS]server.pem 'ROOT'.APPS]server.pem | |
425 | $ return | |
7d7d2cbc UM |
426 | $ |
427 | $ exit: | |
6ff73426 | 428 | $ on error then goto exit2 ! In case openssl.exe didn't build. |
9d13bfc2 | 429 | $ mcr 'exe_dir'openssl version -a |
6ff73426 | 430 | $ exit2: |
7d7d2cbc | 431 | $ set default '__save_default' |
74397d45 | 432 | $ deassign sslroot |
7d7d2cbc | 433 | $ exit |