Megatest

Hex Artifact Content
Login

Artifact 1c9875ade7275430b6ef6371f25071050ad9bbde:


0000: 3b 3b 20 6d 61 6b 65 2d 76 65 63 74 6f 72 2d 72  ;; make-vector-r
0010: 65 63 6f 72 64 20 74 65 73 74 73 20 74 65 73 74  ecord tests test
0020: 71 75 65 75 65 20 74 65 73 74 6e 61 6d 65 20 74  queue testname t
0030: 65 73 74 63 6f 6e 66 69 67 20 77 61 69 74 6f 6e  estconfig waiton
0040: 73 20 70 72 69 6f 72 69 74 79 20 69 74 65 6d 73  s priority items
0050: 0a 28 64 65 66 69 6e 65 20 28 6d 61 6b 65 2d 74  .(define (make-t
0060: 65 73 74 73 3a 74 65 73 74 71 75 65 75 65 29 28  ests:testqueue)(
0070: 6d 61 6b 65 2d 76 65 63 74 6f 72 20 35 29 29 0a  make-vector 5)).
0080: 28 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28  (define-inline (
0090: 74 65 73 74 73 3a 74 65 73 74 71 75 65 75 65 2d  tests:testqueue-
00a0: 67 65 74 2d 74 65 73 74 6e 61 6d 65 20 20 20 20  get-testname    
00b0: 20 76 65 63 29 20 20 20 20 28 76 65 63 74 6f 72   vec)    (vector
00c0: 2d 72 65 66 20 20 76 65 63 20 30 29 29 0a 28 64  -ref  vec 0)).(d
00d0: 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 74 65  efine-inline (te
00e0: 73 74 73 3a 74 65 73 74 71 75 65 75 65 2d 67 65  sts:testqueue-ge
00f0: 74 2d 74 65 73 74 63 6f 6e 66 69 67 20 20 20 76  t-testconfig   v
0100: 65 63 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72  ec)    (vector-r
0110: 65 66 20 20 76 65 63 20 31 29 29 0a 28 64 65 66  ef  vec 1)).(def
0120: 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 74 65 73 74  ine-inline (test
0130: 73 3a 74 65 73 74 71 75 65 75 65 2d 67 65 74 2d  s:testqueue-get-
0140: 77 61 69 74 6f 6e 73 20 20 20 20 20 20 76 65 63  waitons      vec
0150: 29 20 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66  )    (vector-ref
0160: 20 20 76 65 63 20 32 29 29 0a 28 64 65 66 69 6e    vec 2)).(defin
0170: 65 2d 69 6e 6c 69 6e 65 20 28 74 65 73 74 73 3a  e-inline (tests:
0180: 74 65 73 74 71 75 65 75 65 2d 67 65 74 2d 70 72  testqueue-get-pr
0190: 69 6f 72 69 74 79 20 20 20 20 20 76 65 63 29 20  iority     vec) 
01a0: 20 20 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20     (vector-ref  
01b0: 76 65 63 20 33 29 29 0a 28 64 65 66 69 6e 65 2d  vec 3)).(define-
01c0: 69 6e 6c 69 6e 65 20 28 74 65 73 74 73 3a 74 65  inline (tests:te
01d0: 73 74 71 75 65 75 65 2d 67 65 74 2d 69 74 65 6d  stqueue-get-item
01e0: 73 20 20 20 20 20 20 20 20 76 65 63 29 20 20 20  s        vec)   
01f0: 20 28 76 65 63 74 6f 72 2d 72 65 66 20 20 76 65   (vector-ref  ve
0200: 63 20 34 29 29 0a 0a 28 64 65 66 69 6e 65 2d 69  c 4))..(define-i
0210: 6e 6c 69 6e 65 20 28 74 65 73 74 73 3a 74 65 73  nline (tests:tes
0220: 74 71 75 65 75 65 2d 73 65 74 2d 74 65 73 74 6e  tqueue-set-testn
0230: 61 6d 65 21 20 20 20 20 76 65 63 20 76 61 6c 29  ame!    vec val)
0240: 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76 65 63  (vector-set! vec
0250: 20 30 20 76 61 6c 29 29 0a 28 64 65 66 69 6e 65   0 val)).(define
0260: 2d 69 6e 6c 69 6e 65 20 28 74 65 73 74 73 3a 74  -inline (tests:t
0270: 65 73 74 71 75 65 75 65 2d 73 65 74 2d 74 65 73  estqueue-set-tes
0280: 74 63 6f 6e 66 69 67 21 20 20 76 65 63 20 76 61  tconfig!  vec va
0290: 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21 20 76  l)(vector-set! v
02a0: 65 63 20 31 20 76 61 6c 29 29 0a 28 64 65 66 69  ec 1 val)).(defi
02b0: 6e 65 2d 69 6e 6c 69 6e 65 20 28 74 65 73 74 73  ne-inline (tests
02c0: 3a 74 65 73 74 71 75 65 75 65 2d 73 65 74 2d 77  :testqueue-set-w
02d0: 61 69 74 6f 6e 73 21 20 20 20 20 20 76 65 63 20  aitons!     vec 
02e0: 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65 74 21  val)(vector-set!
02f0: 20 76 65 63 20 32 20 76 61 6c 29 29 0a 28 64 65   vec 2 val)).(de
0300: 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 74 65 73  fine-inline (tes
0310: 74 73 3a 74 65 73 74 71 75 65 75 65 2d 73 65 74  ts:testqueue-set
0320: 2d 70 72 69 6f 72 69 74 79 21 20 20 20 20 76 65  -priority!    ve
0330: 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d 73 65  c val)(vector-se
0340: 74 21 20 76 65 63 20 33 20 76 61 6c 29 29 0a 28  t! vec 3 val)).(
0350: 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 20 28 74  define-inline (t
0360: 65 73 74 73 3a 74 65 73 74 71 75 65 75 65 2d 73  ests:testqueue-s
0370: 65 74 2d 69 74 65 6d 73 21 20 20 20 20 20 20 20  et-items!       
0380: 76 65 63 20 76 61 6c 29 28 76 65 63 74 6f 72 2d  vec val)(vector-
0390: 73 65 74 21 20 76 65 63 20 34 20 76 61 6c 29 29  set! vec 4 val))
03a0: 0a                                               .