System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact ac2b3dfd9e2c46c74898c9c0b2bc3ec6afcbaff1:


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 74 65 73 74 73 2e 0d 0a 23 20 45 78 65 63 75   tests...# Execu
00b0: 74 65 20 69 74 20 62 79 20 69 6e 76 6f 6b 69 6e  te it by invokin
00c0: 67 20 22 73 6f 75 72 63 65 20 61 6c 6c 2e 65 61  g "source all.ea
00d0: 67 6c 65 22 2e 0d 0a 23 0d 0a 23 20 45 78 74 65  gle"...#..# Exte
00e0: 6e 73 69 62 6c 65 20 41 64 61 70 74 61 62 6c 65  nsible Adaptable
00f0: 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 4c 6f 67   Generalized Log
0100: 69 63 20 45 6e 67 69 6e 65 20 28 45 61 67 6c 65  ic Engine (Eagle
0110: 29 0d 0a 23 20 54 65 73 74 20 53 75 69 74 65 20  )..# Test Suite 
0120: 46 69 6c 65 0d 0a 23 0d 0a 23 20 57 72 69 74 74  File..#..# Writt
0130: 65 6e 20 62 79 20 4a 6f 65 20 4d 69 73 74 61 63  en by Joe Mistac
0140: 68 6b 69 6e 2e 0d 0a 23 20 52 65 6c 65 61 73 65  hkin...# Release
0150: 64 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20  d to the public 
0160: 64 6f 6d 61 69 6e 2c 20 75 73 65 20 61 74 20 79  domain, use at y
0170: 6f 75 72 20 6f 77 6e 20 72 69 73 6b 21 0d 0a 23  our own risk!..#
0180: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
0190: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01d0: 23 0d 0a 0d 0a 70 61 63 6b 61 67 65 20 72 65 71  #....package req
01e0: 75 69 72 65 20 45 61 67 6c 65 0d 0a 70 61 63 6b  uire Eagle..pack
01f0: 61 67 65 20 72 65 71 75 69 72 65 20 45 61 67 6c  age require Eagl
0200: 65 2e 4c 69 62 72 61 72 79 0d 0a 70 61 63 6b 61  e.Library..packa
0210: 67 65 20 72 65 71 75 69 72 65 20 45 61 67 6c 65  ge require Eagle
0220: 2e 54 65 73 74 0d 0a 0d 0a 72 75 6e 54 65 73 74  .Test....runTest
0230: 50 72 6f 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23 23  Prologue....####
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 23 23 23 23 23 23 23 23 23 23 23 23  ################
0270: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0280: 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 23  ###########....#
0290: 0d 0a 23 20 4e 4f 54 45 3a 20 50 72 65 2d 6c 6f  ..# NOTE: Pre-lo
02a0: 61 64 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20  ad the assembly 
02b0: 61 6e 64 20 74 68 65 20 6e 65 63 65 73 73 61 72  and the necessar
02c0: 79 20 68 65 6c 70 65 72 20 70 72 6f 63 65 64 75  y helper procedu
02d0: 72 65 73 20 6e 6f 77 2c 20 73 6f 20 74 68 61 74  res now, so that
02e0: 0d 0a 23 20 20 20 20 20 20 20 74 68 65 79 20 64  ..#       they d
02f0: 6f 20 6e 6f 74 20 63 6f 75 6e 74 20 61 73 20 62  o not count as b
0300: 65 69 6e 67 20 22 6c 65 61 6b 65 64 22 20 28 69  eing "leaked" (i
0310: 2e 65 2e 20 74 68 65 20 74 65 73 74 20 66 72 61  .e. the test fra
0320: 6d 65 77 6f 72 6b 20 68 61 73 20 6e 6f 20 77 61  mework has no wa
0330: 79 0d 0a 23 20 20 20 20 20 20 20 74 6f 20 6b 6e  y..#       to kn
0340: 6f 77 20 77 68 6f 20 70 72 6f 63 65 64 75 72 65  ow who procedure
0350: 73 20 61 63 74 75 61 6c 6c 79 20 62 65 6c 6f 6e  s actually belon
0360: 67 20 74 6f 29 2e 0d 0a 23 0d 0a 70 61 63 6b 61  g to)...#..packa
0370: 67 65 20 72 65 71 75 69 72 65 20 53 79 73 74 65  ge require Syste
0380: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 54 65  m.Data.SQLite.Te
0390: 73 74 0d 0a 72 75 6e 53 51 4c 69 74 65 54 65 73  st..runSQLiteTes
03a0: 74 50 72 6f 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23  tPrologue....###
03b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03d0: 23 23 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 0d 0a 0d 0a  ############....
0400: 73 65 74 20 6e 6f 28 70 72 6f 6c 6f 67 75 65 2e  set no(prologue.
0410: 65 61 67 6c 65 29 20 74 72 75 65 0d 0a 73 65 74  eagle) true..set
0420: 20 6e 6f 28 65 70 69 6c 6f 67 75 65 2e 65 61 67   no(epilogue.eag
0430: 6c 65 29 20 74 72 75 65 0d 0a 0d 0a 23 0d 0a 23  le) true....#..#
0440: 20 4e 4f 54 45 3a 20 52 75 6e 20 74 68 65 20 6c   NOTE: Run the l
0450: 6f 63 61 6c 20 74 65 73 74 20 70 72 6f 6c 6f 67  ocal test prolog
0460: 75 65 2c 20 69 66 20 61 6e 79 2e 0d 0a 23 0d 0a  ue, if any...#..
0470: 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73 74 73  if {[file exists
0480: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 70 61 74   [file join $pat
0490: 68 20 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65  h prologue.eagle
04a0: 5d 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 73 6f  ]]} then {..  so
04b0: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  urce [file join 
04c0: 24 70 61 74 68 20 70 72 6f 6c 6f 67 75 65 2e 65  $path prologue.e
04d0: 61 67 6c 65 5d 0d 0a 7d 0d 0a 0d 0a 23 0d 0a 23  agle]..}....#..#
04e0: 20 4e 4f 54 45 3a 20 52 75 6e 20 61 6c 6c 20 74   NOTE: Run all t
04f0: 68 65 20 75 6e 69 74 20 74 65 73 74 73 2e 0d 0a  he unit tests...
0500: 23 0d 0a 73 65 74 20 74 65 73 74 5f 74 69 6d 65  #..set test_time
0510: 20 5b 74 69 6d 65 20 7b 0d 0a 20 20 72 75 6e 41   [time {..  runA
0520: 6c 6c 54 65 73 74 73 20 24 74 65 73 74 5f 63 68  llTests $test_ch
0530: 61 6e 6e 65 6c 20 24 70 61 74 68 20 5c 0d 0a 20  annel $path \.. 
0540: 20 20 20 20 20 5b 67 65 74 54 65 73 74 46 69 6c       [getTestFil
0550: 65 73 20 5b 6c 69 73 74 20 24 70 61 74 68 5d 20  es [list $path] 
0560: 24 74 65 73 74 5f 66 6c 61 67 73 28 2d 66 69 6c  $test_flags(-fil
0570: 65 29 20 24 74 65 73 74 5f 66 6c 61 67 73 28 2d  e) $test_flags(-
0580: 6e 6f 74 46 69 6c 65 29 5d 20 5c 0d 0a 20 20 20  notFile)] \..   
0590: 20 20 20 5b 6c 69 73 74 20 5b 66 69 6c 65 20 74     [list [file t
05a0: 61 69 6c 20 5b 69 6e 66 6f 20 73 63 72 69 70 74  ail [info script
05b0: 5d 5d 20 2a 2e 74 63 6c 20 70 6b 67 49 6e 64 65  ]] *.tcl pkgInde
05c0: 78 2e 65 61 67 6c 65 20 63 6f 6d 6d 6f 6e 2e 65  x.eagle common.e
05d0: 61 67 6c 65 20 5c 0d 0a 20 20 20 20 20 20 20 20  agle \..        
05e0: 20 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 65 61    constraints.ea
05f0: 67 6c 65 20 65 6d 70 74 79 2e 65 61 67 6c 65 20  gle empty.eagle 
0600: 65 70 69 6c 6f 67 75 65 2e 65 61 67 6c 65 20 70  epilogue.eagle p
0610: 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 5d 20 5c  rologue.eagle] \
0620: 0d 0a 20 20 20 20 20 20 24 74 65 73 74 5f 66 6c  ..      $test_fl
0630: 61 67 73 28 2d 73 74 61 72 74 46 69 6c 65 29 20  ags(-startFile) 
0640: 24 74 65 73 74 5f 66 6c 61 67 73 28 2d 73 74 6f  $test_flags(-sto
0650: 70 46 69 6c 65 29 0d 0a 7d 5d 0d 0a 0d 0a 23 0d  pFile)..}]....#.
0660: 0a 23 20 4e 4f 54 45 3a 20 52 75 6e 20 74 68 65  .# NOTE: Run the
0670: 20 6c 6f 63 61 6c 20 74 65 73 74 20 65 70 69 6c   local test epil
0680: 6f 67 75 65 2c 20 69 66 20 61 6e 79 2e 0d 0a 23  ogue, if any...#
0690: 0d 0a 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73  ..if {[file exis
06a0: 74 73 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 70  ts [file join $p
06b0: 61 74 68 20 65 70 69 6c 6f 67 75 65 2e 65 61 67  ath epilogue.eag
06c0: 6c 65 5d 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20  le]]} then {..  
06d0: 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69  source [file joi
06e0: 6e 20 24 70 61 74 68 20 65 70 69 6c 6f 67 75 65  n $path epilogue
06f0: 2e 65 61 67 6c 65 5d 0d 0a 7d 0d 0a 0d 0a 74 70  .eagle]..}....tp
0700: 75 74 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65  uts $test_channe
0710: 6c 20 5b 61 70 70 65 6e 64 41 72 67 73 20 22 2d  l [appendArgs "-
0720: 2d 2d 2d 20 61 6c 6c 20 74 65 73 74 73 20 63 6f  --- all tests co
0730: 6d 70 6c 65 74 65 64 20 69 6e 20 22 20 24 74 65  mpleted in " $te
0740: 73 74 5f 74 69 6d 65 20 5c 6e 5d 0d 0a 75 6e 73  st_time \n]..uns
0750: 65 74 20 74 65 73 74 5f 74 69 6d 65 0d 0a 0d 0a  et test_time....
0760: 75 6e 73 65 74 20 6e 6f 28 65 70 69 6c 6f 67 75  unset no(epilogu
0770: 65 2e 65 61 67 6c 65 29 0d 0a 75 6e 73 65 74 20  e.eagle)..unset 
0780: 6e 6f 28 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c  no(prologue.eagl
0790: 65 29 0d 0a 0d 0a 69 66 20 7b 5b 61 72 72 61 79  e)....if {[array
07a0: 20 73 69 7a 65 20 6e 6f 5d 20 3d 3d 20 30 7d 20   size no] == 0} 
07b0: 74 68 65 6e 20 7b 75 6e 73 65 74 20 6e 6f 7d 0d  then {unset no}.
07c0: 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ...#############
07d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0800: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0810: 23 23 0d 0a 0d 0a 72 75 6e 53 51 4c 69 74 65 54  ##....runSQLiteT
0820: 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a 72 75 6e  estEpilogue..run
0830: 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a        TestEpilogue..