-
Notifications
You must be signed in to change notification settings - Fork 10
/
dune-project
213 lines (201 loc) · 6.38 KB
/
dune-project
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
(lang dune 3.8)
(generate_opam_files)
(using dune_site 0.1)
(using mdx 0.4)
(version 0.5.0)
(name ortac)
(license MIT)
(source (github ocaml-gospel/ortac))
(maintainers "Nicolas Osborne <[email protected]>")
(authors
"Clément Pascutto <[email protected]>"
"Nicolas Osborne <[email protected]>"
"Samuel Hym <[email protected]>")
(package
(name ortac-core)
(synopsis
"Ortac (OCaml Runtime Assertion Checking) core tool and library based on Gospel")
(description
"\> Ortac (OCaml Runtime Assertion Checking) is a tool to turn
"\> executable Gospel specifications into code to test they hold.
"\> Ortac Core provides:
"\> - a library to turn Gospel terms and types into OCaml expressions
"\> and types,
"\> - and a command-line tool.
"\> You will need at least one of the Ortac plugins to actually
"\> generate test code.
)
(documentation "https://ocaml-gospel.github.io/ortac/ortac-core/")
(depends
(ocaml (>= 4.12.0))
dune-build-info
dune-site
(cmdliner (>= 1.1.0))
fmt
(ppxlib (>= 0.26.0))
(gospel (= 0.3.0))
(alcotest (and :with-test (>= 0.8.1)))
(ortac-runtime (and :with-test (= :version))))
(sites
(lib plugins))
(conflicts
(result (< 1.5))))
(package
(name ortac-runtime)
(synopsis "Runtime support library for Ortac-generated code")
(description
"\> The ortac-runtime library provides support for the code generated
"\> by the various Ortac plugins.
"\> Ortac (OCaml Runtime Assertion Checking) is a tool to turn
"\> executable Gospel specifications into code to test they hold.
)
(documentation "https://ocaml-gospel.github.io/ortac/ortac-runtime/")
(depends
(ocaml (>= 4.12.0))
(fmt (>= 0.8.7))
zarith
(monolith (and :with-test (>= 20201026)))))
; Wrapper plugin
(package
(name ortac-wrapper)
(synopsis "Wrapper plugin for Ortac")
(description
"\> The Wrapper plugin for the Ortac command-line tool (provided by the
"\> ortac-core package) can generate a wrapper module, ie a module that
"\> will wrap all function calls with runtime assertion checks that
"\> their specifications hold.
"\> Ortac (OCaml Runtime Assertion Checking) is a tool to turn
"\> executable Gospel specifications into code to test they hold.
)
(authors
"Clément Pascutto <[email protected]>"
"Nicolas Osborne <[email protected]>")
(depends
(ocaml (>= 4.12.0))
(cmdliner (>= 1.1.0))
fmt
(ppxlib (>= 0.26.0))
(gospel (= 0.3.0))
(alcotest (and :with-test (>= 0.8.1)))
(ortac-core (= :version))
(ortac-runtime (and :with-test (= :version)))))
; Monolith plugin
(package
(name ortac-monolith)
(synopsis "Monolith plugin for Ortac")
(description
"\> The Monolith plugin for the Ortac command-line tool (provided by
"\> the ortac-core package) can generate tests for a module with Gospel
"\> specifications. The generated code will test that the function
"\> specifications hold by using the Monolith library to compare the
"\> behaviours of the original module with a module that adds runtime
"\> checks around all function calls.
"\> Ortac (OCaml Runtime Assertion Checking) is a tool to turn
"\> executable Gospel specifications into code to test they hold.
)
(authors "Nicolas Osborne <[email protected]>")
(depends
(ocaml (>= 4.12.0))
(cmdliner (>= 1.1.0))
fmt
(ppxlib (>= 0.26.0))
(gospel (= 0.3.0))
(monolith (and :with-test (>= 20201026)))
(pprint :with-test)
(ortac-core (= :version))
ortac-wrapper
(ortac-runtime-monolith :with-test)))
(package
(name ortac-runtime-monolith)
(synopsis "Runtime support library for Ortac/Monolith-generated code")
(description
"\> The ortac-runtime-monolith library provides support for the code
"\> generated by the Ortac/Monolith plugin (provided by the
"\> ortac-monolith package).
"\>
"\> Ortac (OCaml Runtime Assertion Checking) is a tool to turn
"\> executable Gospel specifications into code to test they hold.
)
(authors "Nicolas Osborne <[email protected]>")
(depends
(ocaml (>= 4.12.0))
(monolith (>= 20201026))
pprint
(fmt (>= 0.9.0))
(ortac-runtime (= :version))))
; QCheck-STM plugin
(package
(name ortac-qcheck-stm)
(synopsis "QCheck-STM plugin for Ortac")
(description
"\> The QCheck-STM plugin for the Ortac command-line tool (provided by
"\> the ortac-core package) can generate model-based tests for a module
"\> with Gospel specifications. The generated code will test that the
"\> function specifications hold by using the QCheck-STM library to
"\> create random test cases.
"\>
"\> Ortac (OCaml Runtime Assertion Checking) is a tool to turn
"\> executable Gospel specifications into code to test they hold.
)
(authors
"Nicolas Osborne <[email protected]>"
"Samuel Hym <[email protected]>"
"Nikolaus Huber <[email protected]>")
(documentation "https://ocaml-gospel.github.io/ortac/ortac-qcheck-stm/")
(depends
(ocaml (>= 4.12.0))
(cmdliner (>= 1.1.0))
fmt
(ppxlib (>= 0.26.0))
(mdx (and :with-test (>= 2.3.0)))
(gospel (= 0.3.0))
(qcheck-stm (>= 0.5))
(ortac-core (= :version))
(ortac-runtime-qcheck-stm (= :version)))
(conflicts
(result (< 1.5))))
; Dune plugin
(package
(name ortac-dune)
(synopsis "Generate dune rules for other ortac plugins")
(description "Generate dune rules for other ortac plugins")
(authors
"Nicolas Osborne <[email protected]>")
(depends
(ocaml (>= 4.12.0))
fmt
(cmdliner (>= 1.1.0))
(ortac-core (= :version))
(ortac-qcheck-stm (and :with-test (= :version)))))
(package
(name ortac-runtime-qcheck-stm)
(synopsis "Runtime support library for Ortac/QCheck-STM-generated code")
(description
"\> The ortac-runtime-qcheck-stm library provides support for the code
"\> generated by the Ortac/QCheck-STM plugin (provided by the
"\> ortac-qcheck-stm package).
"\>
"\> Ortac (OCaml Runtime Assertion Checking) is a tool to turn
"\> executable Gospel specifications into code to test they hold.
)
(authors
"Nicolas Osborne <[email protected]>"
"Nikolaus Huber <[email protected]>")
(depends
(ocaml (>= 4.12.0))
(qcheck-stm (>= 0.5))
(ortac-runtime (= :version))))
(package
(name ortac-examples)
(synopsis
"Ortac examples on different libraries")
(authors
"Nicolas Osborne <[email protected]>"
"Samuel Hym <[email protected]>")
(depends
(ocaml (>= 4.12.0))
(ortac-core (= :version))
(ortac-qcheck-stm (= :version))
(ortac-dune (= :version))
lwt-dllist
(varray (>= 0.2))))