Hex Artifact Content

Artifact 0dd6643de1d11b51b468c80beae94b8b89f688e29b9491180bed068d65147e18:


0000: 23 20 41 75 74 6f 20 67 65 6e 65 72 61 74 65 64  # Auto generated
0010: 20 74 65 73 74 20 63 61 73 65 73 20 66 6f 72 20   test cases for 
0020: 73 73 6c 6c 61 62 73 2e 63 73 76 0a 0a 23 20 4c  ssllabs.csv..# L
0030: 6f 61 64 20 54 63 6c 20 54 65 73 74 20 70 61 63  oad Tcl Test pac
0040: 6b 61 67 65 0a 69 66 20 7b 5b 6c 73 65 61 72 63  kage.if {[lsearc
0050: 68 20 5b 6e 61 6d 65 73 70 61 63 65 20 63 68 69  h [namespace chi
0060: 6c 64 72 65 6e 5d 20 3a 3a 74 63 6c 74 65 73 74  ldren] ::tcltest
0070: 5d 20 3c 20 30 7d 20 7b 0a 09 70 61 63 6b 61 67  ] < 0} {..packag
0080: 65 20 72 65 71 75 69 72 65 20 74 63 6c 74 65 73  e require tcltes
0090: 74 0a 09 6e 61 6d 65 73 70 61 63 65 20 69 6d 70  t..namespace imp
00a0: 6f 72 74 20 3a 3a 74 63 6c 74 65 73 74 3a 3a 2a  ort ::tcltest::*
00b0: 0a 7d 0a 0a 73 65 74 20 3a 3a 61 75 74 6f 5f 70  .}..set ::auto_p
00c0: 61 74 68 20 5b 63 6f 6e 63 61 74 20 5b 6c 69 73  ath [concat [lis
00d0: 74 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20  t [file dirname 
00e0: 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 69  [file dirname [i
00f0: 6e 66 6f 20 73 63 72 69 70 74 5d 5d 5d 5d 20 24  nfo script]]]] $
0100: 3a 3a 61 75 74 6f 5f 70 61 74 68 5d 0a 0a 70 61  ::auto_path]..pa
0110: 63 6b 61 67 65 20 70 72 65 66 65 72 20 6c 61 74  ckage prefer lat
0120: 65 73 74 0a 70 61 63 6b 61 67 65 20 72 65 71 75  est.package requ
0130: 69 72 65 20 74 6c 73 0a 0a 23 20 43 6f 6e 73 74  ire tls..# Const
0140: 72 61 69 6e 74 73 0a 73 6f 75 72 63 65 20 5b 66  raints.source [f
0150: 69 6c 65 20 6a 6f 69 6e 20 5b 66 69 6c 65 20 64  ile join [file d
0160: 69 72 6e 61 6d 65 20 5b 69 6e 66 6f 20 73 63 72  irname [info scr
0170: 69 70 74 5d 5d 20 63 6f 6d 6d 6f 6e 2e 74 63 6c  ipt]] common.tcl
0180: 5d 0a 0a 23 20 48 65 6c 70 65 72 20 66 75 6e 63  ]..# Helper func
0190: 74 69 6f 6e 73 0a 70 72 6f 63 20 63 6f 6e 6e 65  tions.proc conne
01a0: 63 74 20 7b 75 72 6c 7d 20 7b 0a 20 20 20 20 73  ct {url} {.    s
01b0: 65 74 20 70 6f 72 74 20 34 34 33 0a 20 20 20 20  et port 443.    
01c0: 6c 61 73 73 69 67 6e 20 5b 73 70 6c 69 74 20 24  lassign [split $
01d0: 75 72 6c 20 22 3a 22 5d 20 75 72 6c 20 70 6f 72  url ":"] url por
01e0: 74 0a 20 20 20 20 69 66 20 7b 24 70 6f 72 74 20  t.    if {$port 
01f0: 65 71 20 22 22 7d 20 7b 0a 20 73 65 74 20 70 6f  eq ""} {. set po
0200: 72 74 20 34 34 33 0a 20 20 20 20 7d 0a 20 20 20  rt 443.    }.   
0210: 20 73 65 74 20 63 6d 64 20 5b 6c 69 73 74 20 74   set cmd [list t
0220: 6c 73 3a 3a 73 6f 63 6b 65 74 20 2d 61 75 74 6f  ls::socket -auto
0230: 73 65 72 76 65 72 6e 61 6d 65 20 31 20 2d 72 65  servername 1 -re
0240: 71 75 69 72 65 20 31 5d 0a 20 20 20 20 69 66 20  quire 1].    if 
0250: 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 3a 3a  {[info exists ::
0260: 65 6e 76 28 53 53 4c 5f 43 45 52 54 5f 46 49 4c  env(SSL_CERT_FIL
0270: 45 29 5d 7d 20 7b 0a 20 6c 61 70 70 65 6e 64 20  E)]} {. lappend 
0280: 63 6d 64 20 2d 63 61 66 69 6c 65 20 24 3a 3a 65  cmd -cafile $::e
0290: 6e 76 28 53 53 4c 5f 43 45 52 54 5f 46 49 4c 45  nv(SSL_CERT_FILE
02a0: 29 0a 20 20 20 20 7d 0a 20 20 20 20 6c 61 70 70  ).    }.    lapp
02b0: 65 6e 64 20 63 6d 64 20 24 75 72 6c 20 24 70 6f  end cmd $url $po
02c0: 72 74 0a 20 20 20 20 73 65 74 20 63 68 20 5b 65  rt.    set ch [e
02d0: 76 61 6c 20 24 63 6d 64 5d 0a 20 20 20 20 69 66  val $cmd].    if
02e0: 20 7b 5b 63 61 74 63 68 20 7b 74 6c 73 3a 3a 68   {[catch {tls::h
02f0: 61 6e 64 73 68 61 6b 65 20 24 63 68 7d 20 65 72  andshake $ch} er
0300: 72 5d 7d 20 7b 0a 20 63 6c 6f 73 65 20 24 63 68  r]} {. close $ch
0310: 0a 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65  . return -code e
0320: 72 72 6f 72 20 24 65 72 72 0a 20 20 20 20 7d 20  rror $err.    } 
0330: 65 6c 73 65 20 7b 0a 20 63 6c 6f 73 65 20 24 63  else {. close $c
0340: 68 0a 20 20 20 20 7d 0a 7d 0a 0a 0a 23 20 63 6c  h.    }.}...# cl
0350: 69 65 6e 74 74 65 73 74 2e 73 73 6c 6c 61 62 73  ienttest.ssllabs
0360: 2e 63 6f 6d 20 54 65 73 74 73 0a 0a 0a 74 65 73  .com Tests...tes
0370: 74 20 53 53 4c 4c 61 62 73 2d 31 2e 31 20 7b 43  t SSLLabs-1.1 {C
0380: 56 45 5f 32 30 32 30 5f 30 36 30 31 20 28 43 75  VE_2020_0601 (Cu
0390: 72 76 65 42 61 6c 6c 29 20 56 75 6c 6e 65 72 61  rveBall) Vulnera
03a0: 62 69 6c 69 74 79 7d 20 2d 63 6f 6e 73 74 72 61  bility} -constra
03b0: 69 6e 74 73 20 7b 77 69 6e 20 4f 70 65 6e 53 53  ints {win OpenSS
03c0: 4c 31 2e 31 2e 31 7d 20 2d 62 6f 64 79 20 7b 0a  L1.1.1} -body {.
03d0: 09 63 6f 6e 6e 65 63 74 20 77 77 77 2e 73 73 6c  .connect www.ssl
03e0: 6c 61 62 73 2e 63 6f 6d 3a 31 30 34 34 36 0a 20  labs.com:10446. 
03f0: 20 20 20 7d 20 2d 72 65 73 75 6c 74 20 7b 68 61     } -result {ha
0400: 6e 64 73 68 61 6b 65 20 66 61 69 6c 65 64 3a 20  ndshake failed: 
0410: 63 65 72 74 69 66 69 63 61 74 65 20 76 65 72 69  certificate veri
0420: 66 79 20 66 61 69 6c 65 64 20 64 75 65 20 74 6f  fy failed due to
0430: 20 22 73 65 6c 66 20 73 69 67 6e 65 64 20 63 65   "self signed ce
0440: 72 74 69 66 69 63 61 74 65 20 69 6e 20 63 65 72  rtificate in cer
0450: 74 69 66 69 63 61 74 65 20 63 68 61 69 6e 22 7d  tificate chain"}
0460: 20 2d 72 65 74 75 72 6e 43 6f 64 65 73 20 7b 31   -returnCodes {1
0470: 7d 0a 0a 74 65 73 74 20 53 53 4c 4c 61 62 73 2d  }..test SSLLabs-
0480: 31 2e 32 20 7b 43 56 45 5f 32 30 32 30 5f 30 36  1.2 {CVE_2020_06
0490: 30 31 20 28 43 75 72 76 65 42 61 6c 6c 29 20 56  01 (CurveBall) V
04a0: 75 6c 6e 65 72 61 62 69 6c 69 74 79 7d 20 2d 63  ulnerability} -c
04b0: 6f 6e 73 74 72 61 69 6e 74 73 20 7b 77 69 6e 20  onstraints {win 
04c0: 21 4f 70 65 6e 53 53 4c 31 2e 31 2e 31 7d 20 2d  !OpenSSL1.1.1} -
04d0: 62 6f 64 79 20 7b 0a 09 63 6f 6e 6e 65 63 74 20  body {..connect 
04e0: 77 77 77 2e 73 73 6c 6c 61 62 73 2e 63 6f 6d 3a  www.ssllabs.com:
04f0: 31 30 34 34 36 0a 20 20 20 20 7d 20 2d 72 65 73  10446.    } -res
0500: 75 6c 74 20 7b 68 61 6e 64 73 68 61 6b 65 20 66  ult {handshake f
0510: 61 69 6c 65 64 3a 20 63 65 72 74 69 66 69 63 61  ailed: certifica
0520: 74 65 20 76 65 72 69 66 79 20 66 61 69 6c 65 64  te verify failed
0530: 20 64 75 65 20 74 6f 20 22 73 65 6c 66 2d 73 69   due to "self-si
0540: 67 6e 65 64 20 63 65 72 74 69 66 69 63 61 74 65  gned certificate
0550: 20 69 6e 20 63 65 72 74 69 66 69 63 61 74 65 20   in certificate 
0560: 63 68 61 69 6e 22 7d 20 2d 72 65 74 75 72 6e 43  chain"} -returnC
0570: 6f 64 65 73 20 7b 31 7d 0a 0a 74 65 73 74 20 53  odes {1}..test S
0580: 53 4c 4c 61 62 73 2d 31 2e 33 20 7b 43 56 45 5f  SLLabs-1.3 {CVE_
0590: 32 30 32 30 5f 30 36 30 31 20 28 43 75 72 76 65  2020_0601 (Curve
05a0: 42 61 6c 6c 29 20 56 75 6c 6e 65 72 61 62 69 6c  Ball) Vulnerabil
05b0: 69 74 79 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74  ity} -constraint
05c0: 73 20 7b 6d 61 63 7d 20 2d 62 6f 64 79 20 7b 0a  s {mac} -body {.
05d0: 09 63 6f 6e 6e 65 63 74 20 77 77 77 2e 73 73 6c  .connect www.ssl
05e0: 6c 61 62 73 2e 63 6f 6d 3a 31 30 34 34 36 0a 20  labs.com:10446. 
05f0: 20 20 20 7d 20 2d 72 65 73 75 6c 74 20 7b 68 61     } -result {ha
0600: 6e 64 73 68 61 6b 65 20 66 61 69 6c 65 64 3a 20  ndshake failed: 
0610: 63 65 72 74 69 66 69 63 61 74 65 20 76 65 72 69  certificate veri
0620: 66 79 20 66 61 69 6c 65 64 20 64 75 65 20 74 6f  fy failed due to
0630: 20 22 73 65 6c 66 2d 73 69 67 6e 65 64 20 63 65   "self-signed ce
0640: 72 74 69 66 69 63 61 74 65 20 69 6e 20 63 65 72  rtificate in cer
0650: 74 69 66 69 63 61 74 65 20 63 68 61 69 6e 22 7d  tificate chain"}
0660: 20 2d 72 65 74 75 72 6e 43 6f 64 65 73 20 7b 31   -returnCodes {1
0670: 7d 0a 0a 74 65 73 74 20 53 53 4c 4c 61 62 73 2d  }..test SSLLabs-
0680: 31 2e 34 20 7b 43 56 45 5f 32 30 32 30 5f 30 36  1.4 {CVE_2020_06
0690: 30 31 20 28 43 75 72 76 65 42 61 6c 6c 29 20 56  01 (CurveBall) V
06a0: 75 6c 6e 65 72 61 62 69 6c 69 74 79 7d 20 2d 63  ulnerability} -c
06b0: 6f 6e 73 74 72 61 69 6e 74 73 20 7b 75 6e 69 78  onstraints {unix
06c0: 20 21 6d 61 63 7d 20 2d 62 6f 64 79 20 7b 0a 09   !mac} -body {..
06d0: 63 6f 6e 6e 65 63 74 20 77 77 77 2e 73 73 6c 6c  connect www.ssll
06e0: 61 62 73 2e 63 6f 6d 3a 31 30 34 34 36 0a 20 20  abs.com:10446.  
06f0: 20 20 7d 20 2d 72 65 73 75 6c 74 20 7b 68 61 6e    } -result {han
0700: 64 73 68 61 6b 65 20 66 61 69 6c 65 64 3a 20 64  dshake failed: d
0710: 65 63 6f 64 65 20 65 72 72 6f 72 20 64 75 65 20  ecode error due 
0720: 74 6f 20 22 75 6e 61 62 6c 65 20 74 6f 20 67 65  to "unable to ge
0730: 74 20 6c 6f 63 61 6c 20 69 73 73 75 65 72 20 63  t local issuer c
0740: 65 72 74 69 66 69 63 61 74 65 22 7d 20 2d 72 65  ertificate"} -re
0750: 74 75 72 6e 43 6f 64 65 73 20 7b 31 7d 0a 0a 74  turnCodes {1}..t
0760: 65 73 74 20 53 53 4c 4c 61 62 73 2d 31 2e 35 20  est SSLLabs-1.5 
0770: 7b 4c 6f 67 6a 61 6d 20 56 75 6c 6e 65 72 61 62  {Logjam Vulnerab
0780: 69 6c 69 74 79 7d 20 2d 63 6f 6e 73 74 72 61 69  ility} -constrai
0790: 6e 74 73 20 7b 77 69 6e 20 4f 70 65 6e 53 53 4c  nts {win OpenSSL
07a0: 33 2e 30 7d 20 2d 62 6f 64 79 20 7b 0a 09 63 6f  3.0} -body {..co
07b0: 6e 6e 65 63 74 20 77 77 77 2e 73 73 6c 6c 61 62  nnect www.ssllab
07c0: 73 2e 63 6f 6d 3a 31 30 34 34 35 0a 20 20 20 20  s.com:10445.    
07d0: 7d 20 2d 72 65 73 75 6c 74 20 7b 68 61 6e 64 73  } -result {hands
07e0: 68 61 6b 65 20 66 61 69 6c 65 64 3a 20 63 65 72  hake failed: cer
07f0: 74 69 66 69 63 61 74 65 20 76 65 72 69 66 79 20  tificate verify 
0800: 66 61 69 6c 65 64 20 64 75 65 20 74 6f 20 22 75  failed due to "u
0810: 6e 61 62 6c 65 20 74 6f 20 67 65 74 20 6c 6f 63  nable to get loc
0820: 61 6c 20 69 73 73 75 65 72 20 63 65 72 74 69 66  al issuer certif
0830: 69 63 61 74 65 22 7d 20 2d 72 65 74 75 72 6e 43  icate"} -returnC
0840: 6f 64 65 73 20 7b 31 7d 0a 0a 74 65 73 74 20 53  odes {1}..test S
0850: 53 4c 4c 61 62 73 2d 31 2e 36 20 7b 4c 6f 67 6a  SLLabs-1.6 {Logj
0860: 61 6d 20 56 75 6c 6e 65 72 61 62 69 6c 69 74 79  am Vulnerability
0870: 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b  } -constraints {
0880: 75 6e 69 78 20 4f 70 65 6e 53 53 4c 33 2e 30 7d  unix OpenSSL3.0}
0890: 20 2d 62 6f 64 79 20 7b 0a 09 63 6f 6e 6e 65 63   -body {..connec
08a0: 74 20 77 77 77 2e 73 73 6c 6c 61 62 73 2e 63 6f  t www.ssllabs.co
08b0: 6d 3a 31 30 34 34 35 0a 20 20 20 20 7d 20 2d 72  m:10445.    } -r
08c0: 65 73 75 6c 74 20 7b 68 61 6e 64 73 68 61 6b 65  esult {handshake
08d0: 20 66 61 69 6c 65 64 3a 20 64 68 20 6b 65 79 20   failed: dh key 
08e0: 74 6f 6f 20 73 6d 61 6c 6c 7d 20 2d 72 65 74 75  too small} -retu
08f0: 72 6e 43 6f 64 65 73 20 7b 31 7d 0a 0a 74 65 73  rnCodes {1}..tes
0900: 74 20 53 53 4c 4c 61 62 73 2d 31 2e 37 20 7b 4c  t SSLLabs-1.7 {L
0910: 6f 67 6a 61 6d 20 56 75 6c 6e 65 72 61 62 69 6c  ogjam Vulnerabil
0920: 69 74 79 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74  ity} -constraint
0930: 73 20 7b 77 69 6e 20 4f 70 65 6e 53 53 4c 33 2e  s {win OpenSSL3.
0940: 32 7d 20 2d 62 6f 64 79 20 7b 0a 09 63 6f 6e 6e  2} -body {..conn
0950: 65 63 74 20 77 77 77 2e 73 73 6c 6c 61 62 73 2e  ect www.ssllabs.
0960: 63 6f 6d 3a 31 30 34 34 35 0a 20 20 20 20 7d 20  com:10445.    } 
0970: 2d 72 65 73 75 6c 74 20 7b 68 61 6e 64 73 68 61  -result {handsha
0980: 6b 65 20 66 61 69 6c 65 64 3a 20 75 6e 6b 6e 6f  ke failed: unkno
0990: 77 6e 20 73 65 63 75 72 69 74 79 20 62 69 74 73  wn security bits
09a0: 7d 20 2d 72 65 74 75 72 6e 43 6f 64 65 73 20 7b  } -returnCodes {
09b0: 31 7d 0a 0a 74 65 73 74 20 53 53 4c 4c 61 62 73  1}..test SSLLabs
09c0: 2d 31 2e 38 20 7b 4c 6f 67 6a 61 6d 20 56 75 6c  -1.8 {Logjam Vul
09d0: 6e 65 72 61 62 69 6c 69 74 79 7d 20 2d 63 6f 6e  nerability} -con
09e0: 73 74 72 61 69 6e 74 73 20 7b 75 6e 69 78 20 21  straints {unix !
09f0: 6d 61 63 20 4f 70 65 6e 53 53 4c 33 2e 32 7d 20  mac OpenSSL3.2} 
0a00: 2d 62 6f 64 79 20 7b 0a 09 63 6f 6e 6e 65 63 74  -body {..connect
0a10: 20 77 77 77 2e 73 73 6c 6c 61 62 73 2e 63 6f 6d   www.ssllabs.com
0a20: 3a 31 30 34 34 35 0a 20 20 20 20 7d 20 2d 72 65  :10445.    } -re
0a30: 73 75 6c 74 20 7b 68 61 6e 64 73 68 61 6b 65 20  sult {handshake 
0a40: 66 61 69 6c 65 64 3a 20 75 6e 6b 6e 6f 77 6e 20  failed: unknown 
0a50: 73 65 63 75 72 69 74 79 20 62 69 74 73 7d 20 2d  security bits} -
0a60: 72 65 74 75 72 6e 43 6f 64 65 73 20 7b 31 7d 0a  returnCodes {1}.
0a70: 0a 74 65 73 74 20 53 53 4c 4c 61 62 73 2d 31 2e  .test SSLLabs-1.
0a80: 39 20 7b 4c 6f 67 6a 61 6d 20 56 75 6c 6e 65 72  9 {Logjam Vulner
0a90: 61 62 69 6c 69 74 79 7d 20 2d 63 6f 6e 73 74 72  ability} -constr
0aa0: 61 69 6e 74 73 20 7b 6d 61 63 20 4f 70 65 6e 53  aints {mac OpenS
0ab0: 53 4c 33 2e 32 7d 20 2d 62 6f 64 79 20 7b 0a 09  SL3.2} -body {..
0ac0: 63 6f 6e 6e 65 63 74 20 77 77 77 2e 73 73 6c 6c  connect www.ssll
0ad0: 61 62 73 2e 63 6f 6d 3a 31 30 34 34 35 0a 20 20  abs.com:10445.  
0ae0: 20 20 7d 20 2d 72 65 73 75 6c 74 20 7b 68 61 6e    } -result {han
0af0: 64 73 68 61 6b 65 20 66 61 69 6c 65 64 3a 20 63  dshake failed: c
0b00: 65 72 74 69 66 69 63 61 74 65 20 76 65 72 69 66  ertificate verif
0b10: 79 20 66 61 69 6c 65 64 20 64 75 65 20 74 6f 20  y failed due to 
0b20: 22 75 6e 61 62 6c 65 20 74 6f 20 67 65 74 20 6c  "unable to get l
0b30: 6f 63 61 6c 20 69 73 73 75 65 72 20 63 65 72 74  ocal issuer cert
0b40: 69 66 69 63 61 74 65 22 7d 20 2d 72 65 74 75 72  ificate"} -retur
0b50: 6e 43 6f 64 65 73 20 7b 31 7d 0a 0a 74 65 73 74  nCodes {1}..test
0b60: 20 53 53 4c 4c 61 62 73 2d 31 2e 31 30 20 7b 46   SSLLabs-1.10 {F
0b70: 52 45 41 4b 20 56 75 6c 6e 65 72 61 62 69 6c 69  REAK Vulnerabili
0b80: 74 79 7d 20 2d 62 6f 64 79 20 7b 0a 09 63 6f 6e  ty} -body {..con
0b90: 6e 65 63 74 20 77 77 77 2e 73 73 6c 6c 61 62 73  nect www.ssllabs
0ba0: 2e 63 6f 6d 3a 31 30 34 34 34 0a 20 20 20 20 7d  .com:10444.    }
0bb0: 20 2d 72 65 73 75 6c 74 20 7b 68 61 6e 64 73 68   -result {handsh
0bc0: 61 6b 65 20 66 61 69 6c 65 64 3a 20 75 6e 73 75  ake failed: unsu
0bd0: 70 70 6f 72 74 65 64 20 70 72 6f 74 6f 63 6f 6c  pported protocol
0be0: 7d 20 2d 72 65 74 75 72 6e 43 6f 64 65 73 20 7b  } -returnCodes {
0bf0: 31 7d 0a 0a 74 65 73 74 20 53 53 4c 4c 61 62 73  1}..test SSLLabs
0c00: 2d 31 2e 31 31 20 7b 50 4f 4f 44 4c 45 20 56 75  -1.11 {POODLE Vu
0c10: 6c 6e 65 72 61 62 69 6c 69 74 79 7d 20 2d 62 6f  lnerability} -bo
0c20: 64 79 20 7b 0a 09 63 6f 6e 6e 65 63 74 20 77 77  dy {..connect ww
0c30: 77 2e 73 73 6c 6c 61 62 73 2e 63 6f 6d 3a 31 30  w.ssllabs.com:10
0c40: 34 34 33 0a 20 20 20 20 7d 20 2d 72 65 73 75 6c  443.    } -resul
0c50: 74 20 7b 68 61 6e 64 73 68 61 6b 65 20 66 61 69  t {handshake fai
0c60: 6c 65 64 3a 20 75 6e 73 75 70 70 6f 72 74 65 64  led: unsupported
0c70: 20 70 72 6f 74 6f 63 6f 6c 7d 20 2d 72 65 74 75   protocol} -retu
0c80: 72 6e 43 6f 64 65 73 20 7b 31 7d 0a 0a 23 20 43  rnCodes {1}..# C
0c90: 6c 65 61 6e 75 70 0a 3a 3a 74 63 6c 74 65 73 74  leanup.::tcltest
0ca0: 3a 3a 63 6c 65 61 6e 75 70 54 65 73 74 73 0a 72  ::cleanupTests.r
0cb0: 65 74 75 72 6e 0a                                eturn.