Megatest

Hex Artifact Content
Login

Artifact 65d7a895cea3c60a812108b6ca039f61926ca8a6:


0000: 3b 3b 3b 3b 20 74 61 73 6b 73 2e 69 6d 70 6f 72  ;;;; tasks.impor
0010: 74 2e 73 63 6d 20 2d 20 47 45 4e 45 52 41 54 45  t.scm - GENERATE
0020: 44 20 42 59 20 43 48 49 43 4b 45 4e 20 34 2e 31  D BY CHICKEN 4.1
0030: 33 2e 30 20 2d 2a 2d 20 53 63 68 65 6d 65 20 2d  3.0 -*- Scheme -
0040: 2a 2d 0a 0a 28 65 76 61 6c 20 27 28 69 6d 70 6f  *-..(eval '(impo
0050: 72 74 0a 20 20 20 20 20 20 20 20 20 73 63 68 65  rt.         sche
0060: 6d 65 0a 20 20 20 20 20 20 20 20 20 63 68 69 63  me.         chic
0070: 6b 65 6e 0a 20 20 20 20 20 20 20 20 20 64 61 74  ken.         dat
0080: 61 2d 73 74 72 75 63 74 75 72 65 73 0a 20 20 20  a-structures.   
0090: 20 20 20 20 20 20 65 78 74 72 61 73 0a 20 20 20        extras.   
00a0: 20 20 20 20 20 20 73 71 6c 69 74 65 33 0a 20 20        sqlite3.  
00b0: 20 20 20 20 20 20 20 73 72 66 69 2d 31 0a 20 20         srfi-1.  
00c0: 20 20 20 20 20 20 20 70 6f 73 69 78 0a 20 20 20         posix.   
00d0: 20 20 20 20 20 20 72 65 67 65 78 0a 20 20 20 20        regex.    
00e0: 20 20 20 20 20 72 65 67 65 78 2d 63 61 73 65 0a       regex-case.
00f0: 20 20 20 20 20 20 20 20 20 73 72 66 69 2d 36 39           srfi-69
0100: 0a 20 20 20 20 20 20 20 20 20 64 6f 74 2d 6c 6f  .         dot-lo
0110: 63 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66  cking.         f
0120: 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 73  ormat.         s
0130: 72 66 69 2d 31 38 0a 20 20 20 20 20 20 20 20 20  rfi-18.         
0140: 28 70 72 65 66 69 78 20 73 71 6c 69 74 65 33 20  (prefix sqlite3 
0150: 73 71 6c 69 74 65 33 3a 29 0a 20 20 20 20 20 20  sqlite3:).      
0160: 20 20 20 63 6f 6d 6d 6f 6e 6d 6f 64 0a 20 20 20     commonmod.   
0170: 20 20 20 20 20 20 64 65 62 75 67 70 72 69 6e 74        debugprint
0180: 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 66 69 67  .         config
0190: 66 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 64 62  fmod.         db
01a0: 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 6d 61 72  mod.         mar
01b0: 67 73 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 70  gsmod.         p
01c0: 67 64 62 29 29 0a 28 23 23 73 79 73 23 72 65 67  gdb)).(##sys#reg
01d0: 69 73 74 65 72 2d 63 6f 6d 70 69 6c 65 64 2d 6d  ister-compiled-m
01e0: 6f 64 75 6c 65 0a 20 20 27 74 61 73 6b 73 0a 20  odule.  'tasks. 
01f0: 20 28 6c 69 73 74 29 0a 20 20 27 28 28 74 61 73   (list).  '((tas
0200: 6b 3a 61 64 64 2d 61 72 65 61 2d 74 61 67 20 2e  k:add-area-tag .
0210: 20 74 61 73 6b 73 23 74 61 73 6b 3a 61 64 64 2d   tasks#task:add-
0220: 61 72 65 61 2d 74 61 67 29 0a 20 20 20 20 28 74  area-tag).    (t
0230: 61 73 6b 3a 61 64 64 2d 72 75 6e 2d 74 61 67 20  ask:add-run-tag 
0240: 2e 20 74 61 73 6b 73 23 74 61 73 6b 3a 61 64 64  . tasks#task:add
0250: 2d 72 75 6e 2d 74 61 67 29 0a 20 20 20 20 28 74  -run-tag).    (t
0260: 61 73 6b 3a 70 72 69 6e 74 2d 74 65 73 74 74 69  ask:print-testti
0270: 6d 65 2d 61 73 2d 6a 73 6f 6e 20 2e 20 74 61 73  me-as-json . tas
0280: 6b 73 23 74 61 73 6b 3a 70 72 69 6e 74 2d 74 65  ks#task:print-te
0290: 73 74 74 69 6d 65 2d 61 73 2d 6a 73 6f 6e 29 0a  sttime-as-json).
02a0: 20 20 20 20 28 74 61 73 6b 3a 70 72 69 6e 74 2d      (task:print-
02b0: 74 65 73 74 74 69 6d 65 20 2e 20 74 61 73 6b 73  testtime . tasks
02c0: 23 74 61 73 6b 3a 70 72 69 6e 74 2d 74 65 73 74  #task:print-test
02d0: 74 69 6d 65 29 0a 20 20 20 20 28 74 61 73 6b 3a  time).    (task:
02e0: 70 72 69 6e 74 2d 72 75 6e 74 69 6d 65 2d 61 73  print-runtime-as
02f0: 2d 6a 73 6f 6e 20 2e 20 74 61 73 6b 73 23 74 61  -json . tasks#ta
0300: 73 6b 3a 70 72 69 6e 74 2d 72 75 6e 74 69 6d 65  sk:print-runtime
0310: 2d 61 73 2d 6a 73 6f 6e 29 0a 20 20 20 20 28 74  -as-json).    (t
0320: 61 73 6b 3a 70 72 69 6e 74 2d 72 75 6e 74 69 6d  ask:print-runtim
0330: 65 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 3a 70  e . tasks#task:p
0340: 72 69 6e 74 2d 72 75 6e 74 69 6d 65 29 0a 20 20  rint-runtime).  
0350: 20 20 28 74 61 73 6b 73 3a 73 65 74 2d 61 72 65    (tasks:set-are
0360: 61 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a  a . tasks#tasks:
0370: 73 65 74 2d 61 72 65 61 29 0a 20 20 20 20 28 74  set-area).    (t
0380: 61 73 6b 73 3a 66 69 6e 64 2d 74 61 73 6b 2d 71  asks:find-task-q
0390: 75 65 75 65 2d 72 65 63 6f 72 64 73 20 2e 20 74  ueue-records . t
03a0: 61 73 6b 73 23 74 61 73 6b 73 3a 66 69 6e 64 2d  asks#tasks:find-
03b0: 74 61 73 6b 2d 71 75 65 75 65 2d 72 65 63 6f 72  task-queue-recor
03c0: 64 73 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 67  ds).    (tasks:g
03d0: 65 74 2d 72 65 63 6f 72 64 73 2d 67 69 76 65 6e  et-records-given
03e0: 2d 70 61 72 61 6d 2d 6b 65 79 0a 20 20 20 20 20  -param-key.     
03f0: 20 2e 0a 20 20 20 20 20 20 74 61 73 6b 73 23 74   ..      tasks#t
0400: 61 73 6b 73 3a 67 65 74 2d 72 65 63 6f 72 64 73  asks:get-records
0410: 2d 67 69 76 65 6e 2d 70 61 72 61 6d 2d 6b 65 79  -given-param-key
0420: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 73 65 74  ).    (tasks:set
0430: 2d 73 74 61 74 65 2d 67 69 76 65 6e 2d 70 61 72  -state-given-par
0440: 61 6d 2d 6b 65 79 20 2e 20 74 61 73 6b 73 23 74  am-key . tasks#t
0450: 61 73 6b 73 3a 73 65 74 2d 73 74 61 74 65 2d 67  asks:set-state-g
0460: 69 76 65 6e 2d 70 61 72 61 6d 2d 6b 65 79 29 0a  iven-param-key).
0470: 20 20 20 20 28 74 61 73 6b 73 3a 70 61 72 61 6d      (tasks:param
0480: 2d 6b 65 79 2d 3e 69 64 20 2e 20 74 61 73 6b 73  -key->id . tasks
0490: 23 74 61 73 6b 73 3a 70 61 72 61 6d 2d 6b 65 79  #tasks:param-key
04a0: 2d 3e 69 64 29 0a 20 20 20 20 28 74 61 73 6b 73  ->id).    (tasks
04b0: 3a 73 65 74 2d 73 74 61 74 65 20 2e 20 74 61 73  :set-state . tas
04c0: 6b 73 23 74 61 73 6b 73 3a 73 65 74 2d 73 74 61  ks#tasks:set-sta
04d0: 74 65 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 74  te).    (tasks:t
04e0: 61 73 6b 73 2d 3e 74 65 78 74 20 2e 20 74 61 73  asks->text . tas
04f0: 6b 73 23 74 61 73 6b 73 3a 74 61 73 6b 73 2d 3e  ks#tasks:tasks->
0500: 74 65 78 74 29 0a 20 20 20 20 28 74 61 73 6b 73  text).    (tasks
0510: 3a 72 65 6d 6f 76 65 2d 71 75 65 75 65 2d 65 6e  :remove-queue-en
0520: 74 72 69 65 73 20 2e 20 74 61 73 6b 73 23 74 61  tries . tasks#ta
0530: 73 6b 73 3a 72 65 6d 6f 76 65 2d 71 75 65 75 65  sks:remove-queue
0540: 2d 65 6e 74 72 69 65 73 29 0a 20 20 20 20 28 74  -entries).    (t
0550: 61 73 6b 73 3a 67 65 74 2d 6c 61 73 74 20 2e 20  asks:get-last . 
0560: 74 61 73 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d  tasks#tasks:get-
0570: 6c 61 73 74 29 0a 20 20 20 20 28 74 61 73 6b 73  last).    (tasks
0580: 3a 67 65 74 2d 74 61 73 6b 73 20 2e 20 74 61 73  :get-tasks . tas
0590: 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d 74 61 73  ks#tasks:get-tas
05a0: 6b 73 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 72  ks).    (tasks:r
05b0: 65 73 65 74 2d 73 74 75 63 6b 2d 74 61 73 6b 73  eset-stuck-tasks
05c0: 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a 72   . tasks#tasks:r
05d0: 65 73 65 74 2d 73 74 75 63 6b 2d 74 61 73 6b 73  eset-stuck-tasks
05e0: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 73 6e 61  ).    (tasks:sna
05f0: 67 2d 61 2d 74 61 73 6b 20 2e 20 74 61 73 6b 73  g-a-task . tasks
0600: 23 74 61 73 6b 73 3a 73 6e 61 67 2d 61 2d 74 61  #tasks:snag-a-ta
0610: 73 6b 29 0a 20 20 20 20 28 6b 65 79 73 3a 6b 65  sk).    (keys:ke
0620: 79 2d 76 61 6c 73 2d 68 61 73 68 2d 3e 74 61 72  y-vals-hash->tar
0630: 67 65 74 20 2e 20 74 61 73 6b 73 23 6b 65 79 73  get . tasks#keys
0640: 3a 6b 65 79 2d 76 61 6c 73 2d 68 61 73 68 2d 3e  :key-vals-hash->
0650: 74 61 72 67 65 74 29 0a 20 20 20 20 28 74 61 73  target).    (tas
0660: 6b 73 3a 61 64 64 20 2e 20 74 61 73 6b 73 23 74  ks:add . tasks#t
0670: 61 73 6b 73 3a 61 64 64 29 0a 20 20 20 20 28 74  asks:add).    (t
0680: 61 73 6b 73 3a 67 65 74 2d 6e 75 6d 2d 61 6c 69  asks:get-num-ali
0690: 76 65 2d 6d 6f 6e 69 74 6f 72 73 20 2e 20 74 61  ve-monitors . ta
06a0: 73 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d 6e 75  sks#tasks:get-nu
06b0: 6d 2d 61 6c 69 76 65 2d 6d 6f 6e 69 74 6f 72 73  m-alive-monitors
06c0: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 72 65 67  ).    (tasks:reg
06d0: 69 73 74 65 72 2d 6d 6f 6e 69 74 6f 72 20 2e 20  ister-monitor . 
06e0: 74 61 73 6b 73 23 74 61 73 6b 73 3a 72 65 67 69  tasks#tasks:regi
06f0: 73 74 65 72 2d 6d 6f 6e 69 74 6f 72 29 0a 20 20  ster-monitor).  
0700: 20 20 28 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72    (tasks:monitor
0710: 73 2d 75 70 64 61 74 65 20 2e 20 74 61 73 6b 73  s-update . tasks
0720: 23 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72 73 2d  #tasks:monitors-
0730: 75 70 64 61 74 65 29 0a 20 20 20 20 28 74 61 73  update).    (tas
0740: 6b 73 3a 6d 6f 6e 69 74 6f 72 73 2d 3e 74 65 78  ks:monitors->tex
0750: 74 2d 74 61 62 6c 65 20 2e 20 74 61 73 6b 73 23  t-table . tasks#
0760: 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72 73 2d 3e  tasks:monitors->
0770: 74 65 78 74 2d 74 61 62 6c 65 29 0a 20 20 20 20  text-table).    
0780: 28 74 61 73 6b 73 3a 67 65 74 2d 6d 6f 6e 69 74  (tasks:get-monit
0790: 6f 72 73 20 2e 20 74 61 73 6b 73 23 74 61 73 6b  ors . tasks#task
07a0: 73 3a 67 65 74 2d 6d 6f 6e 69 74 6f 72 73 29 0a  s:get-monitors).
07b0: 20 20 20 20 28 74 61 73 6b 73 3a 72 65 6d 6f 76      (tasks:remov
07c0: 65 2d 6d 6f 6e 69 74 6f 72 2d 72 65 63 6f 72 64  e-monitor-record
07d0: 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a 72   . tasks#tasks:r
07e0: 65 6d 6f 76 65 2d 6d 6f 6e 69 74 6f 72 2d 72 65  emove-monitor-re
07f0: 63 6f 72 64 29 0a 20 20 20 20 28 74 61 73 6b 73  cord).    (tasks
0800: 3a 6e 65 65 64 2d 73 65 72 76 65 72 20 2e 20 74  :need-server . t
0810: 61 73 6b 73 23 74 61 73 6b 73 3a 6e 65 65 64 2d  asks#tasks:need-
0820: 73 65 72 76 65 72 29 0a 20 20 20 20 28 74 61 73  server).    (tas
0830: 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d  ks:hostinfo-get-
0840: 68 6f 73 74 6e 61 6d 65 20 2e 20 74 61 73 6b 73  hostname . tasks
0850: 23 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d  #tasks:hostinfo-
0860: 67 65 74 2d 68 6f 73 74 6e 61 6d 65 29 0a 20 20  get-hostname).  
0870: 20 20 28 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66    (tasks:hostinf
0880: 6f 2d 67 65 74 2d 70 69 64 20 2e 20 74 61 73 6b  o-get-pid . task
0890: 73 23 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f  s#tasks:hostinfo
08a0: 2d 67 65 74 2d 70 69 64 29 0a 20 20 20 20 28 74  -get-pid).    (t
08b0: 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65  asks:hostinfo-ge
08c0: 74 2d 74 72 61 6e 73 70 6f 72 74 20 2e 20 74 61  t-transport . ta
08d0: 73 6b 73 23 74 61 73 6b 73 3a 68 6f 73 74 69 6e  sks#tasks:hostin
08e0: 66 6f 2d 67 65 74 2d 74 72 61 6e 73 70 6f 72 74  fo-get-transport
08f0: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 68 6f 73  ).    (tasks:hos
0900: 74 69 6e 66 6f 2d 67 65 74 2d 70 75 62 70 6f 72  tinfo-get-pubpor
0910: 74 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a  t . tasks#tasks:
0920: 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 70 75 62  hostinfo-get-pub
0930: 70 6f 72 74 29 0a 20 20 20 20 28 74 61 73 6b 73  port).    (tasks
0940: 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 70 6f  :hostinfo-get-po
0950: 72 74 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73  rt . tasks#tasks
0960: 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 70 6f  :hostinfo-get-po
0970: 72 74 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 68  rt).    (tasks:h
0980: 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 69 6e 74 65  ostinfo-get-inte
0990: 72 66 61 63 65 20 2e 20 74 61 73 6b 73 23 74 61  rface . tasks#ta
09a0: 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74  sks:hostinfo-get
09b0: 2d 69 6e 74 65 72 66 61 63 65 29 0a 20 20 20 20  -interface).    
09c0: 28 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d  (tasks:hostinfo-
09d0: 67 65 74 2d 69 64 20 2e 20 74 61 73 6b 73 23 74  get-id . tasks#t
09e0: 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65  asks:hostinfo-ge
09f0: 74 2d 69 64 29 0a 20 20 20 20 28 74 61 73 6b 73  t-id).    (tasks
0a00: 3a 6f 70 65 6e 2d 64 62 20 2e 20 74 61 73 6b 73  :open-db . tasks
0a10: 23 74 61 73 6b 73 3a 6f 70 65 6e 2d 64 62 29 0a  #tasks:open-db).
0a20: 20 20 20 20 28 74 61 73 6b 73 3a 67 65 74 2d 74      (tasks:get-t
0a30: 61 73 6b 2d 64 62 2d 70 61 74 68 20 2e 20 74 61  ask-db-path . ta
0a40: 73 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d 74 61  sks#tasks:get-ta
0a50: 73 6b 2d 64 62 2d 70 61 74 68 29 0a 20 20 20 20  sk-db-path).    
0a60: 28 6d 61 6b 65 2d 74 61 73 6b 73 3a 6d 6f 6e 69  (make-tasks:moni
0a70: 74 6f 72 20 2e 20 74 61 73 6b 73 23 6d 61 6b 65  tor . tasks#make
0a80: 2d 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72 29 0a  -tasks:monitor).
0a90: 20 20 20 20 28 6d 61 6b 65 2d 74 61 73 6b 73 3a      (make-tasks:
0aa0: 74 61 73 6b 20 2e 20 74 61 73 6b 73 23 6d 61 6b  task . tasks#mak
0ab0: 65 2d 74 61 73 6b 73 3a 74 61 73 6b 29 29 0a 20  e-tasks:task)). 
0ac0: 20 28 6c 69 73 74 29 0a 20 20 28 6c 69 73 74 29   (list).  (list)
0ad0: 29 0a 0a 3b 3b 20 45 4e 44 20 4f 46 20 46 49 4c  )..;; END OF FIL
0ae0: 45 0a                                            E.