Megatest

Hex Artifact Content
Login

Artifact 174e159a1ef8fa9d9c008519b20adac602658e85:


0000: 3b 3b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ;;==============
0010: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0040: 3d 3d 3d 3d 3d 3d 3d 3d 0a 3b 3b 20 53 20 45 20  ========.;; S E 
0050: 52 20 56 20 45 20 52 0a 3b 3b 3d 3d 3d 3d 3d 3d  R V E R.;;======
0060: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0070: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0080: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
00a0: 0a 0a 3b 3b 20 52 75 6e 20 6c 69 6b 65 20 74 68  ..;; Run like th
00b0: 69 73 3a 0a 3b 3b 0a 3b 3b 20 20 28 63 64 20 2e  is:.;;.;;  (cd .
00c0: 2e 3b 6d 61 6b 65 20 26 26 20 6d 61 6b 65 20 69  .;make && make i
00d0: 6e 73 74 61 6c 6c 29 20 26 26 20 2e 2f 72 75 6e  nstall) && ./run
00e0: 75 6e 69 74 74 65 73 74 2e 73 68 20 73 65 72 76  unittest.sh serv
00f0: 65 72 20 31 3b 28 63 64 20 73 69 6d 70 6c 65 72  er 1;(cd simpler
0100: 75 6e 3b 6d 65 67 61 74 65 73 74 20 2d 73 74 6f  un;megatest -sto
0110: 70 2d 73 65 72 76 65 72 20 30 29 0a 0a 28 74 65  p-server 0)..(te
0120: 73 74 20 23 66 20 23 74 20 20 20 20 20 20 20 20  st #f #t        
0130: 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72           (vector
0140: 3f 20 28 6d 61 6b 65 2d 64 62 72 3a 64 62 73 74  ? (make-dbr:dbst
0150: 72 75 63 74 20 22 2f 74 6d 70 22 29 29 29 0a 0a  ruct "/tmp")))..
0160: 28 64 65 66 69 6e 65 20 64 62 73 74 72 75 63 74  (define dbstruct
0170: 20 28 6d 61 6b 65 2d 64 62 72 3a 64 62 73 74 72   (make-dbr:dbstr
0180: 75 63 74 20 22 2f 74 6d 70 22 29 29 0a 0a 28 74  uct "/tmp"))..(t
0190: 65 73 74 20 23 66 20 23 74 20 20 20 20 20 20 20  est #f #t       
01a0: 20 20 20 20 20 20 20 20 20 20 28 62 65 67 69 6e            (begin
01b0: 20 28 64 62 72 3a 64 62 73 74 72 75 63 74 2d 73   (dbr:dbstruct-s
01c0: 65 74 2d 6d 61 69 6e 21 20 64 62 73 74 72 75 63  et-main! dbstruc
01d0: 74 20 22 62 6c 61 68 22 29 20 23 74 29 29 0a 28  t "blah") #t)).(
01e0: 74 65 73 74 20 23 66 20 22 62 6c 61 68 22 20 20  test #f "blah"  
01f0: 20 20 20 20 20 20 20 20 20 20 20 28 64 62 72 3a             (dbr:
0200: 64 62 73 74 72 75 63 74 2d 67 65 74 2d 6d 61 69  dbstruct-get-mai
0210: 6e 20 20 64 62 73 74 72 75 63 74 29 29 0a 28 66  n  dbstruct)).(f
0220: 6f 72 2d 65 61 63 68 20 0a 20 28 6c 61 6d 62 64  or-each . (lambd
0230: 61 20 28 72 75 6e 2d 69 64 29 0a 20 20 20 28 74  a (run-id).   (t
0240: 65 73 74 20 23 66 20 23 74 20 20 20 20 20 20 20  est #f #t       
0250: 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f            (vecto
0260: 72 3f 20 28 64 62 72 3a 64 62 73 74 72 75 63 74  r? (dbr:dbstruct
0270: 2d 67 65 74 2d 72 75 6e 64 62 2d 72 65 63 20 64  -get-rundb-rec d
0280: 62 73 74 72 75 63 74 20 72 75 6e 2d 69 64 29 29  bstruct run-id))
0290: 29 29 0a 20 28 6c 69 73 74 20 31 20 32 20 33 20  )). (list 1 2 3 
02a0: 34 20 35 20 36 20 37 20 38 20 39 20 23 66 29 29  4 5 6 7 8 9 #f))
02b0: 0a 0a 28 74 65 73 74 20 23 66 20 30 20 28 64 62  ..(test #f 0 (db
02c0: 72 3a 64 62 73 74 72 75 63 74 2d 66 69 65 6c 64  r:dbstruct-field
02d0: 2d 6e 61 6d 65 2d 3e 6e 75 6d 20 27 72 75 6e 64  -name->num 'rund
02e0: 62 29 29 0a 28 74 65 73 74 20 23 66 20 31 20 28  b)).(test #f 1 (
02f0: 64 62 72 3a 64 62 73 74 72 75 63 74 2d 66 69 65  dbr:dbstruct-fie
0300: 6c 64 2d 6e 61 6d 65 2d 3e 6e 75 6d 20 27 69 6e  ld-name->num 'in
0310: 6d 65 6d 29 29 0a 28 74 65 73 74 20 23 66 20 32  mem)).(test #f 2
0320: 20 28 64 62 72 3a 64 62 73 74 72 75 63 74 2d 66   (dbr:dbstruct-f
0330: 69 65 6c 64 2d 6e 61 6d 65 2d 3e 6e 75 6d 20 27  ield-name->num '
0340: 6d 74 69 6d 65 29 29 0a 0a 28 74 65 73 74 20 23  mtime))..(test #
0350: 66 20 23 66 20 28 64 62 72 3a 64 62 73 74 72 75  f #f (dbr:dbstru
0360: 63 74 2d 67 65 74 2d 72 75 6e 76 65 63 2d 76 61  ct-get-runvec-va
0370: 6c 20 64 62 73 74 72 75 63 74 20 31 20 27 72 75  l dbstruct 1 'ru
0380: 6e 64 62 29 29 0a 28 74 65 73 74 20 23 66 20 23  ndb)).(test #f #
0390: 74 20 28 62 65 67 69 6e 20 28 64 62 72 3a 64 62  t (begin (dbr:db
03a0: 73 74 72 75 63 74 2d 73 65 74 2d 72 75 6e 76 65  struct-set-runve
03b0: 63 2d 76 61 6c 21 20 64 62 73 74 72 75 63 74 20  c-val! dbstruct 
03c0: 31 20 27 72 75 6e 64 62 20 22 72 75 6e 64 62 22  1 'rundb "rundb"
03d0: 29 20 23 74 29 29 0a 28 74 65 73 74 20 23 66 20  ) #t)).(test #f 
03e0: 22 72 75 6e 64 62 22 20 28 64 62 72 3a 64 62 73  "rundb" (dbr:dbs
03f0: 74 72 75 63 74 2d 67 65 74 2d 72 75 6e 76 65 63  truct-get-runvec
0400: 2d 76 61 6c 20 64 62 73 74 72 75 63 74 20 31 20  -val dbstruct 1 
0410: 27 72 75 6e 64 62 29 29 0a 0a 28 66 6f 72 2d 65  'rundb))..(for-e
0420: 61 63 68 0a 20 28 6c 61 6d 62 64 61 20 28 6b 29  ach. (lambda (k)
0430: 0a 20 20 20 28 74 65 73 74 20 23 66 20 23 74 20  .   (test #f #t 
0440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0450: 28 62 65 67 69 6e 20 28 64 62 72 3a 64 62 73 74  (begin (dbr:dbst
0460: 72 75 63 74 2d 73 65 74 2d 72 75 6e 76 65 63 2d  ruct-set-runvec-
0470: 76 61 6c 21 20 64 62 73 74 72 75 63 74 20 31 20  val! dbstruct 1 
0480: 6b 20 28 63 6f 6e 63 20 6b 29 29 20 23 74 29 29  k (conc k)) #t))
0490: 0a 20 20 20 28 74 65 73 74 20 23 66 20 28 63 6f  .   (test #f (co
04a0: 6e 63 20 6b 29 20 20 20 20 20 20 20 20 20 20 20  nc k)           
04b0: 28 64 62 72 3a 64 62 73 74 72 75 63 74 2d 67 65  (dbr:dbstruct-ge
04c0: 74 2d 72 75 6e 76 65 63 2d 76 61 6c 20 64 62 73  t-runvec-val dbs
04d0: 74 72 75 63 74 20 31 20 6b 29 29 29 0a 20 27 28  truct 1 k))). '(
04e0: 72 75 6e 64 62 20 69 6e 6d 65 6d 20 6d 74 69 6d  rundb inmem mtim
04f0: 65 20 72 74 69 6d 65 20 73 74 69 6d 65 20 69 6e  e rtime stime in
0500: 75 73 65 29 29 0a 0a                             use))..