System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact b3dc1c645d1de02623761dce680397ea794f0b98:


0000: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0010: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
0050: 0a 23 0d 0a 23 20 76 65 6e 64 6f 72 2e 65 61 67  .#..# vendor.eag
0060: 6c 65 20 2d 2d 0d 0a 23 0d 0a 23 20 45 78 74 65  le --..#..# Exte
0070: 6e 73 69 62 6c 65 20 41 64 61 70 74 61 62 6c 65  nsible Adaptable
0080: 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 4c 6f 67   Generalized Log
0090: 69 63 20 45 6e 67 69 6e 65 20 28 45 61 67 6c 65  ic Engine (Eagle
00a0: 29 0d 0a 23 20 56 65 6e 64 6f 72 20 49 6e 69 74  )..# Vendor Init
00b0: 69 61 6c 69 7a 61 74 69 6f 6e 20 46 69 6c 65 20  ialization File 
00c0: 66 6f 72 20 53 79 73 74 65 6d 2e 44 61 74 61 2e  for System.Data.
00d0: 53 51 4c 69 74 65 0d 0a 23 0d 0a 23 20 43 6f 70  SQLite..#..# Cop
00e0: 79 72 69 67 68 74 20 28 63 29 20 32 30 30 37 2d  yright (c) 2007-
00f0: 32 30 31 32 20 62 79 20 4a 6f 65 20 4d 69 73 74  2012 by Joe Mist
0100: 61 63 68 6b 69 6e 2e 20 20 41 6c 6c 20 72 69 67  achkin.  All rig
0110: 68 74 73 20 72 65 73 65 72 76 65 64 2e 0d 0a 23  hts reserved...#
0120: 0d 0a 23 20 53 65 65 20 74 68 65 20 66 69 6c 65  ..# See the file
0130: 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22   "license.terms"
0140: 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e   for information
0150: 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65   on usage and re
0160: 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 0d  distribution of.
0170: 0a 23 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e  .# this file, an
0180: 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d  d for a DISCLAIM
0190: 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e  ER OF ALL WARRAN
01a0: 54 49 45 53 2e 0d 0a 23 0d 0a 23 20 52 43 53 3a  TIES...#..# RCS:
01b0: 20 40 28 23 29 20 24 49 64 3a 20 24 0d 0a 23 0d   @(#) $Id: $..#.
01c0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
01d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0210: 0d 0a 0d 0a 23 0d 0a 23 20 53 54 55 42 3a 20 54  ....#..# STUB: T
0220: 68 69 73 20 73 63 72 69 70 74 20 66 69 6c 65 20  his script file 
0230: 69 73 20 61 20 70 6c 61 63 65 68 6f 6c 64 65 72  is a placeholder
0240: 2e 20 20 54 68 69 73 20 66 69 6c 65 2c 20 77 68  .  This file, wh
0250: 65 6e 20 70 72 65 73 65 6e 74 2c 20 69 73 20 61  en present, is a
0260: 6c 77 61 79 73 0d 0a 23 20 20 20 20 20 20 20 65  lways..#       e
0270: 76 61 6c 75 61 74 65 64 20 77 68 65 6e 20 61 6e  valuated when an
0280: 20 69 6e 74 65 72 70 72 65 74 65 72 20 69 73 20   interpreter is 
0290: 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20 20 56 65  initialized.  Ve
02a0: 6e 64 6f 72 73 20 64 69 73 74 72 69 62 75 74 69  ndors distributi
02b0: 6e 67 0d 0a 23 20 20 20 20 20 20 20 45 61 67 6c  ng..#       Eagl
02c0: 65 20 63 61 6e 20 70 6c 61 63 65 20 63 75 73 74  e can place cust
02d0: 6f 6d 20 61 70 70 6c 69 63 61 74 69 6f 6e 2d 73  om application-s
02e0: 70 65 63 69 66 69 63 2c 20 69 6e 74 65 72 70 72  pecific, interpr
02f0: 65 74 65 72 2d 73 70 65 63 69 66 69 63 0d 0a 23  eter-specific..#
0300: 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a         initializ
0310: 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 63 75 73  ation and/or cus
0320: 74 6f 6d 69 7a 61 74 69 6f 6e 73 20 69 6e 20 68  tomizations in h
0330: 65 72 65 2e 20 20 41 64 64 69 74 69 6f 6e 61 6c  ere.  Additional
0340: 6c 79 2c 20 74 68 69 73 20 66 69 6c 65 0d 0a 23  ly, this file..#
0350: 20 20 20 20 20 20 20 6d 61 79 20 63 6f 6e 74 61         may conta
0360: 69 6e 20 70 65 72 2d 69 6e 74 65 72 70 72 65 74  in per-interpret
0370: 65 72 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e  er customization
0380: 73 20 72 65 71 75 69 72 65 64 20 77 68 65 6e 20  s required when 
0390: 70 6f 72 74 69 6e 67 20 74 6f 0d 0a 23 20 20 20  porting to..#   
03a0: 20 20 20 20 6e 65 77 20 70 6c 61 74 66 6f 72 6d      new platform
03b0: 73 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73  s, operating sys
03c0: 74 65 6d 73 2c 20 65 74 63 2e 0d 0a 23 0d 0a 0c  tems, etc...#...
03d0: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
03e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0400: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0410: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0420: 23 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  #..#############
0430: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0440: 23 20 42 45 47 49 4e 20 56 45 4e 44 4f 52 20 43  # BEGIN VENDOR C
0450: 4f 44 45 20 23 23 23 23 23 23 23 23 23 23 23 23  ODE ############
0460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0470: 23 23 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ##..############
0480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04c0: 23 23 23 0d 0a 23 0d 0a 23 20 4e 4f 54 45 3a 20  ###..#..# NOTE: 
04d0: 55 73 65 20 6f 75 72 20 6f 77 6e 20 6e 61 6d 65  Use our own name
04e0: 73 70 61 63 65 20 68 65 72 65 20 62 65 63 61 75  space here becau
04f0: 73 65 20 65 76 65 6e 20 74 68 6f 75 67 68 20 77  se even though w
0500: 65 20 64 6f 20 6e 6f 74 20 64 69 72 65 63 74 6c  e do not directl
0510: 79 0d 0a 23 20 20 20 20 20 20 20 73 75 70 70 6f  y..#       suppo
0520: 72 74 20 6e 61 6d 65 73 70 61 63 65 73 20 6f 75  rt namespaces ou
0530: 72 73 65 6c 76 65 73 2c 20 77 65 20 64 6f 20 6e  rselves, we do n
0540: 6f 74 20 77 61 6e 74 20 74 6f 20 70 6f 6c 6c 75  ot want to pollu
0550: 74 65 20 74 68 65 20 67 6c 6f 62 61 6c 0d 0a 23  te the global..#
0560: 20 20 20 20 20 20 20 6e 61 6d 65 73 70 61 63 65         namespace
0570: 20 69 66 20 74 68 69 73 20 73 63 72 69 70 74 20   if this script 
0580: 61 63 74 75 61 6c 6c 79 20 65 6e 64 73 20 75 70  actually ends up
0590: 20 62 65 69 6e 67 20 65 76 61 6c 75 61 74 65 64   being evaluated
05a0: 20 69 6e 20 54 63 6c 2e 0d 0a 23 0d 0a 6e 61 6d   in Tcl...#..nam
05b0: 65 73 70 61 63 65 20 65 76 61 6c 20 3a 3a 45 61  espace eval ::Ea
05c0: 67 6c 65 20 7b 0d 0a 20 20 69 66 20 7b 5b 69 73  gle {..  if {[is
05d0: 45 61 67 6c 65 5d 7d 20 74 68 65 6e 20 7b 0d 0a  Eagle]} then {..
05e0: 20 20 20 20 70 72 6f 63 20 63 68 65 63 6b 46 6f      proc checkFo
05f0: 72 54 65 73 74 4f 76 65 72 72 69 64 65 73 20 7b  rTestOverrides {
0600: 20 63 68 61 6e 6e 65 6c 20 76 61 72 4e 61 6d 65   channel varName
0610: 73 20 71 75 69 65 74 20 7d 20 7b 0d 0a 20 20 20  s quiet } {..   
0620: 20 20 20 73 65 74 20 72 65 73 75 6c 74 20 30 0d     set result 0.
0630: 0a 0d 0a 20 20 20 20 20 20 66 6f 72 65 61 63 68  ...      foreach
0640: 20 76 61 72 4e 61 6d 65 20 24 76 61 72 4e 61 6d   varName $varNam
0650: 65 73 20 7b 0d 0a 20 20 20 20 20 20 20 20 69 66  es {..        if
0660: 20 7b 21 5b 75 70 6c 65 76 65 6c 20 31 20 5b 6c   {![uplevel 1 [l
0670: 69 73 74 20 69 6e 66 6f 20 65 78 69 73 74 73 20  ist info exists 
0680: 24 76 61 72 4e 61 6d 65 5d 5d 7d 20 74 68 65 6e  $varName]]} then
0690: 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 63 6f   {..          co
06a0: 6e 74 69 6e 75 65 0d 0a 20 20 20 20 20 20 20 20  ntinue..        
06b0: 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 69 6e 63  }....        inc
06c0: 72 20 72 65 73 75 6c 74 0d 0a 0d 0a 20 20 20 20  r result....    
06d0: 20 20 20 20 69 66 20 7b 21 24 71 75 69 65 74 7d      if {!$quiet}
06e0: 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20 20   then {..       
06f0: 20 20 20 63 61 74 63 68 20 7b 0d 0a 20 20 20 20     catch {..    
0700: 20 20 20 20 20 20 20 20 74 71 70 75 74 73 20 24          tqputs $
0710: 63 68 61 6e 6e 65 6c 20 5b 61 70 70 65 6e 64 41  channel [appendA
0720: 72 67 73 20 5c 0d 0a 20 20 20 20 20 20 20 20 20  rgs \..         
0730: 20 20 20 20 20 20 20 22 2d 2d 2d 2d 20 66 6f 75         "---- fou
0740: 6e 64 20 76 65 6e 64 6f 72 2d 73 70 65 63 69 66  nd vendor-specif
0750: 69 63 20 74 65 73 74 20 6f 76 65 72 72 69 64 65  ic test override
0760: 20 5c 22 22 20 24 76 61 72 4e 61 6d 65 20 5c 0d   \"" $varName \.
0770: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0780: 20 22 5c 22 20 77 69 74 68 20 76 61 6c 75 65 20   "\" with value 
0790: 5c 22 22 20 5b 75 70 6c 65 76 65 6c 20 31 20 5b  \"" [uplevel 1 [
07a0: 6c 69 73 74 20 73 65 74 20 24 76 61 72 4e 61 6d  list set $varNam
07b0: 65 5d 5d 20 5c 22 5c 6e 5d 0d 0a 20 20 20 20 20  e]] \"\n]..     
07c0: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20       }..        
07d0: 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20  }..      }....  
07e0: 20 20 20 20 23 0d 0a 20 20 20 20 20 20 23 20 4e      #..      # N
07f0: 4f 54 45 3a 20 4b 65 65 70 20 74 72 61 63 6b 20  OTE: Keep track 
0800: 6f 66 20 74 68 65 20 6c 69 73 74 20 6f 66 20 74  of the list of t
0810: 65 73 74 20 6f 76 65 72 72 69 64 65 20 76 61 72  est override var
0820: 69 61 62 6c 65 73 2c 20 66 6f 72 20 6c 61 74 65  iables, for late
0830: 72 0d 0a 20 20 20 20 20 20 23 20 20 20 20 20 20  r..      #      
0840: 20 75 73 65 20 62 79 20 74 68 65 20 74 65 73 74   use by the test
0850: 20 73 75 69 74 65 2e 20 20 54 68 69 73 20 6e 65   suite.  This ne
0860: 65 64 73 20 74 6f 20 62 65 20 64 6f 6e 65 20 61  eds to be done a
0870: 66 74 65 72 20 74 68 65 20 6c 6f 6f 70 0d 0a 20  fter the loop.. 
0880: 20 20 20 20 20 23 20 20 20 20 20 20 20 61 62 6f       #       abo
0890: 76 65 20 62 65 63 61 75 73 65 20 74 68 65 20 76  ve because the v
08a0: 61 72 69 61 62 6c 65 20 75 73 65 64 20 74 6f 20  ariable used to 
08b0: 6b 65 65 70 20 74 72 61 63 6b 20 69 73 20 6c 69  keep track is li
08c0: 73 74 65 64 20 77 69 74 68 0d 0a 20 20 20 20 20  sted with..     
08d0: 20 23 20 20 20 20 20 20 20 74 68 65 20 6f 74 68   #       the oth
08e0: 65 72 20 70 6f 73 73 69 62 6c 65 20 74 65 73 74  er possible test
08f0: 20 6f 76 65 72 72 69 64 65 20 76 61 72 69 61 62   override variab
0900: 6c 65 73 2e 0d 0a 20 20 20 20 20 20 23 0d 0a 20  les...      #.. 
0910: 20 20 20 20 20 69 66 20 7b 21 5b 75 70 6c 65 76       if {![uplev
0920: 65 6c 20 31 20 5b 6c 69 73 74 20 69 6e 66 6f 20  el 1 [list info 
0930: 65 78 69 73 74 73 20 74 65 73 74 5f 6f 76 65 72  exists test_over
0940: 72 69 64 65 73 5d 5d 7d 20 74 68 65 6e 20 7b 0d  rides]]} then {.
0950: 0a 20 20 20 20 20 20 20 20 75 70 6c 65 76 65 6c  .        uplevel
0960: 20 31 20 5b 6c 69 73 74 20 73 65 74 20 74 65 73   1 [list set tes
0970: 74 5f 6f 76 65 72 72 69 64 65 73 20 24 76 61 72  t_overrides $var
0980: 4e 61 6d 65 73 5d 0d 0a 20 20 20 20 20 20 7d 0d  Names]..      }.
0990: 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20  ...      return 
09a0: 24 72 65 73 75 6c 74 0d 0a 20 20 20 20 7d 0d 0a  $result..    }..
09b0: 0c 0d 0a 20 20 20 20 70 72 6f 63 20 61 64 64 54  ...    proc addT
09c0: 65 73 74 53 75 69 74 65 54 6f 41 75 74 6f 50 61  estSuiteToAutoPa
09d0: 74 68 20 7b 20 63 68 61 6e 6e 65 6c 20 76 61 72  th { channel var
09e0: 4e 61 6d 65 20 71 75 69 65 74 20 7d 20 7b 0d 0a  Name quiet } {..
09f0: 20 20 20 20 20 20 23 0d 0a 20 20 20 20 20 20 23        #..      #
0a00: 20 4e 4f 54 45 3a 20 53 74 61 72 74 20 77 69 74   NOTE: Start wit
0a10: 68 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20  h the directory 
0a20: 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 69 73 20  containing this 
0a30: 66 69 6c 65 2e 0d 0a 20 20 20 20 20 20 23 0d 0a  file...      #..
0a40: 20 20 20 20 20 20 73 65 74 20 64 69 72 20 5b 66        set dir [f
0a50: 69 6c 65 20 6e 6f 72 6d 61 6c 69 7a 65 20 5b 66  ile normalize [f
0a60: 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 69 6e 66  ile dirname [inf
0a70: 6f 20 73 63 72 69 70 74 5d 5d 5d 0d 0a 0d 0a 20  o script]]].... 
0a80: 20 20 20 20 20 23 0d 0a 20 20 20 20 20 20 23 20       #..      # 
0a90: 4e 4f 54 45 3a 20 4b 65 65 70 20 67 6f 69 6e 67  NOTE: Keep going
0aa0: 20 75 6e 74 69 6c 20 74 68 65 20 64 69 72 65 63   until the direc
0ab0: 74 6f 72 79 20 6e 61 6d 65 20 69 73 20 65 6d 70  tory name is emp
0ac0: 74 79 20 4f 52 20 69 73 20 61 63 74 75 61 6c 6c  ty OR is actuall
0ad0: 79 20 74 68 65 0d 0a 20 20 20 20 20 20 23 20 20  y the..      #  
0ae0: 20 20 20 20 20 72 6f 6f 74 20 6f 66 20 74 68 65       root of the
0af0: 20 61 73 73 6f 63 69 61 74 65 64 20 76 6f 6c 75   associated volu
0b00: 6d 65 2e 0d 0a 20 20 20 20 20 20 23 0d 0a 20 20  me...      #..  
0b10: 20 20 20 20 77 68 69 6c 65 20 7b 5b 73 74 72 69      while {[stri
0b20: 6e 67 20 6c 65 6e 67 74 68 20 24 64 69 72 5d 20  ng length $dir] 
0b30: 3e 20 30 20 26 26 20 5c 0d 0a 20 20 20 20 20 20  > 0 && \..      
0b40: 20 20 20 20 5b 6c 73 65 61 72 63 68 20 2d 65 78      [lsearch -ex
0b50: 61 63 74 20 2d 6e 6f 63 61 73 65 20 2d 2d 20 5b  act -nocase -- [
0b60: 66 69 6c 65 20 76 6f 6c 75 6d 65 73 5d 20 24 64  file volumes] $d
0b70: 69 72 5d 20 3d 3d 20 2d 31 7d 20 7b 0d 0a 20 20  ir] == -1} {..  
0b80: 20 20 20 20 20 20 23 0d 0a 20 20 20 20 20 20 20        #..       
0b90: 20 23 20 4e 4f 54 45 3a 20 44 6f 65 73 20 74 68   # NOTE: Does th
0ba0: 69 73 20 64 69 72 65 63 74 6f 72 79 20 68 61 76  is directory hav
0bb0: 65 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  e the necessary 
0bc0: 73 75 62 2d 64 69 72 65 63 74 6f 72 79 20 74 68  sub-directory th
0bd0: 61 74 0d 0a 20 20 20 20 20 20 20 20 23 20 20 20  at..        #   
0be0: 20 20 20 20 63 6f 6e 74 61 69 6e 73 20 61 20 70      contains a p
0bf0: 61 63 6b 61 67 65 20 69 6e 64 65 78 20 66 69 6c  ackage index fil
0c00: 65 3f 0d 0a 20 20 20 20 20 20 20 20 23 0d 0a 20  e?..        #.. 
0c10: 20 20 20 20 20 20 20 69 66 20 7b 5b 66 69 6c 65         if {[file
0c20: 20 65 78 69 73 74 73 20 5b 66 69 6c 65 20 6a 6f   exists [file jo
0c30: 69 6e 20 24 64 69 72 20 54 65 73 74 73 5d 5d 20  in $dir Tests]] 
0c40: 26 26 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20  && \..          
0c50: 20 20 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74    [file isdirect
0c60: 6f 72 79 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24  ory [file join $
0c70: 64 69 72 20 54 65 73 74 73 5d 5d 20 26 26 20 5c  dir Tests]] && \
0c80: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5b 66  ..            [f
0c90: 69 6c 65 20 65 78 69 73 74 73 20 5b 66 69 6c 65  ile exists [file
0ca0: 20 6a 6f 69 6e 20 24 64 69 72 20 54 65 73 74 73   join $dir Tests
0cb0: 20 70 6b 67 49 6e 64 65 78 2e 65 61 67 6c 65 5d   pkgIndex.eagle]
0cc0: 5d 20 26 26 20 5c 0d 0a 20 20 20 20 20 20 20 20  ] && \..        
0cd0: 20 20 20 20 5b 66 69 6c 65 20 69 73 66 69 6c 65      [file isfile
0ce0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72   [file join $dir
0cf0: 20 54 65 73 74 73 20 70 6b 67 49 6e 64 65 78 2e   Tests pkgIndex.
0d00: 65 61 67 6c 65 5d 5d 7d 20 74 68 65 6e 20 7b 0d  eagle]]} then {.
0d10: 0a 20 20 20 20 20 20 20 20 20 20 23 0d 0a 20 20  .          #..  
0d20: 20 20 20 20 20 20 20 20 23 20 4e 4f 54 45 3a 20          # NOTE: 
0d30: 49 66 20 72 65 71 75 65 73 74 65 64 2c 20 67 69  If requested, gi
0d40: 76 65 20 6f 75 72 20 63 61 6c 6c 65 72 20 61 63  ve our caller ac
0d50: 63 65 73 73 20 74 6f 20 74 68 65 20 6e 61 6d 65  cess to the name
0d60: 20 6f 66 20 74 68 65 0d 0a 20 20 20 20 20 20 20   of the..       
0d70: 20 20 20 23 20 20 20 20 20 20 20 64 69 72 65 63     #       direc
0d80: 74 6f 72 79 20 77 65 20 6a 75 73 74 20 66 6f 75  tory we just fou
0d90: 6e 64 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 23  nd...          #
0da0: 0d 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 7b  ..          if {
0db0: 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24  [string length $
0dc0: 76 61 72 4e 61 6d 65 5d 20 3e 20 30 7d 20 74 68  varName] > 0} th
0dd0: 65 6e 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  en {..          
0de0: 20 20 75 70 76 61 72 20 31 20 24 76 61 72 4e 61    upvar 1 $varNa
0df0: 6d 65 20 64 69 72 32 0d 0a 20 20 20 20 20 20 20  me dir2..       
0e00: 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20     }....        
0e10: 20 20 23 0d 0a 20 20 20 20 20 20 20 20 20 20 23    #..          #
0e20: 20 4e 4f 54 45 3a 20 4f 6b 2c 20 73 68 6f 77 20   NOTE: Ok, show 
0e30: 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77 65  the directory we
0e40: 20 66 6f 75 6e 64 2e 0d 0a 20 20 20 20 20 20 20   found...       
0e50: 20 20 20 23 0d 0a 20 20 20 20 20 20 20 20 20 20     #..          
0e60: 73 65 74 20 64 69 72 32 20 5b 66 69 6c 65 20 6a  set dir2 [file j
0e70: 6f 69 6e 20 24 64 69 72 20 54 65 73 74 73 5d 0d  oin $dir Tests].
0e80: 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 23 0d 0a  ...          #..
0e90: 20 20 20 20 20 20 20 20 20 20 23 20 4e 4f 54 45            # NOTE
0ea0: 3a 20 57 65 20 66 6f 75 6e 64 20 74 68 65 20 6e  : We found the n
0eb0: 65 63 65 73 73 61 72 79 20 64 69 72 65 63 74 6f  ecessary directo
0ec0: 72 79 20 74 6f 20 61 64 64 20 74 6f 20 74 68 65  ry to add to the
0ed0: 20 61 75 74 6f 2d 70 61 74 68 3b 0d 0a 20 20 20   auto-path;..   
0ee0: 20 20 20 20 20 20 20 23 20 20 20 20 20 20 20 48         #       H
0ef0: 6f 77 65 76 65 72 2c 20 77 65 20 63 61 6e 6e 6f  owever, we canno
0f00: 74 20 73 69 6d 70 6c 79 20 61 64 64 20 69 74 20  t simply add it 
0f10: 74 6f 20 74 68 65 20 61 75 74 6f 2d 70 61 74 68  to the auto-path
0f20: 20 64 69 72 65 63 74 6c 79 0d 0a 20 20 20 20 20   directly..     
0f30: 20 20 20 20 20 23 20 20 20 20 20 20 20 62 65 63       #       bec
0f40: 61 75 73 65 20 74 68 65 20 61 75 74 6f 2d 70 61  ause the auto-pa
0f50: 74 68 20 69 73 20 64 79 6e 61 6d 69 63 61 6c 6c  th is dynamicall
0f60: 79 20 63 6f 6e 73 74 72 75 63 74 65 64 20 61 66  y constructed af
0f70: 74 65 72 20 74 68 69 73 0d 0a 20 20 20 20 20 20  ter this..      
0f80: 20 20 20 20 23 20 20 20 20 20 20 20 73 63 72 69      #       scri
0f90: 70 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 3b  pt is evaluated;
0fa0: 20 74 68 65 72 65 66 6f 72 65 2c 20 73 65 74 20   therefore, set 
0fb0: 74 68 65 20 45 61 67 6c 65 20 6c 69 62 72 61 72  the Eagle librar
0fc0: 79 20 70 61 74 68 0d 0a 20 20 20 20 20 20 20 20  y path..        
0fd0: 20 20 23 20 20 20 20 20 20 20 65 6e 76 69 72 6f    #       enviro
0fe0: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61  nment variable a
0ff0: 6e 64 20 66 6f 72 63 65 20 74 68 65 20 61 70 70  nd force the app
1000: 72 6f 70 72 69 61 74 65 20 69 6e 74 65 72 6e 61  ropriate interna
1010: 6c 20 70 61 74 68 0d 0a 20 20 20 20 20 20 20 20  l path..        
1020: 20 20 23 20 20 20 20 20 20 20 6c 69 73 74 20 74    #       list t
1030: 6f 20 62 65 20 72 65 66 72 65 73 68 65 64 2e 0d  o be refreshed..
1040: 0a 20 20 20 20 20 20 20 20 20 20 23 0d 0a 20 20  .          #..  
1050: 20 20 20 20 20 20 20 20 69 66 20 7b 21 5b 69 6e          if {![in
1060: 66 6f 20 65 78 69 73 74 73 20 3a 3a 65 6e 76 28  fo exists ::env(
1070: 45 41 47 4c 45 4c 49 42 50 41 54 48 29 5d 20 7c  EAGLELIBPATH)] |
1080: 7c 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  | \..           
1090: 20 20 20 5b 6c 73 65 61 72 63 68 20 2d 65 78 61     [lsearch -exa
10a0: 63 74 20 24 3a 3a 65 6e 76 28 45 41 47 4c 45 4c  ct $::env(EAGLEL
10b0: 49 42 50 41 54 48 29 20 24 64 69 72 32 5d 20 3d  IBPATH) $dir2] =
10c0: 3d 20 2d 31 7d 20 74 68 65 6e 20 7b 0d 0a 20 20  = -1} then {..  
10d0: 20 20 20 20 20 20 20 20 20 20 23 0d 0a 20 20 20            #..   
10e0: 20 20 20 20 20 20 20 20 20 23 20 4e 4f 54 45 3a           # NOTE:
10f0: 20 49 66 20 77 65 20 68 61 76 65 20 4e 4f 54 20   If we have NOT 
1100: 62 65 65 6e 20 69 6e 73 74 72 75 63 74 65 64 20  been instructed 
1110: 74 6f 20 62 65 20 71 75 69 65 74 2c 20 72 65 70  to be quiet, rep
1120: 6f 72 74 20 6e 6f 77 2e 0d 0a 20 20 20 20 20 20  ort now...      
1130: 20 20 20 20 20 20 23 0d 0a 20 20 20 20 20 20 20        #..       
1140: 20 20 20 20 20 69 66 20 7b 21 24 71 75 69 65 74       if {!$quiet
1150: 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20  } then {..      
1160: 20 20 20 20 20 20 20 20 63 61 74 63 68 20 7b 0d          catch {.
1170: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1180: 20 74 71 70 75 74 73 20 24 63 68 61 6e 6e 65 6c   tqputs $channel
1190: 20 5b 61 70 70 65 6e 64 41 72 67 73 20 5c 0d 0a   [appendArgs \..
11a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11b0: 20 20 20 20 22 2d 2d 2d 2d 20 66 6f 75 6e 64 20      "---- found 
11c0: 76 65 6e 64 6f 72 2d 73 70 65 63 69 66 69 63 20  vendor-specific 
11d0: 74 65 73 74 20 70 61 63 6b 61 67 65 20 64 69 72  test package dir
11e0: 65 63 74 6f 72 79 20 5c 22 22 20 5c 0d 0a 20 20  ectory \"" \..  
11f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1200: 20 20 24 64 69 72 32 20 22 5c 22 2c 20 61 64 64    $dir2 "\", add
1210: 69 6e 67 2e 2e 2e 5c 6e 22 5d 0d 0a 20 20 20 20  ing...\n"]..    
1220: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
1230: 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20           }....  
1240: 20 20 20 20 20 20 20 20 20 20 23 0d 0a 20 20 20            #..   
1250: 20 20 20 20 20 20 20 20 20 23 20 4e 4f 54 45 3a           # NOTE:
1260: 20 41 70 70 65 6e 64 20 74 68 65 20 64 69 72 65   Append the dire
1270: 63 74 6f 72 79 20 74 6f 20 74 68 65 20 6e 65 63  ctory to the nec
1280: 65 73 73 61 72 79 20 65 6e 76 69 72 6f 6e 6d 65  essary environme
1290: 6e 74 20 76 61 72 69 61 62 6c 65 0d 0a 20 20 20  nt variable..   
12a0: 20 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20           #      
12b0: 20 73 6f 20 74 68 61 74 20 69 74 20 77 69 6c 6c   so that it will
12c0: 20 67 65 74 20 70 69 63 6b 65 64 20 75 70 20 77   get picked up w
12d0: 68 65 6e 20 45 61 67 6c 65 20 61 63 74 75 61 6c  hen Eagle actual
12e0: 6c 79 20 72 65 62 75 69 6c 64 73 0d 0a 20 20 20  ly rebuilds..   
12f0: 20 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20           #      
1300: 20 74 68 65 20 61 75 74 6f 2d 70 61 74 68 20 6c   the auto-path l
1310: 69 73 74 20 28 62 65 6c 6f 77 29 2e 0d 0a 20 20  ist (below)...  
1320: 20 20 20 20 20 20 20 20 20 20 23 0d 0a 20 20 20            #..   
1330: 20 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64           lappend
1340: 20 3a 3a 65 6e 76 28 45 41 47 4c 45 4c 49 42 50   ::env(EAGLELIBP
1350: 41 54 48 29 20 24 64 69 72 32 0d 0a 0d 0a 20 20  ATH) $dir2....  
1360: 20 20 20 20 20 20 20 20 20 20 23 0d 0a 20 20 20            #..   
1370: 20 20 20 20 20 20 20 20 20 23 20 4e 4f 54 45 3a           # NOTE:
1380: 20 46 6f 72 63 65 20 45 61 67 6c 65 20 74 6f 20   Force Eagle to 
1390: 72 65 62 75 69 6c 64 20 74 68 65 20 61 75 74 6f  rebuild the auto
13a0: 2d 70 61 74 68 20 6c 69 73 74 20 66 6f 72 20 74  -path list for t
13b0: 68 65 20 63 75 72 72 65 6e 74 0d 0a 20 20 20 20  he current..    
13c0: 20 20 20 20 20 20 20 20 23 20 20 20 20 20 20 20          #       
13d0: 69 6e 74 65 72 70 72 65 74 65 72 20 72 69 67 68  interpreter righ
13e0: 74 20 6e 6f 77 2e 0d 0a 20 20 20 20 20 20 20 20  t now...        
13f0: 20 20 20 20 23 0d 0a 20 20 20 20 20 20 20 20 20      #..         
1400: 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 0d     if {[catch {.
1410: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f  .              o
1420: 62 6a 65 63 74 20 69 6e 76 6f 6b 65 20 55 74 69  bject invoke Uti
1430: 6c 69 74 79 20 52 65 66 72 65 73 68 41 75 74 6f  lity RefreshAuto
1440: 50 61 74 68 4c 69 73 74 20 74 72 75 65 0d 0a 20  PathList true.. 
1450: 20 20 20 20 20 20 20 20 20 20 20 7d 5d 7d 20 74             }]} t
1460: 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20 20 20 20  hen {..         
1470: 20 20 20 20 20 23 0d 0a 20 20 20 20 20 20 20 20       #..        
1480: 20 20 20 20 20 20 23 20 4e 4f 54 45 3a 20 4f 6b        # NOTE: Ok
1490: 2c 20 6d 61 79 62 65 20 74 68 65 20 5b 6f 62 6a  , maybe the [obj
14a0: 65 63 74 5d 20 63 6f 6d 6d 61 6e 64 20 69 73 20  ect] command is 
14b0: 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 20 20  not available.  
14c0: 52 65 73 63 61 6e 0d 0a 20 20 20 20 20 20 20 20  Rescan..        
14d0: 20 20 20 20 20 20 23 20 20 20 20 20 20 20 74 68        #       th
14e0: 65 20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 65  e package indexe
14f0: 73 20 75 73 69 6e 67 20 74 68 65 20 5b 70 61 63  s using the [pac
1500: 6b 61 67 65 20 73 63 61 6e 5d 20 73 75 62 2d 63  kage scan] sub-c
1510: 6f 6d 6d 61 6e 64 0d 0a 20 20 20 20 20 20 20 20  ommand..        
1520: 20 20 20 20 20 20 23 20 20 20 20 20 20 20 69 6e        #       in
1530: 20 74 68 61 74 20 63 61 73 65 2e 20 20 54 68 65   that case.  The
1540: 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 69 74   directories wit
1550: 68 69 6e 20 45 41 47 4c 45 4c 49 42 50 41 54 48  hin EAGLELIBPATH
1560: 20 77 69 6c 6c 0d 0a 20 20 20 20 20 20 20 20 20   will..         
1570: 20 20 20 20 20 23 20 20 20 20 20 20 20 6e 6f 74       #       not
1580: 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65   be added to the
1590: 20 61 75 74 6f 2d 70 61 74 68 3b 20 68 6f 77 65   auto-path; howe
15a0: 76 65 72 2c 20 61 6c 6c 20 74 68 65 20 70 61 63  ver, all the pac
15b0: 6b 61 67 65 0d 0a 20 20 20 20 20 20 20 20 20 20  kage..          
15c0: 20 20 20 20 23 20 20 20 20 20 20 20 69 6e 64 65      #       inde
15d0: 78 65 73 20 61 6e 64 20 74 68 65 69 72 20 61 73  xes and their as
15e0: 73 6f 63 69 61 74 65 64 20 70 61 63 6b 61 67 65  sociated package
15f0: 73 20 77 69 6c 6c 20 62 65 20 61 76 61 69 6c 61  s will be availa
1600: 62 6c 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20  ble...          
1610: 20 20 20 20 23 0d 0a 20 20 20 20 20 20 20 20 20      #..         
1620: 20 20 20 20 20 69 66 20 7b 21 24 71 75 69 65 74       if {!$quiet
1630: 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20  } then {..      
1640: 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20            catch 
1650: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
1660: 20 20 20 20 20 74 71 70 75 74 73 20 24 63 68 61       tqputs $cha
1670: 6e 6e 65 6c 20 5b 61 70 70 65 6e 64 41 72 67 73  nnel [appendArgs
1680: 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   \..            
1690: 20 20 20 20 20 20 20 20 20 20 22 2d 2d 2d 2d 20            "---- 
16a0: 75 6e 61 62 6c 65 20 74 6f 20 72 65 66 72 65 73  unable to refres
16b0: 68 20 61 75 74 6f 2d 70 61 74 68 20 6c 69 73 74  h auto-path list
16c0: 2c 20 73 63 61 6e 6e 69 6e 67 20 5c 22 22 20 5c  , scanning \"" \
16d0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
16e0: 20 20 20 20 20 20 20 20 24 3a 3a 65 6e 76 28 45          $::env(E
16f0: 41 47 4c 45 4c 49 42 50 41 54 48 29 20 22 5c 22  AGLELIBPATH) "\"
1700: 20 69 6e 73 74 65 61 64 2e 2e 2e 5c 6e 22 5d 0d   instead...\n"].
1710: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1720: 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20   }..            
1730: 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20    }....         
1740: 20 20 20 20 20 65 76 61 6c 20 70 61 63 6b 61 67       eval packag
1750: 65 20 73 63 61 6e 20 2d 68 6f 73 74 20 2d 6e 6f  e scan -host -no
1760: 72 6d 61 6c 20 2d 72 65 66 72 65 73 68 20 2d 2d  rmal -refresh --
1770: 20 24 3a 3a 65 6e 76 28 45 41 47 4c 45 4c 49 42   $::env(EAGLELIB
1780: 50 41 54 48 29 0d 0a 20 20 20 20 20 20 20 20 20  PATH)..         
1790: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
17a0: 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 23  }....          #
17b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 23 20 4e 4f  ..          # NO
17c0: 54 45 3a 20 57 65 20 61 72 65 20 64 6f 6e 65 2c  TE: We are done,
17d0: 20 72 65 74 75 72 6e 20 73 75 63 63 65 73 73 2e   return success.
17e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 23 0d 0a 20  ..          #.. 
17f0: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20           return 
1800: 74 72 75 65 0d 0a 20 20 20 20 20 20 20 20 7d 0d  true..        }.
1810: 0a 0d 0a 20 20 20 20 20 20 20 20 23 0d 0a 20 20  ...        #..  
1820: 20 20 20 20 20 20 23 20 4e 4f 54 45 3a 20 4b 65        # NOTE: Ke
1830: 65 70 20 67 6f 69 6e 67 20 75 70 20 74 68 65 20  ep going up the 
1840: 64 69 72 65 63 74 6f 72 79 20 74 72 65 65 2e 2e  directory tree..
1850: 2e 0d 0a 20 20 20 20 20 20 20 20 23 0d 0a 20 20  ...        #..  
1860: 20 20 20 20 20 20 73 65 74 20 64 69 72 20 5b 66        set dir [f
1870: 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 64 69 72  ile dirname $dir
1880: 5d 0d 0a 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20  ]..      }....  
1890: 20 20 20 20 23 0d 0a 20 20 20 20 20 20 23 20 4e      #..      # N
18a0: 4f 54 45 3a 20 49 66 20 77 65 20 68 61 76 65 20  OTE: If we have 
18b0: 4e 4f 54 20 62 65 65 6e 20 69 6e 73 74 72 75 63  NOT been instruc
18c0: 74 65 64 20 74 6f 20 62 65 20 71 75 69 65 74 2c  ted to be quiet,
18d0: 20 72 65 70 6f 72 74 20 6e 6f 77 2e 0d 0a 20 20   report now...  
18e0: 20 20 20 20 23 0d 0a 20 20 20 20 20 20 69 66 20      #..      if 
18f0: 7b 21 24 71 75 69 65 74 7d 20 74 68 65 6e 20 7b  {!$quiet} then {
1900: 0d 0a 20 20 20 20 20 20 20 20 63 61 74 63 68 20  ..        catch 
1910: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 74 71 70  {..          tqp
1920: 75 74 73 20 24 63 68 61 6e 6e 65 6c 20 5c 0d 0a  uts $channel \..
1930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d                "-
1940: 2d 2d 2d 20 63 6f 75 6c 64 20 6e 6f 74 20 66 69  --- could not fi
1950: 6e 64 20 76 65 6e 64 6f 72 2d 73 70 65 63 69 66  nd vendor-specif
1960: 69 63 20 74 65 73 74 20 70 61 63 6b 61 67 65 20  ic test package 
1970: 64 69 72 65 63 74 6f 72 79 5c 6e 22 0d 0a 20 20  directory\n"..  
1980: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d        }..      }
1990: 0d 0a 0d 0a 20 20 20 20 20 20 23 0d 0a 20 20 20  ....      #..   
19a0: 20 20 20 23 20 4e 4f 54 45 3a 20 44 69 72 65 63     # NOTE: Direc
19b0: 74 6f 72 79 20 6e 6f 74 20 66 6f 75 6e 64 2c 20  tory not found, 
19c0: 72 65 74 75 72 6e 20 66 61 69 6c 75 72 65 2e 0d  return failure..
19d0: 0a 20 20 20 20 20 20 23 0d 0a 20 20 20 20 20 20  .      #..      
19e0: 72 65 74 75 72 6e 20 66 61 6c 73 65 0d 0a 20 20  return false..  
19f0: 20 20 7d 0d 0a 0c 0d 0a 20 20 20 20 70 72 6f 63    }.....    proc
1a00: 20 73 65 74 75 70 49 6e 74 65 72 70 72 65 74 65   setupInterprete
1a10: 72 54 65 73 74 50 61 74 68 20 7b 20 63 68 61 6e  rTestPath { chan
1a20: 6e 65 6c 20 64 69 72 20 71 75 69 65 74 20 7d 20  nel dir quiet } 
1a30: 7b 0d 0a 20 20 20 20 20 20 69 66 20 7b 5b 6c 6c  {..      if {[ll
1a40: 65 6e 67 74 68 20 5b 69 6e 66 6f 20 63 6f 6d 6d  ength [info comm
1a50: 61 6e 64 73 20 6f 62 6a 65 63 74 5d 5d 20 3e 20  ands object]] > 
1a60: 30 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20  0} then {..     
1a70: 20 20 20 73 65 74 20 74 65 73 74 50 61 74 68 20     set testPath 
1a80: 5b 6f 62 6a 65 63 74 20 69 6e 76 6f 6b 65 20 2d  [object invoke -
1a90: 66 6c 61 67 73 20 2b 4e 6f 6e 50 75 62 6c 69 63  flags +NonPublic
1aa0: 20 49 6e 74 65 72 70 72 65 74 65 72 2e 47 65 74   Interpreter.Get
1ab0: 41 63 74 69 76 65 20 5c 0d 0a 20 20 20 20 20 20  Active \..      
1ac0: 20 20 20 20 20 20 54 65 73 74 50 61 74 68 5d 0d        TestPath].
1ad0: 0a 0d 0a 20 20 20 20 20 20 20 20 69 66 20 7b 24  ...        if {$
1ae0: 64 69 72 20 6e 65 20 24 74 65 73 74 50 61 74 68  dir ne $testPath
1af0: 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20  } then {..      
1b00: 20 20 20 20 6f 62 6a 65 63 74 20 69 6e 76 6f 6b      object invok
1b10: 65 20 2d 66 6c 61 67 73 20 2b 4e 6f 6e 50 75 62  e -flags +NonPub
1b20: 6c 69 63 20 49 6e 74 65 72 70 72 65 74 65 72 2e  lic Interpreter.
1b30: 47 65 74 41 63 74 69 76 65 20 54 65 73 74 50 61  GetActive TestPa
1b40: 74 68 20 24 64 69 72 0d 0a 0d 0a 20 20 20 20 20  th $dir....     
1b50: 20 20 20 20 20 69 66 20 7b 21 24 71 75 69 65 74       if {!$quiet
1b60: 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20  } then {..      
1b70: 20 20 20 20 20 20 63 61 74 63 68 20 7b 0d 0a 20        catch {.. 
1b80: 20 20 20 20 20 20 20 20 20 20 20 20 20 74 71 70               tqp
1b90: 75 74 73 20 24 63 68 61 6e 6e 65 6c 20 5b 61 70  uts $channel [ap
1ba0: 70 65 6e 64 41 72 67 73 20 5c 0d 0a 20 20 20 20  pendArgs \..    
1bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d                "-
1bc0: 2d 2d 2d 20 73 65 74 20 69 6e 74 65 72 70 72 65  --- set interpre
1bd0: 74 65 72 20 74 65 73 74 20 70 61 74 68 20 74 6f  ter test path to
1be0: 20 5c 22 22 20 24 64 69 72 20 5c 22 5c 6e 5d 0d   \"" $dir \"\n].
1bf0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a  .            }..
1c00: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
1c10: 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 20       }..      } 
1c20: 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20  else {..        
1c30: 69 66 20 7b 21 24 71 75 69 65 74 7d 20 74 68 65  if {!$quiet} the
1c40: 6e 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 63  n {..          c
1c50: 61 74 63 68 20 7b 0d 0a 20 20 20 20 20 20 20 20  atch {..        
1c60: 20 20 20 20 74 71 70 75 74 73 20 24 63 68 61 6e      tqputs $chan
1c70: 6e 65 6c 20 22 2d 2d 2d 2d 20 63 61 6e 6e 6f 74  nel "---- cannot
1c80: 20 73 65 74 20 69 6e 74 65 72 70 72 65 74 65 72   set interpreter
1c90: 20 74 65 73 74 20 70 61 74 68 5c 6e 22 0d 0a 20   test path\n".. 
1ca0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
1cb0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 7d 0d 0a      }..      }..
1cc0: 20 20 20 20 7d 0d 0a 0c 0d 0a 20 20 20 20 23 0d      }.....    #.
1cd0: 0a 20 20 20 20 23 20 4e 4f 54 45 3a 20 43 68 65  .    # NOTE: Che
1ce0: 63 6b 20 66 6f 72 20 61 6e 79 20 6f 76 65 72 72  ck for any overr
1cf0: 69 64 64 65 6e 20 73 65 74 74 69 6e 67 73 20 74  idden settings t
1d00: 68 61 74 20 6d 61 79 20 68 61 76 65 20 62 65 65  hat may have bee
1d10: 6e 20 73 70 65 63 69 66 69 65 64 20 76 69 61 0d  n specified via.
1d20: 0a 20 20 20 20 23 20 20 20 20 20 20 20 74 68 65  .    #       the
1d30: 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2c 20 65   command line, e
1d40: 74 63 2e 0d 0a 20 20 20 20 23 0d 0a 20 20 20 20  tc...    #..    
1d50: 63 68 65 63 6b 46 6f 72 54 65 73 74 4f 76 65 72  checkForTestOver
1d60: 72 69 64 65 73 20 73 74 64 6f 75 74 20 5b 65 78  rides stdout [ex
1d70: 70 72 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73  pr {[info exists
1d80: 20 74 65 73 74 5f 6f 76 65 72 72 69 64 65 73 5d   test_overrides]
1d90: 20 3f 20 5c 0d 0a 20 20 20 20 20 20 20 20 24 74   ? \..        $t
1da0: 65 73 74 5f 6f 76 65 72 72 69 64 65 73 20 3a 20  est_overrides : 
1db0: 5b 6c 69 73 74 20 62 69 6e 61 72 79 5f 64 69 72  [list binary_dir
1dc0: 65 63 74 6f 72 79 20 62 75 69 6c 64 5f 62 61 73  ectory build_bas
1dd0: 65 5f 64 69 72 65 63 74 6f 72 79 20 5c 0d 0a 20  e_directory \.. 
1de0: 20 20 20 20 20 20 20 62 75 69 6c 64 5f 64 69 72         build_dir
1df0: 65 63 74 6f 72 79 20 63 6f 6d 6d 6f 6e 5f 64 69  ectory common_di
1e00: 72 65 63 74 6f 72 79 20 63 6f 6e 6e 65 63 74 69  rectory connecti
1e10: 6f 6e 5f 66 6c 61 67 73 20 64 61 74 61 62 61 73  on_flags databas
1e20: 65 5f 64 69 72 65 63 74 6f 72 79 20 5c 0d 0a 20  e_directory \.. 
1e30: 20 20 20 20 20 20 20 64 61 74 65 74 69 6d 65 5f         datetime_
1e40: 66 6f 72 6d 61 74 20 65 78 65 63 75 74 65 5f 6f  format execute_o
1e50: 6e 5f 73 65 74 75 70 20 72 65 6c 65 61 73 65 5f  n_setup release_
1e60: 76 65 72 73 69 6f 6e 20 73 63 72 61 74 63 68 5f  version scratch_
1e70: 64 69 72 65 63 74 6f 72 79 20 5c 0d 0a 20 20 20  directory \..   
1e80: 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 5f 64       temporary_d
1e90: 69 72 65 63 74 6f 72 79 20 74 65 73 74 5f 63 6c  irectory test_cl
1ea0: 72 20 74 65 73 74 5f 63 6c 72 5f 76 32 20 74 65  r test_clr_v2 te
1eb0: 73 74 5f 63 6c 72 5f 76 34 20 5c 0d 0a 20 20 20  st_clr_v4 \..   
1ec0: 20 20 20 20 20 74 65 73 74 5f 63 6f 6e 66 69 67       test_config
1ed0: 75 72 61 74 69 6f 6e 20 74 65 73 74 5f 63 6f 6e  uration test_con
1ee0: 66 69 67 75 72 61 74 69 6f 6e 73 20 74 65 73 74  figurations test
1ef0: 5f 63 6f 6e 73 74 72 61 69 6e 74 73 20 74 65 73  _constraints tes
1f00: 74 5f 6d 61 63 68 69 6e 65 20 5c 0d 0a 20 20 20  t_machine \..   
1f10: 20 20 20 20 20 74 65 73 74 5f 6e 65 74 5f 66 78       test_net_fx
1f20: 20 74 65 73 74 5f 6f 76 65 72 72 69 64 65 73 20   test_overrides 
1f30: 74 65 73 74 5f 70 6c 61 74 66 6f 72 6d 20 74 65  test_platform te
1f40: 73 74 5f 73 75 69 74 65 20 74 65 73 74 5f 79 65  st_suite test_ye
1f50: 61 72 20 5c 0d 0a 20 20 20 20 20 20 20 20 74 65  ar \..        te
1f60: 73 74 5f 79 65 61 72 73 20 74 65 73 74 5f 79 65  st_years test_ye
1f70: 61 72 5f 63 6c 72 5f 76 32 20 74 65 73 74 5f 79  ar_clr_v2 test_y
1f80: 65 61 72 5f 63 6c 72 5f 76 34 20 76 65 6e 64 6f  ear_clr_v4 vendo
1f90: 72 5f 64 69 72 65 63 74 6f 72 79 5d 7d 5d 20 66  r_directory]}] f
1fa0: 61 6c 73 65 0d 0a 0d 0a 20 20 20 20 23 0d 0a 20  alse....    #.. 
1fb0: 20 20 20 23 20 4e 4f 54 45 3a 20 53 65 74 20 74     # NOTE: Set t
1fc0: 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 72  he name of the r
1fd0: 75 6e 6e 69 6e 67 20 74 65 73 74 20 73 75 69 74  unning test suit
1fe0: 65 2c 20 69 66 20 6e 65 63 65 73 73 61 72 79 2e  e, if necessary.
1ff0: 0d 0a 20 20 20 20 23 0d 0a 20 20 20 20 69 66 20  ..    #..    if 
2000: 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74  {![info exists t
2010: 65 73 74 5f 73 75 69 74 65 5d 7d 20 74 68 65 6e  est_suite]} then
2020: 20 7b 0d 0a 20 20 20 20 20 20 73 65 74 20 74 65   {..      set te
2030: 73 74 5f 73 75 69 74 65 20 22 53 79 73 74 65 6d  st_suite "System
2040: 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 54 65 73  .Data.SQLite Tes
2050: 74 20 53 75 69 74 65 20 66 6f 72 20 45 61 67 6c  t Suite for Eagl
2060: 65 22 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20  e"..    }....   
2070: 20 23 0d 0a 20 20 20 20 23 20 4e 4f 54 45 3a 20   #..    # NOTE: 
2080: 57 68 65 6e 20 62 65 69 6e 67 20 65 76 61 6c 75  When being evalu
2090: 61 74 65 64 20 69 6e 20 61 20 22 73 61 66 65 22  ated in a "safe"
20a0: 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 73 6f   interpreter, so
20b0: 6d 65 20 73 74 65 70 73 20 6d 75 73 74 20 62 65  me steps must be
20c0: 0d 0a 20 20 20 20 23 20 20 20 20 20 20 20 73 6b  ..    #       sk
20d0: 69 70 70 65 64 20 64 75 65 20 74 6f 20 6d 69 73  ipped due to mis
20e0: 73 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 61 6e  sing commands an
20f0: 64 2f 6f 72 20 73 75 62 2d 63 6f 6d 6d 61 6e 64  d/or sub-command
2100: 73 2e 0d 0a 20 20 20 20 23 0d 0a 20 20 20 20 69  s...    #..    i
2110: 66 20 7b 21 5b 69 6e 74 65 72 70 20 69 73 73 61  f {![interp issa
2120: 66 65 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 20  fe]} then {..   
2130: 20 20 20 23 0d 0a 20 20 20 20 20 20 23 20 4e 4f     #..      # NO
2140: 54 45 3a 20 54 68 69 73 20 76 61 72 69 61 62 6c  TE: This variabl
2150: 65 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 74  e will contain t
2160: 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 64  he name of the d
2170: 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e  irectory contain
2180: 69 6e 67 0d 0a 20 20 20 20 20 20 23 20 20 20 20  ing..      #    
2190: 20 20 20 74 68 65 20 76 65 6e 64 6f 72 2d 73 70     the vendor-sp
21a0: 65 63 69 66 69 63 20 74 65 73 74 69 6e 67 20 69  ecific testing i
21b0: 6e 66 72 61 73 74 72 75 63 74 75 72 65 2e 20 20  nfrastructure.  
21c0: 49 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20  If the variable 
21d0: 64 6f 65 73 0d 0a 20 20 20 20 20 20 23 20 20 20  does..      #   
21e0: 20 20 20 20 6e 6f 74 20 61 6c 72 65 61 64 79 20      not already 
21f0: 65 78 69 73 74 2c 20 63 72 65 61 74 65 20 69 74  exist, create it
2200: 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 69 74 20  ; otherwise, it 
2210: 68 61 73 20 62 65 65 6e 20 6f 76 65 72 72 69 64  has been overrid
2220: 64 65 6e 0d 0a 20 20 20 20 20 20 23 20 20 20 20  den..      #    
2230: 20 20 20 61 6e 64 20 74 68 65 20 65 78 69 73 74     and the exist
2240: 69 6e 67 20 76 61 6c 75 65 20 73 68 6f 75 6c 64  ing value should
2250: 20 62 65 20 6c 65 66 74 20 69 6e 74 61 63 74 2e   be left intact.
2260: 0d 0a 20 20 20 20 20 20 23 0d 0a 20 20 20 20 20  ..      #..     
2270: 20 73 65 74 20 68 61 76 65 5f 76 65 6e 64 6f 72   set have_vendor
2280: 5f 64 69 72 65 63 74 6f 72 79 20 5b 69 6e 66 6f  _directory [info
2290: 20 65 78 69 73 74 73 20 76 65 6e 64 6f 72 5f 64   exists vendor_d
22a0: 69 72 65 63 74 6f 72 79 5d 0d 0a 0d 0a 20 20 20  irectory]....   
22b0: 20 20 20 69 66 20 7b 21 24 68 61 76 65 5f 76 65     if {!$have_ve
22c0: 6e 64 6f 72 5f 64 69 72 65 63 74 6f 72 79 7d 20  ndor_directory} 
22d0: 74 68 65 6e 20 7b 0d 0a 20 20 20 20 20 20 20 20  then {..        
22e0: 73 65 74 20 76 65 6e 64 6f 72 5f 64 69 72 65 63  set vendor_direc
22f0: 74 6f 72 79 20 22 22 0d 0a 20 20 20 20 20 20 7d  tory ""..      }
2300: 0d 0a 0d 0a 20 20 20 20 20 20 23 0d 0a 20 20 20  ....      #..   
2310: 20 20 20 23 20 4e 4f 54 45 3a 20 54 68 69 73 20     # NOTE: This 
2320: 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20 61  procedure will a
2330: 74 74 65 6d 70 74 20 74 6f 20 66 69 6e 64 20 74  ttempt to find t
2340: 68 65 20 76 65 6e 64 6f 72 2d 73 70 65 63 69 66  he vendor-specif
2350: 69 63 20 74 65 73 74 69 6e 67 0d 0a 20 20 20 20  ic testing..    
2360: 20 20 23 20 20 20 20 20 20 20 69 6e 66 72 61 73    #       infras
2370: 74 72 75 63 74 75 72 65 20 64 69 72 65 63 74 6f  tructure directo
2380: 72 79 20 61 6e 64 20 61 64 64 20 69 74 20 74 6f  ry and add it to
2390: 20 74 68 65 20 61 75 74 6f 2d 70 61 74 68 20 66   the auto-path f
23a0: 6f 72 20 74 68 65 0d 0a 20 20 20 20 20 20 23 20  or the..      # 
23b0: 20 20 20 20 20 20 63 75 72 72 65 6e 74 20 69 6e        current in
23c0: 74 65 72 70 72 65 74 65 72 2e 20 20 4e 6f 72 6d  terpreter.  Norm
23d0: 61 6c 6c 79 2c 20 74 68 69 73 20 77 69 6c 6c 20  ally, this will 
23e0: 61 6c 73 6f 20 73 65 74 20 74 68 65 20 76 61 72  also set the var
23f0: 69 61 62 6c 65 0d 0a 20 20 20 20 20 20 23 20 20  iable..      #  
2400: 20 20 20 20 20 63 72 65 61 74 65 64 20 61 62 6f       created abo
2410: 76 65 20 74 6f 20 70 6f 69 6e 74 20 74 6f 20 74  ve to point to t
2420: 68 65 20 64 69 72 65 63 74 6f 72 79 20 61 64 64  he directory add
2430: 65 64 20 74 6f 20 74 68 65 20 61 75 74 6f 2d 70  ed to the auto-p
2440: 61 74 68 3b 0d 0a 20 20 20 20 20 20 23 20 20 20  ath;..      #   
2450: 20 20 20 20 68 6f 77 65 76 65 72 2c 20 74 68 69      however, thi
2460: 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 64 6f  s will not be do
2470: 6e 65 20 69 66 20 74 68 65 20 76 61 72 69 61 62  ne if the variab
2480: 6c 65 20 77 61 73 20 6e 6f 74 20 63 72 65 61 74  le was not creat
2490: 65 64 0d 0a 20 20 20 20 20 20 23 20 20 20 20 20  ed..      #     
24a0: 20 20 62 79 20 75 73 2e 0d 0a 20 20 20 20 20 20    by us...      
24b0: 23 0d 0a 20 20 20 20 20 20 61 64 64 54 65 73 74  #..      addTest
24c0: 53 75 69 74 65 54 6f 41 75 74 6f 50 61 74 68 20  SuiteToAutoPath 
24d0: 73 74 64 6f 75 74 20 5b 65 78 70 72 20 7b 24 68  stdout [expr {$h
24e0: 61 76 65 5f 76 65 6e 64 6f 72 5f 64 69 72 65 63  ave_vendor_direc
24f0: 74 6f 72 79 20 3f 20 22 22 20 3a 20 5c 0d 0a 20  tory ? "" : \.. 
2500: 20 20 20 20 20 20 20 20 20 22 76 65 6e 64 6f 72           "vendor
2510: 5f 64 69 72 65 63 74 6f 72 79 22 7d 5d 20 66 61  _directory"}] fa
2520: 6c 73 65 0d 0a 0d 0a 20 20 20 20 20 20 75 6e 73  lse....      uns
2530: 65 74 20 68 61 76 65 5f 76 65 6e 64 6f 72 5f 64  et have_vendor_d
2540: 69 72 65 63 74 6f 72 79 0d 0a 0d 0a 20 20 20 20  irectory....    
2550: 20 20 23 0d 0a 20 20 20 20 20 20 23 20 4e 4f 54    #..      # NOT
2560: 45 3a 20 49 66 20 77 65 20 61 63 74 75 61 6c 6c  E: If we actuall
2570: 79 20 66 6f 75 6e 64 20 61 20 76 65 6e 64 6f 72  y found a vendor
2580: 2d 73 70 65 63 69 66 69 63 20 74 65 73 74 69 6e  -specific testin
2590: 67 20 69 6e 66 72 61 73 74 72 75 63 74 75 72 65  g infrastructure
25a0: 0d 0a 20 20 20 20 20 20 23 20 20 20 20 20 20 20  ..      #       
25b0: 64 69 72 65 63 74 6f 72 79 20 74 68 65 6e 20 6d  directory then m
25c0: 6f 64 69 66 79 20 74 68 65 20 54 65 73 74 50 61  odify the TestPa
25d0: 74 68 20 70 72 6f 70 65 72 74 79 20 6f 66 20 74  th property of t
25e0: 68 65 20 63 75 72 72 65 6e 74 0d 0a 20 20 20 20  he current..    
25f0: 20 20 23 20 20 20 20 20 20 20 69 6e 74 65 72 70    #       interp
2600: 72 65 74 65 72 20 74 6f 20 70 6f 69 6e 74 20 64  reter to point d
2610: 69 72 65 63 74 6c 79 20 74 6f 20 69 74 2e 0d 0a  irectly to it...
2620: 20 20 20 20 20 20 23 0d 0a 20 20 20 20 20 20 69        #..      i
2630: 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74  f {[string lengt
2640: 68 20 24 76 65 6e 64 6f 72 5f 64 69 72 65 63 74  h $vendor_direct
2650: 6f 72 79 5d 20 3e 20 30 7d 20 74 68 65 6e 20 7b  ory] > 0} then {
2660: 0d 0a 20 20 20 20 20 20 20 20 73 65 74 75 70 49  ..        setupI
2670: 6e 74 65 72 70 72 65 74 65 72 54 65 73 74 50 61  nterpreterTestPa
2680: 74 68 20 73 74 64 6f 75 74 20 24 76 65 6e 64 6f  th stdout $vendo
2690: 72 5f 64 69 72 65 63 74 6f 72 79 20 66 61 6c 73  r_directory fals
26a0: 65 0d 0a 20 20 20 20 20 20 7d 0d 0a 20 20 20 20  e..      }..    
26b0: 7d 0d 0a 0d 0a 20 20 20 20 23 0d 0a 20 20 20 20  }....    #..    
26c0: 23 20 48 41 43 4b 3a 20 50 72 65 76 65 6e 74 20  # HACK: Prevent 
26d0: 74 68 65 20 45 61 67 6c 65 20 63 6f 72 65 20 74  the Eagle core t
26e0: 65 73 74 20 73 75 69 74 65 20 69 6e 66 72 61 73  est suite infras
26f0: 74 72 75 63 74 75 72 65 20 66 72 6f 6d 20 63 68  tructure from ch
2700: 65 63 6b 69 6e 67 0d 0a 20 20 20 20 23 20 20 20  ecking..    #   
2710: 20 20 20 20 74 65 73 74 20 63 6f 6e 73 74 72 61      test constra
2720: 69 6e 74 73 20 74 68 61 74 20 61 72 65 20 74 69  ints that are ti
2730: 6d 65 2d 63 6f 6e 73 75 6d 69 6e 67 20 61 6e 64  me-consuming and
2740: 2f 6f 72 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20  /or most likely 
2750: 74 6f 0d 0a 20 20 20 20 23 20 20 20 20 20 20 20  to..    #       
2760: 62 65 20 73 75 70 65 72 66 6c 75 6f 75 73 20 74  be superfluous t
2770: 6f 20 74 68 69 72 64 2d 70 61 72 74 79 20 74 65  o third-party te
2780: 73 74 20 73 75 69 74 65 73 20 28 69 2e 65 2e 20  st suites (i.e. 
2790: 74 68 6f 73 65 20 74 68 61 74 20 61 72 65 0d 0a  those that are..
27a0: 20 20 20 20 23 20 20 20 20 20 20 20 6e 6f 74 20      #       not 
27b0: 74 65 73 74 69 6e 67 20 74 68 65 20 45 61 67 6c  testing the Eagl
27c0: 65 20 63 6f 72 65 20 6c 69 62 72 61 72 79 20 69  e core library i
27d0: 74 73 65 6c 66 29 2e 0d 0a 20 20 20 20 23 0d 0a  tself)...    #..
27e0: 20 20 20 20 73 65 74 20 6e 6f 28 63 6f 72 65 29      set no(core)
27f0: 20 31 0d 0a 0d 0a 20 20 20 20 23 0d 0a 20 20 20   1....    #..   
2800: 20 23 20 4e 4f 54 45 3a 20 4d 61 6b 65 20 74 68   # NOTE: Make th
2810: 65 20 70 65 72 2d 74 65 73 74 20 63 6f 6e 6e 65  e per-test conne
2820: 63 74 69 6f 6e 20 66 6c 61 67 20 6f 75 74 70 75  ction flag outpu
2830: 74 20 61 20 6c 69 74 74 6c 65 20 6c 65 73 73 20  t a little less 
2840: 6e 6f 69 73 79 2e 0d 0a 20 20 20 20 23 0d 0a 20  noisy...    #.. 
2850: 20 20 20 73 65 74 20 6e 6f 28 65 6d 69 74 4c 6f     set no(emitLo
2860: 63 61 6c 46 6c 61 67 73 49 66 4e 6f 6e 65 29 20  calFlagsIfNone) 
2870: 31 0d 0a 20 20 20 20 73 65 74 20 6e 6f 28 65 6d  1..    set no(em
2880: 69 74 53 68 61 72 65 64 46 6c 61 67 73 49 66 4e  itSharedFlagsIfN
2890: 6f 6e 65 29 20 31 0d 0a 20 20 20 20 73 65 74 20  one) 1..    set 
28a0: 6e 6f 28 65 6d 69 74 47 6c 6f 62 61 6c 46 6c 61  no(emitGlobalFla
28b0: 67 73 49 66 4e 6f 6e 65 29 20 31 0d 0a 20 20 20  gsIfNone) 1..   
28c0: 20 73 65 74 20 6e 6f 28 65 6d 69 74 43 6f 6d 62   set no(emitComb
28d0: 69 6e 65 64 46 6c 61 67 73 49 66 4e 6f 6e 65 29  inedFlagsIfNone)
28e0: 20 31 0d 0a 20 20 7d 0d 0a 7d 0d 0a 0c 0d 0a 23   1..  }..}.....#
28f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2900: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2910: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2920: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2930: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a  ##############..
2940: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2950: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 20  ############### 
2960: 45 4e 44 20 56 45 4e 44 4f 52 20 43 4f 44 45 20  END VENDOR CODE 
2970: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2980: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
2990: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
29a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
29b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
29c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
29d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
29e0: 0d 0a                                            ..