System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact cb19d3ae40111ccbf4ef8e35654959c68cbb61ae:


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 72 75 6e 53 51  tPrologue..runSQ
03b0: 4c 69 74 65 54 65 73 74 46 69 6c 65 73 50 72 6f  LiteTestFilesPro
03c0: 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23 23 23 23 23  logue....#######
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 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 0d 0a 0d 0a 73 65 74 20  ########....set 
0420: 6e 6f 28 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c  no(prologue.eagl
0430: 65 29 20 74 72 75 65 0d 0a 73 65 74 20 6e 6f 28  e) true..set no(
0440: 65 70 69 6c 6f 67 75 65 2e 65 61 67 6c 65 29 20  epilogue.eagle) 
0450: 74 72 75 65 0d 0a 0d 0a 23 0d 0a 23 20 4e 4f 54  true....#..# NOT
0460: 45 3a 20 52 75 6e 20 74 68 65 20 6c 6f 63 61 6c  E: Run the local
0470: 20 74 65 73 74 20 70 72 6f 6c 6f 67 75 65 2c 20   test prologue, 
0480: 69 66 20 61 6e 79 2e 0d 0a 23 0d 0a 69 66 20 7b  if any...#..if {
0490: 5b 66 69 6c 65 20 65 78 69 73 74 73 20 5b 66 69  [file exists [fi
04a0: 6c 65 20 6a 6f 69 6e 20 24 70 61 74 68 20 70 72  le join $path pr
04b0: 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 5d 5d 7d 20  ologue.eagle]]} 
04c0: 74 68 65 6e 20 7b 0d 0a 20 20 73 6f 75 72 63 65  then {..  source
04d0: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 70 61 74   [file join $pat
04e0: 68 20 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65  h prologue.eagle
04f0: 5d 0d 0a 7d 0d 0a 0d 0a 23 0d 0a 23 20 4e 4f 54  ]..}....#..# NOT
0500: 45 3a 20 52 75 6e 20 61 6c 6c 20 74 68 65 20 75  E: Run all the u
0510: 6e 69 74 20 74 65 73 74 73 2e 0d 0a 23 0d 0a 73  nit tests...#..s
0520: 65 74 20 74 65 73 74 5f 74 69 6d 65 20 5b 74 69  et test_time [ti
0530: 6d 65 20 7b 0d 0a 20 20 72 75 6e 41 6c 6c 54 65  me {..  runAllTe
0540: 73 74 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65  sts $test_channe
0550: 6c 20 24 70 61 74 68 20 5c 0d 0a 20 20 20 20 20  l $path \..     
0560: 20 5b 67 65 74 54 65 73 74 46 69 6c 65 73 20 5b   [getTestFiles [
0570: 6c 69 73 74 20 24 70 61 74 68 5d 20 24 74 65 73  list $path] $tes
0580: 74 5f 66 6c 61 67 73 28 2d 66 69 6c 65 29 20 24  t_flags(-file) $
0590: 74 65 73 74 5f 66 6c 61 67 73 28 2d 6e 6f 74 46  test_flags(-notF
05a0: 69 6c 65 29 5d 20 5c 0d 0a 20 20 20 20 20 20 5b  ile)] \..      [
05b0: 6c 69 73 74 20 5b 66 69 6c 65 20 74 61 69 6c 20  list [file tail 
05c0: 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d 5d 20 5c  [info script]] \
05d0: 0d 0a 20 20 20 20 20 20 2a 2e 74 63 6c 20 65 70  ..      *.tcl ep
05e0: 69 6c 6f 67 75 65 2e 65 61 67 6c 65 20 70 72 6f  ilogue.eagle pro
05f0: 6c 6f 67 75 65 2e 65 61 67 6c 65 5d 20 5c 0d 0a  logue.eagle] \..
0600: 20 20 20 20 20 20 24 74 65 73 74 5f 66 6c 61 67        $test_flag
0610: 73 28 2d 73 74 61 72 74 46 69 6c 65 29 20 24 74  s(-startFile) $t
0620: 65 73 74 5f 66 6c 61 67 73 28 2d 73 74 6f 70 46  est_flags(-stopF
0630: 69 6c 65 29 0d 0a 7d 5d 0d 0a 0d 0a 23 0d 0a 23  ile)..}]....#..#
0640: 20 4e 4f 54 45 3a 20 52 75 6e 20 74 68 65 20 6c   NOTE: Run the l
0650: 6f 63 61 6c 20 74 65 73 74 20 65 70 69 6c 6f 67  ocal test epilog
0660: 75 65 2c 20 69 66 20 61 6e 79 2e 0d 0a 23 0d 0a  ue, if any...#..
0670: 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73 74 73  if {[file exists
0680: 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 70 61 74   [file join $pat
0690: 68 20 65 70 69 6c 6f 67 75 65 2e 65 61 67 6c 65  h epilogue.eagle
06a0: 5d 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 73 6f  ]]} then {..  so
06b0: 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20  urce [file join 
06c0: 24 70 61 74 68 20 65 70 69 6c 6f 67 75 65 2e 65  $path epilogue.e
06d0: 61 67 6c 65 5d 0d 0a 7d 0d 0a 0d 0a 74 70 75 74  agle]..}....tput
06e0: 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20  s $test_channel 
06f0: 5b 61 70 70 65 6e 64 41 72 67 73 20 22 2d 2d 2d  [appendArgs "---
0700: 2d 20 61 6c 6c 20 74 65 73 74 73 20 63 6f 6d 70  - all tests comp
0710: 6c 65 74 65 64 20 69 6e 20 22 20 24 74 65 73 74  leted in " $test
0720: 5f 74 69 6d 65 20 5c 6e 5d 0d 0a 75 6e 73 65 74  _time \n]..unset
0730: 20 74 65 73 74 5f 74 69 6d 65 0d 0a 0d 0a 75 6e   test_time....un
0740: 73 65 74 20 6e 6f 28 65 70 69 6c 6f 67 75 65 2e  set no(epilogue.
0750: 65 61 67 6c 65 29 0d 0a 75 6e 73 65 74 20 6e 6f  eagle)..unset no
0760: 28 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 29  (prologue.eagle)
0770: 0d 0a 0d 0a 69 66 20 7b 5b 61 72 72 61 79 20 73  ....if {[array s
0780: 69 7a 65 20 6e 6f 5d 20 3d 3d 20 30 7d 20 74 68  ize no] == 0} th
0790: 65 6e 20 7b 75 6e 73 65 74 20 6e 6f 7d 0d 0a 0d  en {unset no}...
07a0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
07b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07c0: 23 23 23 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: 0d 0a 0d 0a 72 75 6e 53 51 4c 69 74 65 54 65 73  ....runSQLiteTes
0800: 74 46 69 6c 65 73 45 70 69 6c 6f 67 75 65 0d 0a  tFilesEpilogue..
0810: 72 75 6e 53 51 4c 69 74 65 54 65 73 74 45 70 69  runSQLiteTestEpi
0820: 6c 6f 67 75 65 0d 0a 72 75 6e 54 65 73 74 45 70  logue..runTestEp
0830: 69 6c 6f 67 75 65 0d 0a                          ilogue..