gnu: emacs-helm: Update to 3.8.7.
[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, 2022 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, 2022 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 ;;; Copyright © 2022 jgart <jgart@dismail.de>
12 ;;;
13 ;;; This file is part of GNU Guix.
14 ;;;
15 ;;; GNU Guix is free software; you can redistribute it and/or modify it
16 ;;; under the terms of the GNU General Public License as published by
17 ;;; the Free Software Foundation; either version 3 of the License, or (at
18 ;;; your option) any later version.
19 ;;;
20 ;;; GNU Guix is distributed in the hope that it will be useful, but
21 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
22 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 ;;; GNU General Public License for more details.
24 ;;;
25 ;;; You should have received a copy of the GNU General Public License
26 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27
28 ;;; This module only contains Common Lisp libraries related to code testing
29 ;;; facilities.
30
31 (define-module (gnu packages lisp-check)
32 #:use-module (gnu packages)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (gnu packages lisp-xyz)
35 #:use-module (guix packages)
36 #:use-module (guix git-download)
37 #:use-module (guix build-system asdf))
38
39 (define-public sbcl-1am
40 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
41 (package
42 (name "sbcl-1am")
43 (version (git-version "0.0" "1" commit))
44 (source
45 (origin
46 (method git-fetch)
47 (uri (git-reference
48 (url "https://github.com/lmj/1am")
49 (commit commit)))
50 (file-name (git-file-name name version))
51 (sha256
52 (base32
53 "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g"))))
54 (build-system asdf-build-system/sbcl)
55 (home-page "https://github.com/lmj/1am")
56 (synopsis "Minimal testing framework for Common Lisp")
57 (description "A minimal testing framework for Common Lisp.")
58 (license license:expat))))
59
60 (define-public cl-1am
61 (sbcl-package->cl-source-package sbcl-1am))
62
63 (define-public ecl-1am
64 (sbcl-package->ecl-package sbcl-1am))
65
66 (define-public sbcl-check-it
67 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
68 (package
69 (name "sbcl-check-it")
70 (version (git-version "0.1.0" "1" commit))
71 (source
72 (origin
73 (method git-fetch)
74 (uri (git-reference
75 (url "https://github.com/DalekBaldwin/check-it/")
76 (commit commit)))
77 (file-name (git-file-name name version))
78 (sha256
79 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
80 (build-system asdf-build-system/sbcl)
81 (inputs
82 (list sbcl-alexandria sbcl-closer-mop sbcl-optima))
83 (native-inputs
84 (list sbcl-stefil))
85 (home-page "https://github.com/arclanguage/Clamp")
86 (synopsis "Randomized specification-based testing for Common Lisp")
87 (description
88 "This is a randomized property-based testing library for Common Lisp.
89 Rather than being a full-fledged general test framework in its own right, it's
90 designed to embed randomized tests in whatever framework you like.")
91 (license license:llgpl))))
92
93 (define-public cl-check-it
94 (sbcl-package->cl-source-package sbcl-check-it))
95
96 (define-public ecl-check-it
97 (sbcl-package->ecl-package sbcl-check-it))
98
99 (define-public sbcl-checkl
100 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
101 (revision "1"))
102 (package
103 (name "sbcl-checkl")
104 (version (git-version "0.0.0" revision commit))
105 (source
106 (origin
107 (method git-fetch)
108 (uri (git-reference
109 (url "https://github.com/rpav/CheckL")
110 (commit commit)))
111 (file-name (git-file-name name version))
112 (sha256
113 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
114 (build-system asdf-build-system/sbcl)
115 (arguments
116 ;; Error while trying to load definition for system checkl-test from
117 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
118 ;; is undefined.
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-hamcrest
362 (let ((commit "a54553e59a70dc5a539b683e79bfcdb0e8bae5c8")
363 (revision "0"))
364 (package
365 (name "sbcl-hamcrest")
366 (version "0.4.4")
367 (source
368 (origin
369 (method git-fetch)
370 (uri (git-reference
371 (url "https://github.com/40ants/cl-hamcrest")
372 (commit commit)))
373 (sha256
374 (base32 "181nnb2fjbsdqjqdvwg2x9n1jjalkfzszwdgqcap4py2q63q1kxj"))
375 (file-name (git-file-name "cl-hamcrest" commit))))
376 (build-system asdf-build-system/sbcl)
377 (inputs
378 (list sbcl-iterate
379 sbcl-split-sequence
380 sbcl-cl-ppcre
381 sbcl-alexandria
382 sbcl-rove
383 sbcl-prove))
384 (home-page "https://40ants.com/cl-hamcrest/")
385 (synopsis "Make CL unit tests more readable")
386 (description
387 "@code{cl-hamcrest} is an implementation of the Hamcrest idea in
388 Common Lisp. It simplifes unit tests and makes them more readable.
389 Hamcrest uses the idea of pattern-matching, to construct matchers from
390 different pieces and to apply them to the data.")
391 (license license:bsd-3))))
392
393 (define-public cl-hamcrest
394 (sbcl-package->cl-source-package sbcl-hamcrest))
395
396 (define-public ecl-cl-hamcrest
397 (sbcl-package->ecl-package sbcl-hamcrest))
398
399 (define-public sbcl-hu.dwim.stefil
400 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
401 (package
402 (name "sbcl-hu.dwim.stefil")
403 (version (git-version "0.0.0" "2" commit))
404 (source
405 (origin
406 (method git-fetch)
407 (uri
408 (git-reference
409 (url "https://github.com/hu-dwim/hu.dwim.stefil")
410 (commit commit)))
411 (sha256
412 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
413 (file-name (git-file-name "hu.dwim.stefil" version))))
414 (build-system asdf-build-system/sbcl)
415 (native-inputs
416 (list sbcl-hu.dwim.asdf))
417 (inputs
418 (list sbcl-alexandria))
419 (home-page "http://dwim.hu/project/hu.dwim.stefil")
420 (synopsis "Simple test framework")
421 (description "Stefil is a simple test framework for Common Lisp,
422 with a focus on interactive development.")
423 (license license:public-domain))))
424
425 (define-public cl-hu.dwim.stefil
426 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
427
428 (define-public ecl-hu.dwim.stefil
429 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
430
431 (define-public sbcl-kaputt
432 (let ((commit "f26c9b0f8219fe61d86249198ef85174eecafc10")
433 (revision "1"))
434 (package
435 (name "sbcl-kaputt")
436 (version (git-version "0.0.0" revision commit))
437 (source
438 (origin
439 (method git-fetch)
440 (uri (git-reference
441 (url "https://github.com/foretspaisibles/cl-kaputt")
442 (commit commit)))
443 (file-name (git-file-name "kaputt" version))
444 (sha256
445 (base32 "10a78032vnf12kjjpfmq9ign38cad237ycyq37dwnx922nxjjaj4"))))
446 (build-system asdf-build-system/sbcl)
447 (inputs
448 (list sbcl-cl-ppcre))
449 (home-page "https://github.com/foretspaisibles/cl-kaputt")
450 (synopsis "Simple interactive test framework for Common Lisp")
451 (description
452 "KAPUTT is a test framework for Common Lisp that focuses on the
453 following features:
454
455 @itemize
456 @item KAPUTT is simple, it only defines three abstractions testcase, assertion
457 and protocol and does not add any artefact on the backtrace when errors occur.
458
459 @item KAPUTT is extensible, it is possible to add problem-specific assertions
460 to make test code more informative.
461
462 @item KAPUTT fits well interactive development.
463 @end itemize\n")
464 (license license:cecill-b))))
465
466 (define-public ecl-kaputt
467 (sbcl-package->ecl-package sbcl-kaputt))
468
469 (define-public cl-kaputt
470 (sbcl-package->cl-source-package sbcl-kaputt))
471
472 (define-public sbcl-lift
473 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
474 (revision "2"))
475 (package
476 (name "sbcl-lift")
477 (version (git-version "1.7.1" revision commit))
478 (source
479 (origin
480 (method git-fetch)
481 (uri (git-reference
482 (url "https://github.com/gwkkwg/lift")
483 (commit commit)))
484 (sha256
485 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
486 (file-name (git-file-name "lift" version))
487 (modules '((guix build utils)))
488 (snippet
489 ;; Don't keep the bundled website
490 `(begin
491 (delete-file-recursively "website")
492 #t))))
493 (build-system asdf-build-system/sbcl)
494 (arguments
495 ;; The tests require a debugger, but we run with the debugger disabled.
496 '(#:tests? #f))
497 (synopsis "LIsp Framework for Testing")
498 (description
499 "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP.
500 Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT,
501 testcases are organized into hierarchical testsuites each of which can have
502 its own fixture. When run, a testcase can succeed, fail, or error. LIFT
503 supports randomized testing, benchmarking, profiling, and reporting.")
504 (home-page "https://github.com/gwkkwg/lift")
505 (license license:expat))))
506
507 (define-public cl-lift
508 (sbcl-package->cl-source-package sbcl-lift))
509
510 (define-public ecl-lift
511 (sbcl-package->ecl-package sbcl-lift))
512
513 (define-public sbcl-lisp-unit
514 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
515 (package
516 (name "sbcl-lisp-unit")
517 (version (git-version "0.0.0" "1" commit))
518 (source
519 (origin
520 (method git-fetch)
521 (uri (git-reference
522 (url "https://github.com/OdonataResearchLLC/lisp-unit")
523 (commit commit)))
524 (sha256
525 (base32
526 "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry"))
527 (file-name (git-file-name "lisp-unit" version))))
528 (build-system asdf-build-system/sbcl)
529 (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use")
530 (description
531 "@command{lisp-unit} is a Common Lisp library that supports unit
532 testing. It is an extension of the library written by Chris Riesbeck.")
533 (home-page "https://github.com/OdonataResearchLLC/lisp-unit")
534 (license license:expat))))
535
536 (define-public cl-lisp-unit
537 (sbcl-package->cl-source-package sbcl-lisp-unit))
538
539 (define-public ecl-lisp-unit
540 (sbcl-package->ecl-package sbcl-lisp-unit))
541
542 (define-public sbcl-lisp-unit2
543 ;; There is a cyclical dependency between symbol-munger and lisp-unit2.
544 ;; See https://github.com/AccelerationNet/symbol-munger/issues/4
545 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c")
546 (revision "1"))
547 (package
548 (name "sbcl-lisp-unit2")
549 (version (git-version "0.2.0" revision commit))
550 (source
551 (origin
552 (method git-fetch)
553 (uri (git-reference
554 (url "https://github.com/AccelerationNet/lisp-unit2")
555 (commit commit)))
556 (file-name (git-file-name name version))
557 (sha256
558 (base32
559 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
560 (build-system asdf-build-system/sbcl)
561 (inputs
562 (list sbcl-alexandria sbcl-cl-interpol sbcl-iterate
563 sbcl-symbol-munger))
564 (synopsis "Test Framework for Common Lisp")
565 (description
566 "LISP-UNIT2 is a Common Lisp library that supports unit testing in the
567 style of JUnit for Java. It is a new version of the lisp-unit library written
568 by Chris Riesbeck.")
569 (home-page "https://github.com/AccelerationNet/lisp-unit2")
570 (license license:expat))))
571
572 (define-public cl-lisp-unit2
573 (sbcl-package->cl-source-package sbcl-lisp-unit2))
574
575 (define-public ecl-lisp-unit2
576 (sbcl-package->ecl-package sbcl-lisp-unit2))
577
578 (define-public sbcl-nst
579 (let ((commit "6c0990f594abcf5887e8d80f1035e3b60454b61b")
580 (revision "1"))
581 (package
582 (name "sbcl-nst")
583 (version (git-version "4.1.2" revision commit))
584 (source
585 (origin
586 (method git-fetch)
587 (uri (git-reference
588 (url "https://github.com/jphmrst/cl-nst")
589 (commit commit)))
590 (file-name (git-file-name "nst" version))
591 (sha256
592 (base32 "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"))))
593 (build-system asdf-build-system/sbcl)
594 (inputs
595 (list sbcl-closer-mop sbcl-org-sampler))
596 (home-page "https://github.com/jphmrst/cl-nst")
597 (synopsis "Unit testing for Common Lisp")
598 (description
599 "NST is a unit/regression testing system for Common Lisp.")
600 (license license:llgpl))))
601
602 (define-public ecl-nst
603 (sbcl-package->ecl-package sbcl-nst))
604
605 (define-public cl-nst
606 (sbcl-package->cl-source-package sbcl-nst))
607
608 (define-public sbcl-parachute
609 (let ((commit "86563473dc23fb1277d35a3ad2c911a6c8e5b0da")
610 (revision "1"))
611 (package
612 (name "sbcl-parachute")
613 (version (git-version "1.1.1" revision commit))
614 (source
615 (origin
616 (method git-fetch)
617 (uri
618 (git-reference
619 (url "https://github.com/Shinmera/parachute")
620 (commit commit)))
621 (file-name (git-file-name name version))
622 (sha256
623 (base32
624 "026crl465xqh3fnskfd4c1sxa9c33dfy702cf3l5apbjyj1dg20n"))))
625 (build-system asdf-build-system/sbcl)
626 (inputs
627 (list sbcl-documentation-utils sbcl-form-fiddle))
628 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
629 (description
630 "Parachute is a simple-to-use and extensible testing framework.
631 In Parachute, things are organised as a bunch of named tests within a package.
632 Each test can contain a bunch of test forms that make up its body.")
633 (home-page "https://shinmera.github.io/parachute/")
634 (license license:zlib))))
635
636 (define-public cl-parachute
637 (sbcl-package->cl-source-package sbcl-parachute))
638
639 (define-public ecl-parachute
640 (sbcl-package->ecl-package sbcl-parachute))
641
642 (define-public sbcl-prove
643 (let ((commit "5d71f02795b89e36f34e8c7d50e69b67ec6ca2de")
644 (revision "2"))
645 (package
646 (name "sbcl-prove")
647 (version (git-version "1.0.0" revision commit))
648 (source
649 (origin
650 (method git-fetch)
651 (uri (git-reference
652 (url "https://github.com/fukamachi/prove")
653 (commit commit)))
654 (sha256
655 (base32 "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"))
656 (file-name (git-file-name "prove" version))))
657 (build-system asdf-build-system/sbcl)
658 (inputs
659 (list sbcl-alexandria sbcl-cl-colors sbcl-cl-ppcre
660 sbcl-cl-ansi-text))
661 (synopsis "Yet another unit testing framework for Common Lisp")
662 (description
663 "This project was originally called @command{cl-test-more}.
664 @command{prove} is yet another unit testing framework for Common Lisp. The
665 advantages of @command{prove} are:
666
667 @itemize
668 @item Various simple functions for testing and informative error messages
669 @item ASDF integration
670 @item Extensible test reporters
671 @item Colorizes the report if it's available (note for SLIME)
672 @item Reports test durations
673 @end itemize\n")
674 (home-page "https://github.com/fukamachi/prove")
675 (license license:expat))))
676
677 (define-public cl-prove
678 (sbcl-package->cl-source-package sbcl-prove))
679
680 (define-public ecl-prove
681 (sbcl-package->ecl-package sbcl-prove))
682
683 (define-public sbcl-ptester
684 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
685 (revision "1"))
686 (package
687 (name "sbcl-ptester")
688 (version (git-version "2.1.3" revision commit))
689 (source
690 (origin
691 (method git-fetch)
692 (uri (git-reference
693 (url "http://git.kpe.io/ptester.git")
694 (commit commit)))
695 (file-name (git-file-name name version))
696 (sha256
697 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))
698 (modules '((guix build utils)))
699 (snippet
700 ;; The useless bundled debian folder drags `make' into the closure.
701 `(begin
702 (delete-file-recursively "debian")
703 #t))))
704 (build-system asdf-build-system/sbcl)
705 (home-page "http://quickdocs.org/ptester/")
706 (synopsis "Portable test harness package")
707 (description
708 "@command{ptester} is a portable testing framework based on Franz's
709 tester module.")
710 (license license:llgpl))))
711
712 (define-public cl-ptester
713 (sbcl-package->cl-source-package sbcl-ptester))
714
715 (define-public ecl-ptester
716 (sbcl-package->ecl-package sbcl-ptester))
717
718 (define-public sbcl-rove
719 (package
720 (name "sbcl-rove")
721 (version "0.9.6")
722 (source
723 (origin
724 (method git-fetch)
725 (uri (git-reference
726 (url "https://github.com/fukamachi/rove")
727 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
728 (file-name (git-file-name name version))
729 (sha256
730 (base32
731 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
732 (build-system asdf-build-system/sbcl)
733 (inputs
734 (list sbcl-bordeaux-threads sbcl-dissect sbcl-trivial-gray-streams))
735 (home-page "https://github.com/fukamachi/rove")
736 (synopsis
737 "Yet another common lisp testing library")
738 (description
739 "Rove is a unit testing framework for Common Lisp applications.
740 This is intended to be a successor of Prove.")
741 (license license:bsd-3)))
742
743 (define-public cl-rove
744 (sbcl-package->cl-source-package sbcl-rove))
745
746 (define-public ecl-rove
747 (sbcl-package->ecl-package sbcl-rove))
748
749 (define-public sbcl-rt
750 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
751 (revision "1"))
752 (package
753 (name "sbcl-rt")
754 (version (git-version "1990.12.19" revision commit))
755 (source
756 (origin
757 (method git-fetch)
758 (uri (git-reference
759 (url "http://git.kpe.io/rt.git")
760 (commit commit)))
761 (file-name (git-file-name name version))
762 (sha256
763 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))
764 (modules '((guix build utils)))
765 (snippet
766 ;; The useless bundled debian folder drags `make' into the closure.
767 `(begin
768 (delete-file-recursively "debian")
769 #t))))
770 (build-system asdf-build-system/sbcl)
771 (synopsis "MIT Regression Tester")
772 (description
773 "RT provides a framework for writing regression test suites.")
774 (home-page "https://www.cliki.net/rt")
775 (license license:expat))))
776
777 (define-public cl-rt
778 (sbcl-package->cl-source-package sbcl-rt))
779
780 (define-public ecl-rt
781 (sbcl-package->ecl-package sbcl-rt))
782
783 (define-public sbcl-should-test
784 (let ((commit "48facb9f9c07aeceb71fc0c48ce17fd7d54a09d4")
785 (revision "0"))
786 (package
787 (name "sbcl-should-test")
788 (version (git-version "1.0.0" revision commit))
789 (source
790 (origin
791 (method git-fetch)
792 (uri (git-reference
793 (url "https://github.com/vseloved/should-test")
794 (commit commit)))
795 (file-name (git-file-name "should-test" version))
796 (sha256
797 (base32 "1fqqa7lhf28qg60ji9libkylkcy747x576qpjn1y7c945j2fxmnm"))))
798 (build-system asdf-build-system/sbcl)
799 (inputs
800 (list sbcl-cl-ppcre sbcl-local-time sbcl-osicat sbcl-rutils))
801 (home-page "https://github.com/vseloved/should-test")
802 (synopsis "Minimal yet feature-rich Common Lisp test framework")
803 (description
804 "SHOULD-TEST is a methodology-agnostic and non-opinionated Common Lisp
805 test framework, i.e. it doesn't care what kind of test approach you'd like to
806 take.")
807 (license license:expat))))
808
809 (define-public cl-should-test
810 (sbcl-package->cl-source-package sbcl-should-test))
811
812 (define-public ecl-should-test
813 (sbcl-package->ecl-package sbcl-should-test))
814
815 (define-public sbcl-stefil
816 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
817 (revision "0"))
818 (package
819 (name "sbcl-stefil")
820 (version (git-version "0.1" revision commit))
821 (source
822 (origin
823 (method git-fetch)
824 (uri (git-reference
825 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
826 (commit commit)))
827 (file-name (git-file-name name version))
828 (sha256
829 (base32
830 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
831 (build-system asdf-build-system/sbcl)
832 (inputs
833 `(("alexandria" ,sbcl-alexandria)
834 ("iterate" ,sbcl-iterate)
835 ("metabang-bind" ,sbcl-metabang-bind)
836 ("swank" ,sbcl-slime-swank)))
837 (arguments
838 '(#:phases
839 (modify-phases %standard-phases
840 (add-after 'unpack 'drop-unnecessary-dependency
841 (lambda _
842 (substitute* "package.lisp"
843 ((":stefil-system") ""))
844 #t)))))
845 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
846 (synopsis "Simple test framework")
847 (description
848 "Stefil is a simple test framework for Common Lisp, with a focus on
849 interactive development.")
850 (license license:public-domain))))
851
852 (define-public cl-stefil
853 (sbcl-package->cl-source-package sbcl-stefil))
854
855 (define-public ecl-stefil
856 (sbcl-package->ecl-package sbcl-stefil))
857
858 (define-public sbcl-try
859 (let ((commit "a1fffad2ca328b3855f629b633ab1daaeec929c2")
860 (revision "1"))
861 (package
862 (name "sbcl-try")
863 (version (git-version "0.0.1" revision commit))
864 (source
865 (origin
866 (method git-fetch)
867 (uri (git-reference
868 (url "https://github.com/melisgl/try")
869 (commit commit)))
870 (file-name (git-file-name "cl-try" version))
871 (sha256
872 (base32 "03dm2i2y4wiyzz9d25zdxm6gdglnvwali0ylp0rfwpk6wf29sj09"))))
873 (build-system asdf-build-system/sbcl)
874 (native-inputs
875 (list sbcl-cl-ppcre))
876 (inputs
877 (list sbcl-alexandria
878 sbcl-closer-mop
879 sbcl-ieee-floats
880 sbcl-mgl-pax
881 sbcl-trivial-gray-streams))
882 (arguments
883 `(;; FIXME: Get tests to work
884 #:tests? #f))
885 (home-page "https://github.com/melisgl/try")
886 (synopsis "Common Lisp test framework")
887 (description
888 "@code{Try} is a library for unit testing with equal support for
889 interactive and non-interactive workflows. Tests are functions, and almost
890 everything else is a condition, whose types feature prominently in
891 parameterization.")
892 (license license:expat))))
893
894 (define-public cl-try
895 (sbcl-package->cl-source-package sbcl-try))
896
897 (define-public ecl-try
898 (sbcl-package->ecl-package sbcl-try))
899
900 (define-public sbcl-unit-test
901 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
902 (revision "1"))
903 (package
904 (name "sbcl-unit-test")
905 (version (git-version "0.0.0" revision commit))
906 (source
907 (origin
908 (method git-fetch)
909 (uri (git-reference
910 (url "https://github.com/hanshuebner/unit-test")
911 (commit commit)))
912 (file-name (git-file-name "unit-test" version))
913 (sha256
914 (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9"))))
915 (build-system asdf-build-system/sbcl)
916 (home-page "https://github.com/hanshuebner/unit-test")
917 (synopsis "Unit-testing framework for Common Lisp")
918 (description "This is a unit-testing framework for Common Lisp.")
919 (license license:unlicense))))
920
921 (define-public ecl-unit-test
922 (sbcl-package->ecl-package sbcl-unit-test))
923
924 (define-public cl-unit-test
925 (sbcl-package->cl-source-package sbcl-unit-test))
926
927 (define-public sbcl-xlunit
928 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
929 (revision "1"))
930 (package
931 (name "sbcl-xlunit")
932 (version (git-version "0.6.3" revision commit))
933 (source
934 (origin
935 (method git-fetch)
936 (uri (git-reference
937 (url "http://git.kpe.io/xlunit.git")
938 (commit commit)))
939 (file-name (git-file-name name version))
940 (sha256
941 (base32
942 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))
943 (modules '((guix build utils)))
944 (snippet
945 ;; The useless bundled debian folder drags `make' into the closure.
946 `(begin
947 (delete-file-recursively "debian")
948 #t))))
949 (build-system asdf-build-system/sbcl)
950 (arguments
951 '(#:phases
952 (modify-phases %standard-phases
953 (add-after 'unpack 'fix-tests
954 (lambda _
955 (substitute* "xlunit.asd"
956 ((" :force t") ""))
957 #t)))))
958 (synopsis "Unit testing package for Common Lisp")
959 (description
960 "The XLUnit package is a toolkit for building test suites. It is based
961 on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.")
962 (home-page "http://quickdocs.org/xlunit/")
963 (license license:bsd-3))))
964
965 (define-public cl-xlunit
966 (sbcl-package->cl-source-package sbcl-xlunit))
967
968 (define-public ecl-xlunit
969 (sbcl-package->ecl-package sbcl-xlunit))