System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact b0354af65f27b8dd4c6d87a8610eaf4dea9cf62d:


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 61 6c 6c 2e 65 61 67 6c 65 20  .#..# all.eagle 
0060: 2d 2d 0d 0a 23 0d 0a 23 20 54 68 69 73 20 66 69  --..#..# This fi
0070: 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 74 6f  le contains a to
0080: 70 2d 6c 65 76 65 6c 20 73 63 72 69 70 74 20 74  p-level script t
0090: 6f 20 72 75 6e 20 61 6c 6c 20 6f 66 20 74 68 65  o run all of the
00a0: 20 45 61 67 6c 65 20 74 65 73 74 73 2e 0d 0a 23   Eagle tests...#
00b0: 20 45 78 65 63 75 74 65 20 69 74 20 62 79 20 69   Execute it by i
00c0: 6e 76 6f 6b 69 6e 67 20 22 73 6f 75 72 63 65 20  nvoking "source 
00d0: 61 6c 6c 2e 65 61 67 6c 65 22 2e 0d 0a 23 0d 0a  all.eagle"...#..
00e0: 23 20 45 78 74 65 6e 73 69 62 6c 65 20 41 64 61  # Extensible Ada
00f0: 70 74 61 62 6c 65 20 47 65 6e 65 72 61 6c 69 7a  ptable Generaliz
0100: 65 64 20 4c 6f 67 69 63 20 45 6e 67 69 6e 65 20  ed Logic Engine 
0110: 28 45 61 67 6c 65 29 0d 0a 23 20 54 65 73 74 20  (Eagle)..# Test 
0120: 53 75 69 74 65 20 46 69 6c 65 0d 0a 23 0d 0a 23  Suite File..#..#
0130: 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32   Copyright (c) 2
0140: 30 30 37 2d 32 30 31 32 20 62 79 20 4a 6f 65 20  007-2012 by Joe 
0150: 4d 69 73 74 61 63 68 6b 69 6e 2e 20 20 41 6c 6c  Mistachkin.  All
0160: 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64   rights reserved
0170: 2e 0d 0a 23 0d 0a 23 20 53 65 65 20 74 68 65 20  ...#..# See the 
0180: 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65  file "license.te
0190: 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61  rms" for informa
01a0: 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e  tion on usage an
01b0: 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e  d redistribution
01c0: 20 6f 66 0d 0a 23 20 74 68 69 73 20 66 69 6c 65   of..# this file
01d0: 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43  , and for a DISC
01e0: 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41  LAIMER OF ALL WA
01f0: 52 52 41 4e 54 49 45 53 2e 0d 0a 23 0d 0a 23 20  RRANTIES...#..# 
0200: 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 24  RCS: @(#) $Id: $
0210: 0d 0a 23 0d 0a 23 23 23 23 23 23 23 23 23 23 23  ..#..###########
0220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0260: 23 23 23 23 0d 0a 0d 0a 23 0d 0a 23 20 4e 4f 54  ####....#..# NOT
0270: 45 3a 20 2a 57 41 52 4e 49 4e 47 2a 20 54 68 69  E: *WARNING* Thi
0280: 73 20 66 69 6c 65 20 6d 75 73 74 20 62 65 20 63  s file must be c
0290: 61 70 61 62 6c 65 20 6f 66 20 62 65 69 6e 67 20  apable of being 
02a0: 65 76 61 6c 75 61 74 65 64 20 69 6e 20 62 6f 74  evaluated in bot
02b0: 68 20 54 63 6c 20 61 6e 64 0d 0a 23 20 20 20 20  h Tcl and..#    
02c0: 20 20 20 45 61 67 6c 65 20 69 6e 20 61 20 63 6f     Eagle in a co
02d0: 6d 70 6c 65 74 65 6c 79 20 22 63 6c 65 61 6e 22  mpletely "clean"
02e0: 20 69 6e 74 65 72 70 72 65 74 65 72 3b 20 74 68   interpreter; th
02f0: 65 72 65 66 6f 72 65 2c 20 6e 6f 20 73 63 72 69  erefore, no scri
0300: 70 74 20 6c 69 62 72 61 72 79 0d 0a 23 20 20 20  pt library..#   
0310: 20 20 20 20 70 72 6f 63 65 64 75 72 65 73 20 70      procedures p
0320: 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 45  rovided by the E
0330: 61 67 6c 65 2e 4c 69 62 72 61 72 79 20 6f 72 20  agle.Library or 
0340: 45 61 67 6c 65 2e 54 65 73 74 20 70 61 63 6b 61  Eagle.Test packa
0350: 67 65 73 20 6d 61 79 20 62 65 0d 0a 23 20 20 20  ges may be..#   
0360: 20 20 20 20 75 73 65 64 2c 20 69 6e 63 6c 75 64      used, includ
0370: 69 6e 67 20 5b 69 73 45 61 67 6c 65 5d 2c 20 75  ing [isEagle], u
0380: 6e 74 69 6c 20 61 66 74 65 72 20 74 68 65 20 74  ntil after the t
0390: 65 73 74 20 70 72 6f 6c 6f 67 75 65 20 68 61 73  est prologue has
03a0: 20 62 65 65 6e 0d 0a 23 20 20 20 20 20 20 20 65   been..#       e
03b0: 76 61 6c 75 61 74 65 64 20 28 62 65 6c 6f 77 29  valuated (below)
03c0: 2e 20 20 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79  .  Unfortunately
03d0: 2c 20 74 68 69 73 20 6d 61 6b 65 73 20 69 74 20  , this makes it 
03e0: 73 6f 6d 65 77 68 61 74 20 69 6d 70 72 61 63 74  somewhat impract
03f0: 69 63 61 6c 0d 0a 23 20 20 20 20 20 20 20 74 6f  ical..#       to
0400: 20 65 76 61 6c 75 61 74 65 20 74 68 65 20 74 65   evaluate the te
0410: 73 74 20 70 72 6f 6c 6f 67 75 65 20 75 73 69 6e  st prologue usin
0420: 67 20 74 68 65 20 61 62 73 74 72 61 63 74 65 64  g the abstracted
0430: 20 5b 72 75 6e 54 65 73 74 50 72 6f 6c 6f 67 75   [runTestPrologu
0440: 65 5d 0d 0a 23 20 20 20 20 20 20 20 73 63 72 69  e]..#       scri
0450: 70 74 20 6c 69 62 72 61 72 79 20 70 72 6f 63 65  pt library proce
0460: 64 75 72 65 20 66 72 6f 6d 20 74 68 65 20 45 61  dure from the Ea
0470: 67 6c 65 2e 54 65 73 74 20 70 61 63 6b 61 67 65  gle.Test package
0480: 2e 20 20 49 6e 73 74 65 61 64 2c 20 77 65 20 6d  .  Instead, we m
0490: 75 73 74 0d 0a 23 20 20 20 20 20 20 20 61 73 73  ust..#       ass
04a0: 75 6d 65 20 74 68 61 74 20 74 68 65 20 74 65 73  ume that the tes
04b0: 74 20 70 72 6f 6c 6f 67 75 65 20 66 69 6c 65 20  t prologue file 
04c0: 65 78 69 73 74 73 20 69 6e 20 74 68 65 20 73 61  exists in the sa
04d0: 6d 65 20 64 69 72 65 63 74 6f 72 79 20 61 73 20  me directory as 
04e0: 74 68 69 73 0d 0a 23 20 20 20 20 20 20 20 66 69  this..#       fi
04f0: 6c 65 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20  le and evaluate 
0500: 69 74 20 75 73 69 6e 67 20 5b 73 6f 75 72 63 65  it using [source
0510: 5d 2e 20 20 46 6f 72 20 74 68 69 72 64 2d 70 61  ].  For third-pa
0520: 72 74 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 73  rty applications
0530: 20 61 6e 64 0d 0a 23 20 20 20 20 20 20 20 70 6c   and..#       pl
0540: 75 67 69 6e 73 20 74 68 61 74 20 61 72 65 20 45  ugins that are E
0550: 61 67 6c 65 2d 73 70 65 63 69 66 69 63 20 28 69  agle-specific (i
0560: 2e 65 2e 20 74 68 65 79 20 63 61 6e 6e 6f 74 20  .e. they cannot 
0570: 62 65 20 75 73 65 64 20 69 6e 20 54 63 6c 29 2c  be used in Tcl),
0580: 20 74 68 65 0d 0a 23 20 20 20 20 20 20 20 66 6f   the..#       fo
0590: 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 73 6e 69  llowing code sni
05a0: 70 70 65 74 20 6d 61 79 20 62 65 20 75 73 65 64  ppet may be used
05b0: 20 69 6e 73 74 65 61 64 20 6f 66 20 73 65 74 74   instead of sett
05c0: 69 6e 67 20 74 68 65 20 22 74 65 73 74 5f 70 61  ing the "test_pa
05d0: 74 68 22 0d 0a 23 20 20 20 20 20 20 20 76 61 72  th"..#       var
05e0: 69 61 62 6c 65 20 61 6e 64 20 74 68 65 6e 20 65  iable and then e
05f0: 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 22 70  valuating the "p
0600: 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 22 20 66  rologue.eagle" f
0610: 69 6c 65 20 64 69 72 65 63 74 6c 79 3a 0d 0a 23  ile directly:..#
0620: 0d 0a 23 20 20 20 20 20 20 20 20 20 20 20 70 61  ..#           pa
0630: 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 45 61  ckage require Ea
0640: 67 6c 65 2e 4c 69 62 72 61 72 79 0d 0a 23 20 20  gle.Library..#  
0650: 20 20 20 20 20 20 20 20 20 70 61 63 6b 61 67 65           package
0660: 20 72 65 71 75 69 72 65 20 45 61 67 6c 65 2e 54   require Eagle.T
0670: 65 73 74 0d 0a 23 0d 0a 23 20 20 20 20 20 20 20  est..#..#       
0680: 20 20 20 20 72 75 6e 54 65 73 74 50 72 6f 6c 6f      runTestProlo
0690: 67 75 65 0d 0a 23 0d 0a 23 20 20 20 20 20 20 20  gue..#..#       
06a0: 57 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 61  When using the a
06b0: 62 6f 76 65 20 63 6f 64 65 20 73 6e 69 70 70 65  bove code snippe
06c0: 74 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  t, the following
06d0: 20 63 6f 64 65 20 73 6e 69 70 70 65 74 20 6d 61   code snippet ma
06e0: 79 20 61 6c 73 6f 0d 0a 23 20 20 20 20 20 20 20  y also..#       
06f0: 62 65 20 75 73 65 64 20 61 74 20 74 68 65 20 76  be used at the v
0700: 65 72 79 20 65 6e 64 20 6f 66 20 74 68 65 20 63  ery end of the c
0710: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 22 61 6c  orresponding "al
0720: 6c 2e 65 61 67 6c 65 22 20 66 69 6c 65 20 69 6e  l.eagle" file in
0730: 73 74 65 61 64 0d 0a 23 20 20 20 20 20 20 20 6f  stead..#       o
0740: 66 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65  f evaluating the
0750: 20 22 65 70 69 6c 6f 67 75 65 2e 65 61 67 6c 65   "epilogue.eagle
0760: 22 20 66 69 6c 65 20 64 69 72 65 63 74 6c 79 3a  " file directly:
0770: 0d 0a 23 0d 0a 23 20 20 20 20 20 20 20 20 20 20  ..#..#          
0780: 20 72 75 6e 54 65 73 74 45 70 69 6c 6f 67 75 65   runTestEpilogue
0790: 0d 0a 23 0d 0a 69 66 20 7b 21 5b 69 6e 66 6f 20  ..#..if {![info 
07a0: 65 78 69 73 74 73 20 74 65 73 74 5f 61 6c 6c 5f  exists test_all_
07b0: 70 61 74 68 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20  path]} then {.. 
07c0: 20 73 65 74 20 74 65 73 74 5f 61 6c 6c 5f 70 61   set test_all_pa
07d0: 74 68 20 5c 0d 0a 20 20 20 20 20 20 5b 66 69 6c  th \..      [fil
07e0: 65 20 6e 6f 72 6d 61 6c 69 7a 65 20 5b 66 69 6c  e normalize [fil
07f0: 65 20 64 69 72 6e 61 6d 65 20 5b 69 6e 66 6f 20  e dirname [info 
0800: 73 63 72 69 70 74 5d 5d 5d 0d 0a 7d 0d 0a 0d 0a  script]]]..}....
0810: 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69  source [file joi
0820: 6e 20 24 74 65 73 74 5f 61 6c 6c 5f 70 61 74 68  n $test_all_path
0830: 20 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 5d   prologue.eagle]
0840: 0d 0a 0d 0a 69 66 20 7b 21 5b 69 6e 66 6f 20 65  ....if {![info e
0850: 78 69 73 74 73 20 74 65 73 74 5f 70 61 74 68 5d  xists test_path]
0860: 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 23 0d 0a 20  } then {..  #.. 
0870: 20 23 20 4e 4f 54 45 3a 20 42 75 69 6c 64 20 61   # NOTE: Build a
0880: 20 72 65 75 73 61 62 6c 65 20 65 78 70 72 65 73   reusable expres
0890: 73 69 6f 6e 20 74 68 61 74 20 63 61 6e 20 62 65  sion that can be
08a0: 20 75 73 65 64 20 74 6f 20 76 65 72 69 66 79 20   used to verify 
08b0: 74 68 65 0d 0a 20 20 23 20 20 20 20 20 20 20 63  the..  #       c
08c0: 61 6e 64 69 64 61 74 65 20 70 61 74 68 73 2e 20  andidate paths. 
08d0: 20 54 68 69 73 20 69 73 20 64 6f 6e 65 20 74 6f   This is done to
08e0: 20 61 76 6f 69 64 20 64 75 70 6c 69 63 61 74 69   avoid duplicati
08f0: 6f 6e 20 6f 66 20 74 68 69 73 0d 0a 20 20 23 20  on of this..  # 
0900: 20 20 20 20 20 20 28 71 75 69 74 65 20 63 6f 6d        (quite com
0910: 70 6c 65 78 29 20 65 78 70 72 65 73 73 69 6f 6e  plex) expression
0920: 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 20 28   several times (
0930: 6a 75 73 74 20 62 65 6c 6f 77 29 2e 0d 0a 20 20  just below)...  
0940: 23 0d 0a 20 20 73 65 74 20 65 78 70 72 20 7b 21  #..  set expr {!
0950: 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 65 73  [info exists tes
0960: 74 5f 70 61 74 68 5d 20 7c 7c 20 21 5b 66 69 6c  t_path] || ![fil
0970: 65 20 65 78 69 73 74 73 20 24 74 65 73 74 5f 70  e exists $test_p
0980: 61 74 68 5d 20 7c 7c 20 5c 0d 0a 20 20 20 20 20  ath] || \..     
0990: 20 21 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74   ![file isdirect
09a0: 6f 72 79 20 24 74 65 73 74 5f 70 61 74 68 5d 20  ory $test_path] 
09b0: 7c 7c 20 28 5b 6c 6c 65 6e 67 74 68 20 5b 69 6e  || ([llength [in
09c0: 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 5c 0d 0a 20  fo commands \.. 
09d0: 20 20 20 20 20 67 6c 6f 62 5d 5d 20 3e 20 30 20       glob]] > 0 
09e0: 26 26 20 5b 6c 6c 65 6e 67 74 68 20 5b 67 6c 6f  && [llength [glo
09f0: 62 20 2d 64 69 72 65 63 74 6f 72 79 20 24 74 65  b -directory $te
0a00: 73 74 5f 70 61 74 68 20 2d 74 79 70 65 73 20 7b  st_path -types {
0a10: 66 20 72 7d 20 5c 0d 0a 20 20 20 20 20 20 2d 6e  f r} \..      -n
0a20: 6f 63 6f 6d 70 6c 61 69 6e 20 2d 2d 20 2a 5d 5d  ocomplain -- *]]
0a30: 20 3d 3d 20 30 29 7d 0d 0a 0d 0a 20 20 23 0d 0a   == 0)}....  #..
0a40: 20 20 23 20 4e 4f 54 45 3a 20 53 65 61 72 63 68    # NOTE: Search
0a50: 20 66 6f 72 20 74 68 65 20 22 4c 69 62 72 61 72   for the "Librar
0a60: 79 2f 54 65 73 74 73 22 20 2d 4f 52 2d 20 22 54  y/Tests" -OR- "T
0a70: 65 73 74 73 22 20 73 75 62 2d 64 69 72 65 63 74  ests" sub-direct
0a80: 6f 72 69 65 73 0d 0a 20 20 23 20 20 20 20 20 20  ories..  #      
0a90: 20 77 69 74 68 69 6e 20 74 68 65 20 73 75 62 2d   within the sub-
0aa0: 64 69 72 65 63 74 6f 72 79 20 6f 6e 65 20 6c 65  directory one le
0ab0: 76 65 6c 20 75 70 20 61 6e 64 20 74 68 65 6e 20  vel up and then 
0ac0: 74 77 6f 20 6c 65 76 65 6c 73 20 75 70 0d 0a 20  two levels up.. 
0ad0: 20 23 20 20 20 20 20 20 20 66 72 6f 6d 20 74 68   #       from th
0ae0: 65 20 73 75 62 2d 64 69 72 65 63 74 6f 72 79 20  e sub-directory 
0af0: 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 22  containing the "
0b00: 61 6c 6c 2e 65 61 67 6c 65 22 20 66 69 6c 65 20  all.eagle" file 
0b10: 66 72 6f 6d 0d 0a 20 20 23 20 20 20 20 20 20 20  from..  #       
0b20: 74 68 65 20 74 65 73 74 20 73 75 69 74 65 20 70  the test suite p
0b30: 61 63 6b 61 67 65 2e 0d 0a 20 20 23 0d 0a 20 20  ackage...  #..  
0b40: 73 65 74 20 74 65 73 74 5f 70 61 74 68 20 5b 66  set test_path [f
0b50: 69 6c 65 20 6e 6f 72 6d 61 6c 69 7a 65 20 5c 0d  ile normalize \.
0b60: 0a 20 20 20 20 20 20 5b 66 69 6c 65 20 6a 6f 69  .      [file joi
0b70: 6e 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20  n [file dirname 
0b80: 24 74 65 73 74 5f 61 6c 6c 5f 70 61 74 68 5d 20  $test_all_path] 
0b90: 4c 69 62 72 61 72 79 20 54 65 73 74 73 5d 5d 0d  Library Tests]].
0ba0: 0a 0d 0a 20 20 69 66 20 7b 5b 65 78 70 72 20 24  ...  if {[expr $
0bb0: 65 78 70 72 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20  expr]} then {.. 
0bc0: 20 20 20 73 65 74 20 74 65 73 74 5f 70 61 74 68     set test_path
0bd0: 20 5b 66 69 6c 65 20 6e 6f 72 6d 61 6c 69 7a 65   [file normalize
0be0: 20 5c 0d 0a 20 20 20 20 20 20 20 20 5b 66 69 6c   \..        [fil
0bf0: 65 20 6a 6f 69 6e 20 5b 66 69 6c 65 20 64 69 72  e join [file dir
0c00: 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61  name [file dirna
0c10: 6d 65 20 24 74 65 73 74 5f 61 6c 6c 5f 70 61 74  me $test_all_pat
0c20: 68 5d 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 4c  h]] \..        L
0c30: 69 62 72 61 72 79 20 54 65 73 74 73 5d 5d 0d 0a  ibrary Tests]]..
0c40: 20 20 7d 0d 0a 0d 0a 20 20 69 66 20 7b 5b 65 78    }....  if {[ex
0c50: 70 72 20 24 65 78 70 72 5d 7d 20 74 68 65 6e 20  pr $expr]} then 
0c60: 7b 0d 0a 20 20 20 20 73 65 74 20 74 65 73 74 5f  {..    set test_
0c70: 70 61 74 68 20 5b 66 69 6c 65 20 6e 6f 72 6d 61  path [file norma
0c80: 6c 69 7a 65 20 5c 0d 0a 20 20 20 20 20 20 20 20  lize \..        
0c90: 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 66 69 6c 65  [file join [file
0ca0: 20 64 69 72 6e 61 6d 65 20 24 74 65 73 74 5f 61   dirname $test_a
0cb0: 6c 6c 5f 70 61 74 68 5d 20 54 65 73 74 73 5d 5d  ll_path] Tests]]
0cc0: 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 69 66 20 7b 5b  ..  }....  if {[
0cd0: 65 78 70 72 20 24 65 78 70 72 5d 7d 20 74 68 65  expr $expr]} the
0ce0: 6e 20 7b 0d 0a 20 20 20 20 73 65 74 20 74 65 73  n {..    set tes
0cf0: 74 5f 70 61 74 68 20 5b 66 69 6c 65 20 6e 6f 72  t_path [file nor
0d00: 6d 61 6c 69 7a 65 20 5c 0d 0a 20 20 20 20 20 20  malize \..      
0d10: 20 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 66 69    [file join [fi
0d20: 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65  le dirname [file
0d30: 20 64 69 72 6e 61 6d 65 20 24 74 65 73 74 5f 61   dirname $test_a
0d40: 6c 6c 5f 70 61 74 68 5d 5d 20 5c 0d 0a 20 20 20  ll_path]] \..   
0d50: 20 20 20 20 20 54 65 73 74 73 5d 5d 0d 0a 20 20       Tests]]..  
0d60: 7d 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 65 78 70  }....  unset exp
0d70: 72 0d 0a 7d 0d 0a 0d 0a 73 65 74 20 6e 6f 28 70  r..}....set no(p
0d80: 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 29 20 74  rologue.eagle) t
0d90: 72 75 65 0d 0a 73 65 74 20 6e 6f 28 65 70 69 6c  rue..set no(epil
0da0: 6f 67 75 65 2e 65 61 67 6c 65 29 20 74 72 75 65  ogue.eagle) true
0db0: 0d 0a 0d 0a 73 65 74 20 74 65 73 74 5f 74 69 6d  ....set test_tim
0dc0: 65 20 5b 74 69 6d 65 20 7b 0d 0a 20 20 72 75 6e  e [time {..  run
0dd0: 41 6c 6c 54 65 73 74 73 20 24 74 65 73 74 5f 63  AllTests $test_c
0de0: 68 61 6e 6e 65 6c 20 24 74 65 73 74 5f 70 61 74  hannel $test_pat
0df0: 68 20 5c 0d 0a 20 20 20 20 20 20 5b 67 65 74 54  h \..      [getT
0e00: 65 73 74 46 69 6c 65 73 20 5b 6c 69 73 74 20 24  estFiles [list $
0e10: 74 65 73 74 5f 70 61 74 68 5d 20 24 74 65 73 74  test_path] $test
0e20: 5f 66 6c 61 67 73 28 2d 66 69 6c 65 29 20 5c 0d  _flags(-file) \.
0e30: 0a 20 20 20 20 20 20 20 20 20 20 24 74 65 73 74  .          $test
0e40: 5f 66 6c 61 67 73 28 2d 6e 6f 74 46 69 6c 65 29  _flags(-notFile)
0e50: 5d 20 5c 0d 0a 20 20 20 20 20 20 5b 6c 69 73 74  ] \..      [list
0e60: 20 5b 66 69 6c 65 20 74 61 69 6c 20 5b 69 6e 66   [file tail [inf
0e70: 6f 20 73 63 72 69 70 74 5d 5d 20 2a 2e 74 63 6c  o script]] *.tcl
0e80: 20 5c 0d 0a 20 20 20 20 20 20 20 20 20 20 65 70   \..          ep
0e90: 69 6c 6f 67 75 65 2e 65 61 67 6c 65 20 70 72 6f  ilogue.eagle pro
0ea0: 6c 6f 67 75 65 2e 65 61 67 6c 65 5d 20 5c 0d 0a  logue.eagle] \..
0eb0: 20 20 20 20 20 20 24 74 65 73 74 5f 66 6c 61 67        $test_flag
0ec0: 73 28 2d 73 74 61 72 74 46 69 6c 65 29 20 24 74  s(-startFile) $t
0ed0: 65 73 74 5f 66 6c 61 67 73 28 2d 73 74 6f 70 46  est_flags(-stopF
0ee0: 69 6c 65 29 0d 0a 7d 5d 0d 0a 0d 0a 74 70 75 74  ile)..}]....tput
0ef0: 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20  s $test_channel 
0f00: 5b 61 70 70 65 6e 64 41 72 67 73 20 22 2d 2d 2d  [appendArgs "---
0f10: 2d 20 61 6c 6c 20 74 65 73 74 73 20 63 6f 6d 70  - all tests comp
0f20: 6c 65 74 65 64 20 69 6e 20 22 20 24 74 65 73 74  leted in " $test
0f30: 5f 74 69 6d 65 20 5c 6e 5d 0d 0a 75 6e 73 65 74  _time \n]..unset
0f40: 20 74 65 73 74 5f 74 69 6d 65 0d 0a 0d 0a 75 6e   test_time....un
0f50: 73 65 74 20 6e 6f 28 65 70 69 6c 6f 67 75 65 2e  set no(epilogue.
0f60: 65 61 67 6c 65 29 0d 0a 75 6e 73 65 74 20 6e 6f  eagle)..unset no
0f70: 28 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 29  (prologue.eagle)
0f80: 0d 0a 0d 0a 69 66 20 7b 5b 61 72 72 61 79 20 73  ....if {[array s
0f90: 69 7a 65 20 6e 6f 5d 20 3d 3d 20 30 7d 20 74 68  ize no] == 0} th
0fa0: 65 6e 20 7b 75 6e 73 65 74 20 6e 6f 7d 0d 0a 0d  en {unset no}...
0fb0: 0a 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f  .source [file jo
0fc0: 69 6e 20 24 74 65 73 74 5f 61 6c 6c 5f 70 61 74  in $test_all_pat
0fd0: 68 20 65 70 69 6c 6f 67 75 65 2e 65 61 67 6c 65  h epilogue.eagle
0fe0: 5d 0d 0a                                         ]..