Commit | Line | Data |
---|---|---|
8a40a964 | 1 | ;;; GNU Guix --- Functional package management for GNU |
83a7d424 GLV |
2 | ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> |
3 | ;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> | |
4 | ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz> | |
5 | ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> | |
6 | ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> | |
7 | ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> | |
8 | ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> | |
8a40a964 | 9 | ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> |
49347291 | 10 | ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> |
8a40a964 SH |
11 | ;;; |
12 | ;;; This file is part of GNU Guix. | |
13 | ;;; | |
14 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | |
15 | ;;; under the terms of the GNU General Public License as published by | |
16 | ;;; the Free Software Foundation; either version 3 of the License, or (at | |
17 | ;;; your option) any later version. | |
18 | ;;; | |
19 | ;;; GNU Guix is distributed in the hope that it will be useful, but | |
20 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
21 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
22 | ;;; GNU General Public License for more details. | |
23 | ;;; | |
24 | ;;; You should have received a copy of the GNU General Public License | |
25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | |
26 | ||
49347291 CJ |
27 | ;;; This module only contains Common Lisp libraries related to code testing |
28 | ;;; facilities. | |
29 | ||
8a40a964 SH |
30 | (define-module (gnu packages lisp-check) |
31 | #:use-module (gnu packages) | |
32 | #:use-module ((guix licenses) #:prefix license:) | |
33 | #:use-module (gnu packages lisp-xyz) | |
34 | #:use-module (guix packages) | |
35 | #:use-module (guix git-download) | |
36 | #:use-module (guix build-system asdf)) | |
37 | ||
83a7d424 GLV |
38 | (define-public sbcl-1am |
39 | (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5")) | |
40 | (package | |
41 | (name "sbcl-1am") | |
42 | (version (git-version "0.0" "1" commit)) | |
43 | (source | |
44 | (origin | |
45 | (method git-fetch) | |
46 | (uri (git-reference | |
47 | (url "https://github.com/lmj/1am") | |
48 | (commit commit))) | |
49 | (file-name (git-file-name name version)) | |
50 | (sha256 | |
51 | (base32 | |
52 | "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g")))) | |
53 | (build-system asdf-build-system/sbcl) | |
54 | (home-page "https://github.com/lmj/1am") | |
55 | (synopsis "Minimal testing framework for Common Lisp") | |
56 | (description "A minimal testing framework for Common Lisp.") | |
57 | (license license:expat)))) | |
58 | ||
59 | (define-public cl-1am | |
60 | (sbcl-package->cl-source-package sbcl-1am)) | |
61 | ||
62 | (define-public ecl-1am | |
63 | (sbcl-package->ecl-package sbcl-1am)) | |
64 | ||
65 | (define-public sbcl-check-it | |
66 | (let ((commit "b79c9103665be3976915b56b570038f03486e62f")) | |
67 | (package | |
68 | (name "sbcl-check-it") | |
69 | (version (git-version "0.1.0" "1" commit)) | |
70 | (source | |
71 | (origin | |
72 | (method git-fetch) | |
73 | (uri (git-reference | |
74 | (url "https://github.com/DalekBaldwin/check-it/") | |
75 | (commit commit))) | |
76 | (file-name (git-file-name name version)) | |
77 | (sha256 | |
78 | (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7")))) | |
79 | (build-system asdf-build-system/sbcl) | |
80 | (inputs | |
e3196755 | 81 | (list sbcl-alexandria sbcl-closer-mop sbcl-optima)) |
83a7d424 | 82 | (native-inputs |
8394619b | 83 | (list sbcl-stefil)) |
83a7d424 GLV |
84 | (home-page "https://github.com/arclanguage/Clamp") |
85 | (synopsis "Randomized specification-based testing for Common Lisp") | |
86 | (description | |
87 | "This is a randomized property-based testing library for Common Lisp. | |
88 | Rather than being a full-fledged general test framework in its own right, it's | |
89 | designed to embed randomized tests in whatever framework you like.") | |
90 | (license license:llgpl)))) | |
91 | ||
92 | (define-public cl-check-it | |
93 | (sbcl-package->cl-source-package sbcl-check-it)) | |
94 | ||
95 | (define-public ecl-check-it | |
96 | (sbcl-package->ecl-package sbcl-check-it)) | |
97 | ||
98 | (define-public sbcl-checkl | |
99 | (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9") | |
100 | (revision "1")) | |
101 | (package | |
102 | (name "sbcl-checkl") | |
103 | (version (git-version "0.0.0" revision commit)) | |
104 | (source | |
105 | (origin | |
106 | (method git-fetch) | |
107 | (uri (git-reference | |
108 | (url "https://github.com/rpav/CheckL") | |
109 | (commit commit))) | |
110 | (file-name (git-file-name name version)) | |
111 | (sha256 | |
112 | (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx")))) | |
113 | (build-system asdf-build-system/sbcl) | |
114 | (arguments | |
115 | ;; Error while trying to load definition for system checkl-test from | |
116 | ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP | |
117 | ;; is undefined. | |
118 | '(#:asd-files '("checkl.asd") | |
119 | #:tests? #f)) | |
120 | (native-inputs | |
8394619b | 121 | (list sbcl-fiveam)) |
83a7d424 | 122 | (inputs |
8394619b | 123 | (list sbcl-marshal)) |
83a7d424 GLV |
124 | (home-page "https://github.com/rpav/CheckL/") |
125 | (synopsis "Dynamic testing for Common Lisp") | |
126 | (description | |
127 | "CheckL lets you write tests dynamically, it checks resulting values | |
128 | against the last run.") | |
129 | ;; The author specifies both LLGPL and "BSD", but the "BSD" license | |
130 | ;; isn't specified anywhere, so I don't know which kind. LLGPL is the | |
131 | ;; stronger of the two and so I think only listing this should suffice. | |
132 | (license license:llgpl)))) | |
133 | ||
134 | (define-public cl-checkl | |
135 | (sbcl-package->cl-source-package sbcl-checkl)) | |
136 | ||
137 | (define-public ecl-checkl | |
138 | (sbcl-package->ecl-package sbcl-checkl)) | |
139 | ||
140 | (define-public sbcl-cl-mock | |
141 | ;; .asd version only got updated recently, despired the old GitHug "1.0.1" release. | |
142 | (let ((commit "7988dca2093358911b67597a2cd1570c785dfe76")) | |
143 | (package | |
144 | (name "sbcl-cl-mock") | |
145 | (version (git-version "1.0.1" "1" commit)) | |
146 | (source | |
147 | (origin | |
148 | (method git-fetch) | |
149 | (uri (git-reference | |
150 | (url "https://github.com/Ferada/cl-mock/") | |
151 | (commit commit))) | |
152 | (file-name (git-file-name name version)) | |
153 | (sha256 | |
154 | (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1")))) | |
155 | (build-system asdf-build-system/sbcl) | |
156 | (inputs | |
e3196755 | 157 | (list sbcl-alexandria sbcl-closer-mop sbcl-trivia)) |
83a7d424 | 158 | (native-inputs |
8394619b | 159 | (list sbcl-fiveam)) |
83a7d424 GLV |
160 | (home-page "https://github.com/Ferada/cl-mock") |
161 | (synopsis "Mocking functions for Common Lisp testing") | |
162 | (description | |
163 | "This small library provides a way to replace the actual implementation | |
164 | of either regular or generic functions with mocks.") | |
165 | (license license:agpl3)))) | |
166 | ||
167 | (define-public ecl-cl-mock | |
168 | (sbcl-package->ecl-package sbcl-cl-mock)) | |
169 | ||
170 | (define-public cl-mock | |
171 | (sbcl-package->cl-source-package sbcl-cl-mock)) | |
172 | ||
173 | (define-public sbcl-cl-quickcheck | |
174 | (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f") | |
175 | (revision "1")) | |
176 | (package | |
177 | (name "sbcl-cl-quickcheck") | |
178 | (version (git-version "0.0.4" revision commit)) | |
179 | (source | |
180 | (origin | |
181 | (method git-fetch) | |
182 | (uri (git-reference | |
183 | (url "https://github.com/mcandre/cl-quickcheck") | |
184 | (commit commit))) | |
185 | (file-name (git-file-name name version)) | |
186 | (sha256 | |
187 | (base32 | |
188 | "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767")))) | |
189 | (build-system asdf-build-system/sbcl) | |
190 | (synopsis | |
191 | "Common Lisp port of the QuickCheck unit test framework") | |
192 | (description | |
193 | "Common Lisp port of the QuickCheck unit test framework") | |
194 | (home-page "https://github.com/mcandre/cl-quickcheck") | |
195 | ;; MIT | |
196 | (license license:expat)))) | |
197 | ||
198 | (define-public cl-quickcheck | |
199 | (sbcl-package->cl-source-package sbcl-cl-quickcheck)) | |
200 | ||
201 | (define-public ecl-cl-quickcheck | |
202 | (sbcl-package->ecl-package sbcl-cl-quickcheck)) | |
203 | ||
204 | (define-public sbcl-clunit | |
205 | (let ((commit "6f6d72873f0e1207f037470105969384f8380628") | |
206 | (revision "1")) | |
207 | (package | |
208 | (name "sbcl-clunit") | |
209 | (version (git-version "0.2.3" revision commit)) | |
210 | (source | |
211 | (origin | |
212 | (method git-fetch) | |
213 | (uri (git-reference | |
214 | (url "https://github.com/tgutu/clunit") | |
215 | (commit commit))) | |
216 | (file-name (git-file-name name version)) | |
217 | (sha256 | |
218 | (base32 | |
219 | "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85")))) | |
220 | (build-system asdf-build-system/sbcl) | |
221 | (synopsis "CLUnit is a Common Lisp unit testing framework") | |
222 | (description | |
223 | "CLUnit is a Common Lisp unit testing framework. It is designed | |
224 | to be easy to use so that you can quickly start testing. CLUnit | |
225 | provides a rich set of features aimed at improving your unit testing | |
226 | experience.") | |
227 | (home-page "https://tgutu.github.io/clunit/") | |
228 | ;; MIT License | |
229 | (license license:expat)))) | |
230 | ||
231 | (define-public cl-clunit | |
232 | (sbcl-package->cl-source-package sbcl-clunit)) | |
233 | ||
234 | (define-public ecl-clunit | |
235 | (sbcl-package->ecl-package sbcl-clunit)) | |
236 | ||
237 | (define-public sbcl-clunit2 | |
238 | (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b") | |
239 | (revision "1")) | |
240 | (package | |
241 | (name "sbcl-clunit2") | |
242 | (version (git-version "0.2.4" revision commit)) | |
243 | (source | |
244 | (origin | |
245 | (method git-fetch) | |
246 | (uri (git-reference | |
247 | (url "https://notabug.org/cage/clunit2.git") | |
248 | (commit commit))) | |
249 | (file-name (git-file-name name version)) | |
250 | (sha256 | |
251 | (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw")))) | |
252 | (build-system asdf-build-system/sbcl) | |
253 | (synopsis "Unit testing framework for Common Lisp") | |
254 | (description | |
255 | "CLUnit is a Common Lisp unit testing framework. It is designed to be | |
256 | easy to use so that you can quickly start testing.") | |
257 | (home-page "https://notabug.org/cage/clunit2") | |
258 | (license license:expat)))) | |
259 | ||
260 | (define-public cl-clunit2 | |
261 | (sbcl-package->cl-source-package sbcl-clunit2)) | |
262 | ||
263 | (define-public ecl-clunit2 | |
264 | (sbcl-package->ecl-package sbcl-clunit2)) | |
265 | ||
266 | (define-public sbcl-eos | |
267 | (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243") | |
268 | (revision "2")) | |
269 | (package | |
270 | (name "sbcl-eos") | |
271 | (version (git-version "0.0.0" revision commit)) | |
272 | (source | |
273 | (origin | |
274 | (method git-fetch) | |
275 | (uri (git-reference | |
276 | (url "https://github.com/adlai/Eos") | |
277 | (commit commit))) | |
278 | (sha256 | |
279 | (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk")) | |
280 | (file-name (git-file-name "eos" version)))) | |
281 | (build-system asdf-build-system/sbcl) | |
282 | (synopsis "Unit Testing for Common Lisp") | |
283 | (description | |
284 | "Eos was a unit testing library for Common Lisp. | |
285 | It began as a fork of FiveAM; however, FiveAM development has continued, while | |
286 | that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.") | |
287 | (home-page "https://github.com/adlai/Eos") | |
288 | (license license:expat)))) | |
289 | ||
290 | (define-public cl-eos | |
291 | (sbcl-package->cl-source-package sbcl-eos)) | |
292 | ||
293 | (define-public ecl-eos | |
294 | (sbcl-package->ecl-package sbcl-eos)) | |
295 | ||
296 | (define-public sbcl-fiasco | |
0502be5b SH |
297 | (let ((commit "bb47d2fef4eb24cc16badc1c9a73d73c3a7e18f5") |
298 | (revision "2")) | |
83a7d424 GLV |
299 | (package |
300 | (name "sbcl-fiasco") | |
301 | (version (git-version "0.0.1" revision commit)) | |
302 | (source | |
303 | (origin | |
304 | (method git-fetch) | |
305 | (uri (git-reference | |
306 | (url "https://github.com/joaotavora/fiasco") | |
307 | (commit commit))) | |
308 | (file-name (git-file-name "fiasco" version)) | |
309 | (sha256 | |
310 | (base32 | |
0502be5b | 311 | "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw")))) |
83a7d424 GLV |
312 | (build-system asdf-build-system/sbcl) |
313 | (inputs | |
e3196755 | 314 | (list sbcl-alexandria sbcl-trivial-gray-streams)) |
83a7d424 GLV |
315 | (synopsis "Simple and powerful test framework for Common Lisp") |
316 | (description "A Common Lisp test framework that treasures your failures, | |
317 | logical continuation of Stefil. It focuses on interactive debugging.") | |
318 | (home-page "https://github.com/joaotavora/fiasco") | |
319 | ;; LICENCE specifies this is public-domain unless the legislation | |
320 | ;; doesn't allow or recognize it. In that case it falls back to a | |
321 | ;; permissive licence. | |
322 | (license (list license:public-domain | |
323 | (license:x11-style "file://LICENCE")))))) | |
324 | ||
325 | (define-public cl-fiasco | |
326 | (sbcl-package->cl-source-package sbcl-fiasco)) | |
327 | ||
328 | (define-public ecl-fiasco | |
329 | (sbcl-package->ecl-package sbcl-fiasco)) | |
330 | ||
331 | (define-public sbcl-fiveam | |
332 | (package | |
333 | (name "sbcl-fiveam") | |
334 | (version "1.4.2") | |
335 | (source | |
336 | (origin | |
337 | (method git-fetch) | |
338 | (uri (git-reference | |
339 | (url "https://github.com/sionescu/fiveam") | |
340 | (commit (string-append "v" version)))) | |
341 | (file-name (git-file-name "fiveam" version)) | |
342 | (sha256 | |
343 | (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j")))) | |
344 | (inputs | |
e3196755 LC |
345 | (list sbcl-alexandria sbcl-net.didierverna.asdf-flv |
346 | sbcl-trivial-backtrace)) | |
83a7d424 GLV |
347 | (build-system asdf-build-system/sbcl) |
348 | (synopsis "Common Lisp testing framework") | |
349 | (description "FiveAM is a simple (as far as writing and running tests | |
350 | goes) regression testing framework. It has been designed with Common Lisp's | |
351 | interactive development model in mind.") | |
352 | (home-page "https://common-lisp.net/project/fiveam/") | |
353 | (license license:bsd-3))) | |
354 | ||
355 | (define-public cl-fiveam | |
356 | (sbcl-package->cl-source-package sbcl-fiveam)) | |
357 | ||
358 | (define-public ecl-fiveam | |
359 | (sbcl-package->ecl-package sbcl-fiveam)) | |
360 | ||
361 | (define-public sbcl-hu.dwim.stefil | |
362 | (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad")) | |
363 | (package | |
364 | (name "sbcl-hu.dwim.stefil") | |
365 | (version (git-version "0.0.0" "2" commit)) | |
366 | (source | |
367 | (origin | |
368 | (method git-fetch) | |
369 | (uri | |
370 | (git-reference | |
371 | (url "https://github.com/hu-dwim/hu.dwim.stefil") | |
372 | (commit commit))) | |
373 | (sha256 | |
374 | (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc")) | |
375 | (file-name (git-file-name "hu.dwim.stefil" version)))) | |
376 | (build-system asdf-build-system/sbcl) | |
377 | (native-inputs | |
8394619b | 378 | (list sbcl-hu.dwim.asdf)) |
83a7d424 | 379 | (inputs |
8394619b | 380 | (list sbcl-alexandria)) |
83a7d424 GLV |
381 | (home-page "http://dwim.hu/project/hu.dwim.stefil") |
382 | (synopsis "Simple test framework") | |
383 | (description "Stefil is a simple test framework for Common Lisp, | |
384 | with a focus on interactive development.") | |
385 | (license license:public-domain)))) | |
386 | ||
387 | (define-public cl-hu.dwim.stefil | |
388 | (sbcl-package->cl-source-package sbcl-hu.dwim.stefil)) | |
389 | ||
390 | (define-public ecl-hu.dwim.stefil | |
391 | (sbcl-package->ecl-package sbcl-hu.dwim.stefil)) | |
392 | ||
07a68587 SH |
393 | (define-public sbcl-kaputt |
394 | (let ((commit "f26c9b0f8219fe61d86249198ef85174eecafc10") | |
395 | (revision "1")) | |
396 | (package | |
397 | (name "sbcl-kaputt") | |
398 | (version (git-version "0.0.0" revision commit)) | |
399 | (source | |
400 | (origin | |
401 | (method git-fetch) | |
402 | (uri (git-reference | |
403 | (url "https://github.com/foretspaisibles/cl-kaputt") | |
404 | (commit commit))) | |
405 | (file-name (git-file-name "kaputt" version)) | |
406 | (sha256 | |
407 | (base32 "10a78032vnf12kjjpfmq9ign38cad237ycyq37dwnx922nxjjaj4")))) | |
408 | (build-system asdf-build-system/sbcl) | |
409 | (inputs | |
e3196755 | 410 | (list sbcl-cl-ppcre)) |
07a68587 SH |
411 | (home-page "https://github.com/foretspaisibles/cl-kaputt") |
412 | (synopsis "Simple interactive test framework for Common Lisp") | |
413 | (description | |
414 | "KAPUTT is a test framework for Common Lisp that focuses on the | |
415 | following features: | |
416 | ||
417 | @itemize | |
418 | @item KAPUTT is simple, it only defines three abstractions testcase, assertion | |
419 | and protocol and does not add any artefact on the backtrace when errors occur. | |
420 | ||
421 | @item KAPUTT is extensible, it is possible to add problem-specific assertions | |
422 | to make test code more informative. | |
423 | ||
424 | @item KAPUTT fits well interactive development. | |
425 | @end itemize\n") | |
426 | (license license:cecill-b)))) | |
427 | ||
428 | (define-public ecl-kaputt | |
429 | (sbcl-package->ecl-package sbcl-kaputt)) | |
430 | ||
431 | (define-public cl-kaputt | |
432 | (sbcl-package->cl-source-package sbcl-kaputt)) | |
433 | ||
83a7d424 GLV |
434 | (define-public sbcl-lift |
435 | (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852") | |
436 | (revision "2")) | |
437 | (package | |
438 | (name "sbcl-lift") | |
439 | (version (git-version "1.7.1" revision commit)) | |
440 | (source | |
441 | (origin | |
442 | (method git-fetch) | |
443 | (uri (git-reference | |
444 | (url "https://github.com/gwkkwg/lift") | |
445 | (commit commit))) | |
446 | (sha256 | |
447 | (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3")) | |
448 | (file-name (git-file-name "lift" version)) | |
449 | (modules '((guix build utils))) | |
450 | (snippet | |
451 | ;; Don't keep the bundled website | |
452 | `(begin | |
453 | (delete-file-recursively "website") | |
454 | #t)))) | |
455 | (build-system asdf-build-system/sbcl) | |
456 | (arguments | |
457 | ;; The tests require a debugger, but we run with the debugger disabled. | |
458 | '(#:tests? #f)) | |
459 | (synopsis "LIsp Framework for Testing") | |
460 | (description | |
461 | "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP. | |
462 | Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT, | |
463 | testcases are organized into hierarchical testsuites each of which can have | |
464 | its own fixture. When run, a testcase can succeed, fail, or error. LIFT | |
465 | supports randomized testing, benchmarking, profiling, and reporting.") | |
466 | (home-page "https://github.com/gwkkwg/lift") | |
467 | (license license:expat)))) | |
468 | ||
469 | (define-public cl-lift | |
470 | (sbcl-package->cl-source-package sbcl-lift)) | |
471 | ||
472 | (define-public ecl-lift | |
473 | (sbcl-package->ecl-package sbcl-lift)) | |
474 | ||
475 | (define-public sbcl-lisp-unit | |
476 | (let ((commit "89653a232626b67400bf9a941f9b367da38d3815")) | |
477 | (package | |
478 | (name "sbcl-lisp-unit") | |
479 | (version (git-version "0.0.0" "1" commit)) | |
480 | (source | |
481 | (origin | |
482 | (method git-fetch) | |
483 | (uri (git-reference | |
484 | (url "https://github.com/OdonataResearchLLC/lisp-unit") | |
485 | (commit commit))) | |
486 | (sha256 | |
487 | (base32 | |
488 | "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry")) | |
489 | (file-name (git-file-name "lisp-unit" version)))) | |
490 | (build-system asdf-build-system/sbcl) | |
491 | (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use") | |
492 | (description | |
493 | "@command{lisp-unit} is a Common Lisp library that supports unit | |
494 | testing. It is an extension of the library written by Chris Riesbeck.") | |
495 | (home-page "https://github.com/OdonataResearchLLC/lisp-unit") | |
496 | (license license:expat)))) | |
497 | ||
498 | (define-public cl-lisp-unit | |
499 | (sbcl-package->cl-source-package sbcl-lisp-unit)) | |
500 | ||
501 | (define-public ecl-lisp-unit | |
502 | (sbcl-package->ecl-package sbcl-lisp-unit)) | |
503 | ||
504 | (define-public sbcl-lisp-unit2 | |
505 | ;; There is a cyclical dependency between symbol-munger and lisp-unit2. | |
506 | ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 | |
507 | (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c") | |
508 | (revision "1")) | |
509 | (package | |
510 | (name "sbcl-lisp-unit2") | |
511 | (version (git-version "0.2.0" revision commit)) | |
512 | (source | |
513 | (origin | |
514 | (method git-fetch) | |
515 | (uri (git-reference | |
516 | (url "https://github.com/AccelerationNet/lisp-unit2") | |
517 | (commit commit))) | |
518 | (file-name (git-file-name name version)) | |
519 | (sha256 | |
520 | (base32 | |
521 | "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp")))) | |
522 | (build-system asdf-build-system/sbcl) | |
523 | (inputs | |
e3196755 LC |
524 | (list sbcl-alexandria sbcl-cl-interpol sbcl-iterate |
525 | sbcl-symbol-munger)) | |
83a7d424 GLV |
526 | (synopsis "Test Framework for Common Lisp") |
527 | (description | |
528 | "LISP-UNIT2 is a Common Lisp library that supports unit testing in the | |
529 | style of JUnit for Java. It is a new version of the lisp-unit library written | |
530 | by Chris Riesbeck.") | |
531 | (home-page "https://github.com/AccelerationNet/lisp-unit2") | |
532 | (license license:expat)))) | |
533 | ||
534 | (define-public cl-lisp-unit2 | |
535 | (sbcl-package->cl-source-package sbcl-lisp-unit2)) | |
536 | ||
537 | (define-public ecl-lisp-unit2 | |
538 | (sbcl-package->ecl-package sbcl-lisp-unit2)) | |
539 | ||
8a40a964 SH |
540 | (define-public sbcl-nst |
541 | (let ((commit "6c0990f594abcf5887e8d80f1035e3b60454b61b") | |
542 | (revision "1")) | |
543 | (package | |
544 | (name "sbcl-nst") | |
545 | (version (git-version "4.1.2" revision commit)) | |
546 | (source | |
547 | (origin | |
548 | (method git-fetch) | |
549 | (uri (git-reference | |
550 | (url "https://github.com/jphmrst/cl-nst") | |
551 | (commit commit))) | |
552 | (file-name (git-file-name "nst" version)) | |
553 | (sha256 | |
554 | (base32 "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga")))) | |
555 | (build-system asdf-build-system/sbcl) | |
556 | (inputs | |
e3196755 | 557 | (list sbcl-closer-mop sbcl-org-sampler)) |
8a40a964 SH |
558 | (home-page "https://github.com/jphmrst/cl-nst") |
559 | (synopsis "Unit testing for Common Lisp") | |
560 | (description | |
561 | "NST is a unit/regression testing system for Common Lisp.") | |
562 | (license license:llgpl)))) | |
563 | ||
564 | (define-public ecl-nst | |
565 | (sbcl-package->ecl-package sbcl-nst)) | |
566 | ||
567 | (define-public cl-nst | |
568 | (sbcl-package->cl-source-package sbcl-nst)) | |
569 | ||
83a7d424 GLV |
570 | (define-public sbcl-parachute |
571 | (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666") | |
572 | (revision "0")) | |
573 | (package | |
574 | (name "sbcl-parachute") | |
575 | (version (git-version "1.1.1" revision commit)) | |
576 | (source | |
577 | (origin | |
578 | (method git-fetch) | |
579 | (uri | |
580 | (git-reference | |
581 | (url "https://github.com/Shinmera/parachute") | |
582 | (commit commit))) | |
583 | (file-name (git-file-name name version)) | |
584 | (sha256 | |
585 | (base32 | |
586 | "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60")))) | |
587 | (build-system asdf-build-system/sbcl) | |
588 | (inputs | |
e3196755 | 589 | (list sbcl-documentation-utils sbcl-form-fiddle)) |
83a7d424 GLV |
590 | (synopsis "Extensible and cross-compatible testing framework for Common Lisp") |
591 | (description | |
592 | "Parachute is a simple-to-use and extensible testing framework. | |
593 | In Parachute, things are organised as a bunch of named tests within a package. | |
594 | Each test can contain a bunch of test forms that make up its body.") | |
595 | (home-page "https://shinmera.github.io/parachute/") | |
596 | (license license:zlib)))) | |
597 | ||
598 | (define-public cl-parachute | |
599 | (sbcl-package->cl-source-package sbcl-parachute)) | |
600 | ||
601 | (define-public ecl-parachute | |
602 | (sbcl-package->ecl-package sbcl-parachute)) | |
603 | ||
604 | (define-public sbcl-prove | |
605 | (let ((commit "5d71f02795b89e36f34e8c7d50e69b67ec6ca2de") | |
606 | (revision "2")) | |
607 | (package | |
608 | (name "sbcl-prove") | |
609 | (version (git-version "1.0.0" revision commit)) | |
610 | (source | |
611 | (origin | |
612 | (method git-fetch) | |
613 | (uri (git-reference | |
614 | (url "https://github.com/fukamachi/prove") | |
615 | (commit commit))) | |
616 | (sha256 | |
617 | (base32 "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc")) | |
618 | (file-name (git-file-name "prove" version)))) | |
619 | (build-system asdf-build-system/sbcl) | |
620 | (inputs | |
e3196755 LC |
621 | (list sbcl-alexandria sbcl-cl-colors sbcl-cl-ppcre |
622 | sbcl-cl-ansi-text)) | |
83a7d424 GLV |
623 | (synopsis "Yet another unit testing framework for Common Lisp") |
624 | (description | |
625 | "This project was originally called @command{cl-test-more}. | |
626 | @command{prove} is yet another unit testing framework for Common Lisp. The | |
627 | advantages of @command{prove} are: | |
628 | ||
629 | @itemize | |
630 | @item Various simple functions for testing and informative error messages | |
631 | @item ASDF integration | |
632 | @item Extensible test reporters | |
633 | @item Colorizes the report if it's available (note for SLIME) | |
634 | @item Reports test durations | |
635 | @end itemize\n") | |
636 | (home-page "https://github.com/fukamachi/prove") | |
637 | (license license:expat)))) | |
638 | ||
639 | (define-public cl-prove | |
640 | (sbcl-package->cl-source-package sbcl-prove)) | |
641 | ||
642 | (define-public ecl-prove | |
643 | (sbcl-package->ecl-package sbcl-prove)) | |
644 | ||
645 | (define-public sbcl-ptester | |
646 | (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253") | |
647 | (revision "1")) | |
648 | (package | |
649 | (name "sbcl-ptester") | |
650 | (version (git-version "2.1.3" revision commit)) | |
651 | (source | |
652 | (origin | |
653 | (method git-fetch) | |
654 | (uri (git-reference | |
655 | (url "http://git.kpe.io/ptester.git") | |
656 | (commit commit))) | |
657 | (file-name (git-file-name name version)) | |
658 | (sha256 | |
659 | (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf")))) | |
660 | (build-system asdf-build-system/sbcl) | |
661 | (home-page "http://quickdocs.org/ptester/") | |
662 | (synopsis "Portable test harness package") | |
663 | (description | |
664 | "@command{ptester} is a portable testing framework based on Franz's | |
665 | tester module.") | |
666 | (license license:llgpl)))) | |
667 | ||
668 | (define-public cl-ptester | |
669 | (sbcl-package->cl-source-package sbcl-ptester)) | |
670 | ||
671 | (define-public ecl-ptester | |
672 | (sbcl-package->ecl-package sbcl-ptester)) | |
673 | ||
674 | (define-public sbcl-rove | |
675 | (package | |
676 | (name "sbcl-rove") | |
677 | (version "0.9.6") | |
678 | (source | |
679 | (origin | |
680 | (method git-fetch) | |
681 | (uri (git-reference | |
682 | (url "https://github.com/fukamachi/rove") | |
683 | (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21"))) | |
684 | (file-name (git-file-name name version)) | |
685 | (sha256 | |
686 | (base32 | |
687 | "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q")))) | |
688 | (build-system asdf-build-system/sbcl) | |
689 | (inputs | |
e3196755 | 690 | (list sbcl-bordeaux-threads sbcl-dissect sbcl-trivial-gray-streams)) |
83a7d424 GLV |
691 | (home-page "https://github.com/fukamachi/rove") |
692 | (synopsis | |
693 | "Yet another common lisp testing library") | |
694 | (description | |
695 | "Rove is a unit testing framework for Common Lisp applications. | |
696 | This is intended to be a successor of Prove.") | |
697 | (license license:bsd-3))) | |
698 | ||
699 | (define-public cl-rove | |
700 | (sbcl-package->cl-source-package sbcl-rove)) | |
701 | ||
702 | (define-public ecl-rove | |
703 | (sbcl-package->ecl-package sbcl-rove)) | |
704 | ||
705 | (define-public sbcl-rt | |
706 | (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a") | |
707 | (revision "1")) | |
708 | (package | |
709 | (name "sbcl-rt") | |
710 | (version (git-version "1990.12.19" revision commit)) | |
711 | (source | |
712 | (origin | |
713 | (method git-fetch) | |
714 | (uri (git-reference | |
715 | (url "http://git.kpe.io/rt.git") | |
716 | (commit commit))) | |
717 | (file-name (git-file-name name version)) | |
718 | (sha256 | |
719 | (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b")))) | |
720 | (build-system asdf-build-system/sbcl) | |
721 | (synopsis "MIT Regression Tester") | |
722 | (description | |
723 | "RT provides a framework for writing regression test suites.") | |
724 | (home-page "https://www.cliki.net/rt") | |
725 | (license license:expat)))) | |
726 | ||
727 | (define-public cl-rt | |
728 | (sbcl-package->cl-source-package sbcl-rt)) | |
729 | ||
730 | (define-public ecl-rt | |
731 | (sbcl-package->ecl-package sbcl-rt)) | |
732 | ||
49347291 CJ |
733 | (define-public sbcl-should-test |
734 | (let ((commit "48facb9f9c07aeceb71fc0c48ce17fd7d54a09d4") | |
735 | (revision "0")) | |
736 | (package | |
737 | (name "sbcl-should-test") | |
738 | (version (git-version "1.0.0" revision commit)) | |
739 | (source | |
740 | (origin | |
741 | (method git-fetch) | |
742 | (uri (git-reference | |
743 | (url "https://github.com/vseloved/should-test") | |
744 | (commit commit))) | |
745 | (file-name (git-file-name "should-test" version)) | |
746 | (sha256 | |
747 | (base32 "1fqqa7lhf28qg60ji9libkylkcy747x576qpjn1y7c945j2fxmnm")))) | |
748 | (build-system asdf-build-system/sbcl) | |
749 | (inputs | |
e3196755 | 750 | (list sbcl-cl-ppcre sbcl-local-time sbcl-osicat sbcl-rutils)) |
49347291 CJ |
751 | (home-page "https://github.com/vseloved/should-test") |
752 | (synopsis "Minimal yet feature-rich Common Lisp test framework") | |
753 | (description | |
754 | "SHOULD-TEST is a methodology-agnostic and non-opinionated Common Lisp | |
755 | test framework, i.e. it doesn't care what kind of test approach you'd like to | |
756 | take.") | |
757 | (license license:expat)))) | |
758 | ||
759 | (define-public cl-should-test | |
760 | (sbcl-package->cl-source-package sbcl-should-test)) | |
761 | ||
762 | (define-public ecl-should-test | |
763 | (sbcl-package->ecl-package sbcl-should-test)) | |
83a7d424 GLV |
764 | |
765 | (define-public sbcl-stefil | |
766 | (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a") | |
767 | (revision "0")) | |
768 | (package | |
769 | (name "sbcl-stefil") | |
770 | (version (git-version "0.1" revision commit)) | |
771 | (source | |
772 | (origin | |
773 | (method git-fetch) | |
774 | (uri (git-reference | |
775 | (url "https://gitlab.common-lisp.net/stefil/stefil.git") | |
776 | (commit commit))) | |
777 | (file-name (git-file-name name version)) | |
778 | (sha256 | |
779 | (base32 | |
780 | "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh")))) | |
781 | (build-system asdf-build-system/sbcl) | |
782 | (inputs | |
783 | `(("alexandria" ,sbcl-alexandria) | |
784 | ("iterate" ,sbcl-iterate) | |
785 | ("metabang-bind" ,sbcl-metabang-bind) | |
786 | ("swank" ,sbcl-slime-swank))) | |
787 | (arguments | |
788 | '(#:phases | |
789 | (modify-phases %standard-phases | |
790 | (add-after 'unpack 'drop-unnecessary-dependency | |
791 | (lambda _ | |
792 | (substitute* "package.lisp" | |
793 | ((":stefil-system") "")) | |
794 | #t))))) | |
795 | (home-page "https://common-lisp.net/project/stefil/index-old.shtml") | |
796 | (synopsis "Simple test framework") | |
797 | (description | |
798 | "Stefil is a simple test framework for Common Lisp, with a focus on | |
799 | interactive development.") | |
800 | (license license:public-domain)))) | |
801 | ||
802 | (define-public cl-stefil | |
803 | (sbcl-package->cl-source-package sbcl-stefil)) | |
804 | ||
805 | (define-public ecl-stefil | |
806 | (sbcl-package->ecl-package sbcl-stefil)) | |
807 | ||
808 | (define-public sbcl-unit-test | |
809 | (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735") | |
810 | (revision "1")) | |
811 | (package | |
812 | (name "sbcl-unit-test") | |
813 | (version (git-version "0.0.0" revision commit)) | |
814 | (source | |
815 | (origin | |
816 | (method git-fetch) | |
817 | (uri (git-reference | |
818 | (url "https://github.com/hanshuebner/unit-test") | |
819 | (commit commit))) | |
820 | (file-name (git-file-name "unit-test" version)) | |
821 | (sha256 | |
822 | (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9")))) | |
823 | (build-system asdf-build-system/sbcl) | |
824 | (home-page "https://github.com/hanshuebner/unit-test") | |
825 | (synopsis "Unit-testing framework for Common Lisp") | |
826 | (description "This is a unit-testing framework for Common Lisp.") | |
827 | (license license:unlicense)))) | |
828 | ||
829 | (define-public ecl-unit-test | |
830 | (sbcl-package->ecl-package sbcl-unit-test)) | |
831 | ||
832 | (define-public cl-unit-test | |
833 | (sbcl-package->cl-source-package sbcl-unit-test)) | |
834 | ||
835 | (define-public sbcl-xlunit | |
836 | (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc") | |
837 | (revision "1")) | |
838 | (package | |
839 | (name "sbcl-xlunit") | |
840 | (version (git-version "0.6.3" revision commit)) | |
841 | (source | |
842 | (origin | |
843 | (method git-fetch) | |
844 | (uri (git-reference | |
845 | (url "http://git.kpe.io/xlunit.git") | |
846 | (commit commit))) | |
847 | (file-name (git-file-name name version)) | |
848 | (sha256 | |
849 | (base32 | |
850 | "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3")))) | |
851 | (build-system asdf-build-system/sbcl) | |
852 | (arguments | |
853 | '(#:phases | |
854 | (modify-phases %standard-phases | |
855 | (add-after 'unpack 'fix-tests | |
856 | (lambda _ | |
857 | (substitute* "xlunit.asd" | |
858 | ((" :force t") "")) | |
859 | #t))))) | |
860 | (synopsis "Unit testing package for Common Lisp") | |
861 | (description | |
862 | "The XLUnit package is a toolkit for building test suites. It is based | |
863 | on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") | |
864 | (home-page "http://quickdocs.org/xlunit/") | |
865 | (license license:bsd-3)))) | |
866 | ||
867 | (define-public cl-xlunit | |
868 | (sbcl-package->cl-source-package sbcl-xlunit)) | |
869 | ||
870 | (define-public ecl-xlunit | |
871 | (sbcl-package->ecl-package sbcl-xlunit)) |