gnu: Further simplify package inputs.
[jackhill/guix/guix.git] / gnu / packages / lisp-check.scm
1 ;;; GNU Guix --- Functional package management for GNU
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>
9 ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
10 ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
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
27 ;;; This module only contains Common Lisp libraries related to code testing
28 ;;; facilities.
29
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
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
81 (list sbcl-alexandria sbcl-closer-mop sbcl-optima))
82 (native-inputs
83 (list sbcl-stefil))
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
121 (list sbcl-fiveam))
122 (inputs
123 (list sbcl-marshal))
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
157 (list sbcl-alexandria sbcl-closer-mop sbcl-trivia))
158 (native-inputs
159 (list sbcl-fiveam))
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
297 (let ((commit "bb47d2fef4eb24cc16badc1c9a73d73c3a7e18f5")
298 (revision "2"))
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
311 "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw"))))
312 (build-system asdf-build-system/sbcl)
313 (inputs
314 (list sbcl-alexandria sbcl-trivial-gray-streams))
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
345 (list sbcl-alexandria sbcl-net.didierverna.asdf-flv
346 sbcl-trivial-backtrace))
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
378 (list sbcl-hu.dwim.asdf))
379 (inputs
380 (list sbcl-alexandria))
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
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
410 (list sbcl-cl-ppcre))
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
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
524 (list sbcl-alexandria sbcl-cl-interpol sbcl-iterate
525 sbcl-symbol-munger))
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
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
557 (list sbcl-closer-mop sbcl-org-sampler))
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
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
589 (list sbcl-documentation-utils sbcl-form-fiddle))
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
621 (list sbcl-alexandria sbcl-cl-colors sbcl-cl-ppcre
622 sbcl-cl-ansi-text))
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
690 (list sbcl-bordeaux-threads sbcl-dissect sbcl-trivial-gray-streams))
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
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
750 (list sbcl-cl-ppcre sbcl-local-time sbcl-osicat sbcl-rutils))
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))
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))