System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact a18c5e578bd9f0513dcf6d9d9d492d2fe70137d5:


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 4c 69 62 72 61 72 79 0d 0a 70 61 63 6b 61 67  eLibrary..packag
0210: 65 20 72 65 71 75 69 72 65 20 45 61 67 6c 65 54  e require EagleT
0220: 65 73 74 0d 0a 0d 0a 72 75 6e 54 65 73 74 50 72  est....runTestPr
0230: 6f 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23 23 23 23  ologue....######
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 0d 0a 0d 0a 23 0d 0a  #########....#..
0290: 23 20 4e 4f 54 45 3a 20 50 72 65 2d 6c 6f 61 64  # NOTE: Pre-load
02a0: 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 61 6e   the assembly an
02b0: 64 20 74 68 65 20 6e 65 63 65 73 73 61 72 79 20  d the necessary 
02c0: 68 65 6c 70 65 72 20 70 72 6f 63 65 64 75 72 65  helper procedure
02d0: 73 20 6e 6f 77 2c 20 73 6f 20 74 68 61 74 0d 0a  s now, so that..
02e0: 23 20 20 20 20 20 20 20 74 68 65 79 20 64 6f 20  #       they do 
02f0: 6e 6f 74 20 63 6f 75 6e 74 20 61 73 20 62 65 69  not count as bei
0300: 6e 67 20 22 6c 65 61 6b 65 64 22 20 28 69 2e 65  ng "leaked" (i.e
0310: 2e 20 74 68 65 20 74 65 73 74 20 66 72 61 6d 65  . the test frame
0320: 77 6f 72 6b 20 68 61 73 20 6e 6f 20 77 61 79 0d  work has no way.
0330: 0a 23 20 20 20 20 20 20 20 74 6f 20 6b 6e 6f 77  .#       to know
0340: 20 77 68 6f 20 70 72 6f 63 65 64 75 72 65 73 20   who procedures 
0350: 61 63 74 75 61 6c 6c 79 20 62 65 6c 6f 6e 67 20  actually belong 
0360: 74 6f 29 2e 0d 0a 23 0d 0a 70 61 63 6b 61 67 65  to)...#..package
0370: 20 72 65 71 75 69 72 65 20 53 79 73 74 65 6d 2e   require System.
0380: 44 61 74 61 2e 53 51 4c 69 74 65 2e 54 65 73 74  Data.SQLite.Test
0390: 0d 0a 72 75 6e 53 51 4c 69 74 65 54 65 73 74 50  ..runSQLiteTestP
03a0: 72 6f 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23 23 23  rologue....#####
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 0d 0a 0d 0a 73 65  ##########....se
0400: 74 20 6e 6f 28 70 72 6f 6c 6f 67 75 65 2e 65 61  t no(prologue.ea
0410: 67 6c 65 29 20 74 72 75 65 0d 0a 73 65 74 20 6e  gle) true..set n
0420: 6f 28 65 70 69 6c 6f 67 75 65 2e 65 61 67 6c 65  o(epilogue.eagle
0430: 29 20 74 72 75 65 0d 0a 0d 0a 23 0d 0a 23 20 4e  ) true....#..# N
0440: 4f 54 45 3a 20 52 75 6e 20 74 68 65 20 6c 6f 63  OTE: Run the loc
0450: 61 6c 20 74 65 73 74 20 70 72 6f 6c 6f 67 75 65  al test prologue
0460: 2c 20 69 66 20 61 6e 79 2e 0d 0a 23 0d 0a 69 66  , if any...#..if
0470: 20 7b 5b 66 69 6c 65 20 65 78 69 73 74 73 20 5b   {[file exists [
0480: 66 69 6c 65 20 6a 6f 69 6e 20 24 70 61 74 68 20  file join $path 
0490: 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c 65 5d 5d  prologue.eagle]]
04a0: 7d 20 74 68 65 6e 20 7b 0d 0a 20 20 73 6f 75 72  } then {..  sour
04b0: 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 70  ce [file join $p
04c0: 61 74 68 20 70 72 6f 6c 6f 67 75 65 2e 65 61 67  ath prologue.eag
04d0: 6c 65 5d 0d 0a 7d 0d 0a 0d 0a 23 0d 0a 23 20 4e  le]..}....#..# N
04e0: 4f 54 45 3a 20 52 75 6e 20 61 6c 6c 20 74 68 65  OTE: Run all the
04f0: 20 75 6e 69 74 20 74 65 73 74 73 2e 0d 0a 23 0d   unit tests...#.
0500: 0a 73 65 74 20 74 65 73 74 5f 74 69 6d 65 20 5b  .set test_time [
0510: 74 69 6d 65 20 7b 0d 0a 20 20 72 75 6e 41 6c 6c  time {..  runAll
0520: 54 65 73 74 73 20 24 74 65 73 74 5f 63 68 61 6e  Tests $test_chan
0530: 6e 65 6c 20 24 70 61 74 68 20 5c 0d 0a 20 20 20  nel $path \..   
0540: 20 5b 67 65 74 54 65 73 74 46 69 6c 65 73 20 5b   [getTestFiles [
0550: 6c 69 73 74 20 24 70 61 74 68 5d 20 24 74 65 73  list $path] $tes
0560: 74 5f 66 6c 61 67 73 28 2d 66 69 6c 65 29 20 24  t_flags(-file) $
0570: 74 65 73 74 5f 66 6c 61 67 73 28 2d 6e 6f 74 46  test_flags(-notF
0580: 69 6c 65 29 5d 20 5c 0d 0a 20 20 20 20 5b 6c 69  ile)] \..    [li
0590: 73 74 20 5b 66 69 6c 65 20 74 61 69 6c 20 5b 69  st [file tail [i
05a0: 6e 66 6f 20 73 63 72 69 70 74 5d 5d 20 2a 2e 74  nfo script]] *.t
05b0: 63 6c 20 70 6b 67 49 6e 64 65 78 2e 65 61 67 6c  cl pkgIndex.eagl
05c0: 65 20 63 6f 6d 6d 6f 6e 2e 65 61 67 6c 65 20 5c  e common.eagle \
05d0: 0d 0a 20 20 20 20 63 6f 6e 73 74 72 61 69 6e 74  ..    constraint
05e0: 73 2e 65 61 67 6c 65 20 65 70 69 6c 6f 67 75 65  s.eagle epilogue
05f0: 2e 65 61 67 6c 65 20 70 72 6f 6c 6f 67 75 65 2e  .eagle prologue.
0600: 65 61 67 6c 65 5d 0d 0a 7d 5d 0d 0a 0d 0a 23 0d  eagle]..}]....#.
0610: 0a 23 20 4e 4f 54 45 3a 20 52 75 6e 20 74 68 65  .# NOTE: Run the
0620: 20 6c 6f 63 61 6c 20 74 65 73 74 20 65 70 69 6c   local test epil
0630: 6f 67 75 65 2c 20 69 66 20 61 6e 79 2e 0d 0a 23  ogue, if any...#
0640: 0d 0a 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73  ..if {[file exis
0650: 74 73 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 70  ts [file join $p
0660: 61 74 68 20 65 70 69 6c 6f 67 75 65 2e 65 61 67  ath epilogue.eag
0670: 6c 65 5d 5d 7d 20 74 68 65 6e 20 7b 0d 0a 20 20  le]]} then {..  
0680: 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69  source [file joi
0690: 6e 20 24 70 61 74 68 20 65 70 69 6c 6f 67 75 65  n $path epilogue
06a0: 2e 65 61 67 6c 65 5d 0d 0a 7d 0d 0a 0d 0a 74 70  .eagle]..}....tp
06b0: 75 74 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65  uts $test_channe
06c0: 6c 20 5b 61 70 70 65 6e 64 41 72 67 73 20 22 2d  l [appendArgs "-
06d0: 2d 2d 2d 20 61 6c 6c 20 74 65 73 74 73 20 63 6f  --- all tests co
06e0: 6d 70 6c 65 74 65 64 20 69 6e 20 22 20 24 74 65  mpleted in " $te
06f0: 73 74 5f 74 69 6d 65 20 5c 6e 5d 0d 0a 75 6e 73  st_time \n]..uns
0700: 65 74 20 74 65 73 74 5f 74 69 6d 65 0d 0a 0d 0a  et test_time....
0710: 75 6e 73 65 74 20 6e 6f 28 65 70 69 6c 6f 67 75  unset no(epilogu
0720: 65 2e 65 61 67 6c 65 29 0d 0a 75 6e 73 65 74 20  e.eagle)..unset 
0730: 6e 6f 28 70 72 6f 6c 6f 67 75 65 2e 65 61 67 6c  no(prologue.eagl
0740: 65 29 0d 0a 0d 0a 69 66 20 7b 5b 61 72 72 61 79  e)....if {[array
0750: 20 73 69 7a 65 20 6e 6f 5d 20 3d 3d 20 30 7d 20   size no] == 0} 
0760: 74 68 65 6e 20 7b 75 6e 73 65 74 20 6e 6f 7d 0d  then {unset no}.
0770: 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ...#############
0780: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0790: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
07a0: 23 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 0d 0a 0d 0a 72 75 6e 53 51 4c 69 74 65 54  ##....runSQLiteT
07d0: 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a 72 75 6e  estEpilogue..run
07e0: 54 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a        TestEpilogue..