-
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathrendering.rkt
More file actions
70 lines (64 loc) · 1.67 KB
/
rendering.rkt
File metadata and controls
70 lines (64 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#lang racket/base
(require racket/contract/base
"list-count.rkt")
(define-struct rendering
(start end duration timeout? unclean-exit? stderr? responsible changed?)
#:prefab)
(define-struct (rendering.v2 rendering)
(random?)
#:prefab)
(define-struct (rendering.v3 rendering.v2)
(known-error?)
#:prefab)
(define (rendering-responsibles r)
(regexp-split #rx"," (rendering-responsible r)))
(define (rendering-random? r)
(cond
[(rendering.v2? r)
(rendering.v2-random? r)]
[else
#f]))
(define (rendering-known-error? r)
(cond
[(rendering.v3? r)
(rendering.v3-known-error? r)]
[else
#f]))
(define (rendering-ignorable? r)
(or (rendering-random? r)
(rendering-known-error? r)))
(provide/contract
[struct rendering
([start number?]
[end number?]
[duration number?]
[timeout? list/count]
[unclean-exit? list/count]
[stderr? list/count]
[responsible string?]
[changed? list/count])]
[struct rendering.v2
([start number?]
[end number?]
[duration number?]
[timeout? list/count]
[unclean-exit? list/count]
[stderr? list/count]
[responsible string?]
[changed? list/count]
[random? boolean?])]
[struct rendering.v3
([start number?]
[end number?]
[duration number?]
[timeout? list/count]
[unclean-exit? list/count]
[stderr? list/count]
[responsible string?]
[changed? list/count]
[random? boolean?]
[known-error? boolean?])]
[rendering-random? (rendering? . -> . boolean?)]
[rendering-known-error? (rendering? . -> . boolean?)]
[rendering-ignorable? (rendering? . -> . boolean?)]
[rendering-responsibles (rendering? . -> . (listof string?))])