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>
12 ;;; This file is part of GNU Guix.
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.
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.
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/>.
27 ;;; This module only contains Common Lisp libraries related to code testing
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))
38 (define-public sbcl-1am
39 (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5"))
42 (version (git-version "0.0" "1" commit))
47 (url "https://github.com/lmj/1am")
49 (file-name (git-file-name name version))
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))))
60 (sbcl-package->cl-source-package sbcl-1am))
62 (define-public ecl-1am
63 (sbcl-package->ecl-package sbcl-1am))
65 (define-public sbcl-check-it
66 (let ((commit "b79c9103665be3976915b56b570038f03486e62f"))
68 (name "sbcl-check-it")
69 (version (git-version "0.1.0" "1" commit))
74 (url "https://github.com/DalekBaldwin/check-it/")
76 (file-name (git-file-name name version))
78 (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7"))))
79 (build-system asdf-build-system/sbcl)
81 (list sbcl-alexandria sbcl-closer-mop sbcl-optima))
84 (home-page "https://github.com/arclanguage/Clamp")
85 (synopsis "Randomized specification-based testing for Common Lisp")
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))))
92 (define-public cl-check-it
93 (sbcl-package->cl-source-package sbcl-check-it))
95 (define-public ecl-check-it
96 (sbcl-package->ecl-package sbcl-check-it))
98 (define-public sbcl-checkl
99 (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
103 (version (git-version "0.0.0" revision commit))
108 (url "https://github.com/rpav/CheckL")
110 (file-name (git-file-name name version))
112 (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
113 (build-system asdf-build-system/sbcl)
115 ;; Error while trying to load definition for system checkl-test from
116 ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
118 '(#:asd-files '("checkl.asd")
124 (home-page "https://github.com/rpav/CheckL/")
125 (synopsis "Dynamic testing for Common Lisp")
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))))
134 (define-public cl-checkl
135 (sbcl-package->cl-source-package sbcl-checkl))
137 (define-public ecl-checkl
138 (sbcl-package->ecl-package sbcl-checkl))
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"))
144 (name "sbcl-cl-mock")
145 (version (git-version "1.0.1" "1" commit))
150 (url "https://github.com/Ferada/cl-mock/")
152 (file-name (git-file-name name version))
154 (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1"))))
155 (build-system asdf-build-system/sbcl)
157 (list sbcl-alexandria sbcl-closer-mop sbcl-trivia))
160 (home-page "https://github.com/Ferada/cl-mock")
161 (synopsis "Mocking functions for Common Lisp testing")
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))))
167 (define-public ecl-cl-mock
168 (sbcl-package->ecl-package sbcl-cl-mock))
170 (define-public cl-mock
171 (sbcl-package->cl-source-package sbcl-cl-mock))
173 (define-public sbcl-cl-quickcheck
174 (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
177 (name "sbcl-cl-quickcheck")
178 (version (git-version "0.0.4" revision commit))
183 (url "https://github.com/mcandre/cl-quickcheck")
185 (file-name (git-file-name name version))
188 "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
189 (build-system asdf-build-system/sbcl)
191 "Common Lisp port of the QuickCheck unit test framework")
193 "Common Lisp port of the QuickCheck unit test framework")
194 (home-page "https://github.com/mcandre/cl-quickcheck")
196 (license license:expat))))
198 (define-public cl-quickcheck
199 (sbcl-package->cl-source-package sbcl-cl-quickcheck))
201 (define-public ecl-cl-quickcheck
202 (sbcl-package->ecl-package sbcl-cl-quickcheck))
204 (define-public sbcl-clunit
205 (let ((commit "6f6d72873f0e1207f037470105969384f8380628")
209 (version (git-version "0.2.3" revision commit))
214 (url "https://github.com/tgutu/clunit")
216 (file-name (git-file-name name version))
219 "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
220 (build-system asdf-build-system/sbcl)
221 (synopsis "CLUnit is a Common Lisp unit testing framework")
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
227 (home-page "https://tgutu.github.io/clunit/")
229 (license license:expat))))
231 (define-public cl-clunit
232 (sbcl-package->cl-source-package sbcl-clunit))
234 (define-public ecl-clunit
235 (sbcl-package->ecl-package sbcl-clunit))
237 (define-public sbcl-clunit2
238 (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b")
241 (name "sbcl-clunit2")
242 (version (git-version "0.2.4" revision commit))
247 (url "https://notabug.org/cage/clunit2.git")
249 (file-name (git-file-name name version))
251 (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw"))))
252 (build-system asdf-build-system/sbcl)
253 (synopsis "Unit testing framework for Common Lisp")
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))))
260 (define-public cl-clunit2
261 (sbcl-package->cl-source-package sbcl-clunit2))
263 (define-public ecl-clunit2
264 (sbcl-package->ecl-package sbcl-clunit2))
266 (define-public sbcl-eos
267 (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243")
271 (version (git-version "0.0.0" revision commit))
276 (url "https://github.com/adlai/Eos")
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")
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))))
290 (define-public cl-eos
291 (sbcl-package->cl-source-package sbcl-eos))
293 (define-public ecl-eos
294 (sbcl-package->ecl-package sbcl-eos))
296 (define-public sbcl-fiasco
297 (let ((commit "bb47d2fef4eb24cc16badc1c9a73d73c3a7e18f5")
301 (version (git-version "0.0.1" revision commit))
306 (url "https://github.com/joaotavora/fiasco")
308 (file-name (git-file-name "fiasco" version))
311 "1k8i2kq57201bvy3zfpsxld530hd104dgbglxigqb6i408c1a7aw"))))
312 (build-system asdf-build-system/sbcl)
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"))))))
325 (define-public cl-fiasco
326 (sbcl-package->cl-source-package sbcl-fiasco))
328 (define-public ecl-fiasco
329 (sbcl-package->ecl-package sbcl-fiasco))
331 (define-public sbcl-fiveam
339 (url "https://github.com/sionescu/fiveam")
340 (commit (string-append "v" version))))
341 (file-name (git-file-name "fiveam" version))
343 (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j"))))
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)))
355 (define-public cl-fiveam
356 (sbcl-package->cl-source-package sbcl-fiveam))
358 (define-public ecl-fiveam
359 (sbcl-package->ecl-package sbcl-fiveam))
361 (define-public sbcl-hu.dwim.stefil
362 (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad"))
364 (name "sbcl-hu.dwim.stefil")
365 (version (git-version "0.0.0" "2" commit))
371 (url "https://github.com/hu-dwim/hu.dwim.stefil")
374 (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc"))
375 (file-name (git-file-name "hu.dwim.stefil" version))))
376 (build-system asdf-build-system/sbcl)
378 (list sbcl-hu.dwim.asdf))
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))))
387 (define-public cl-hu.dwim.stefil
388 (sbcl-package->cl-source-package sbcl-hu.dwim.stefil))
390 (define-public ecl-hu.dwim.stefil
391 (sbcl-package->ecl-package sbcl-hu.dwim.stefil))
393 (define-public sbcl-kaputt
394 (let ((commit "f26c9b0f8219fe61d86249198ef85174eecafc10")
398 (version (git-version "0.0.0" revision commit))
403 (url "https://github.com/foretspaisibles/cl-kaputt")
405 (file-name (git-file-name "kaputt" version))
407 (base32 "10a78032vnf12kjjpfmq9ign38cad237ycyq37dwnx922nxjjaj4"))))
408 (build-system asdf-build-system/sbcl)
410 (list sbcl-cl-ppcre))
411 (home-page "https://github.com/foretspaisibles/cl-kaputt")
412 (synopsis "Simple interactive test framework for Common Lisp")
414 "KAPUTT is a test framework for Common Lisp that focuses on the
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.
421 @item KAPUTT is extensible, it is possible to add problem-specific assertions
422 to make test code more informative.
424 @item KAPUTT fits well interactive development.
426 (license license:cecill-b))))
428 (define-public ecl-kaputt
429 (sbcl-package->ecl-package sbcl-kaputt))
431 (define-public cl-kaputt
432 (sbcl-package->cl-source-package sbcl-kaputt))
434 (define-public sbcl-lift
435 (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
439 (version (git-version "1.7.1" revision commit))
444 (url "https://github.com/gwkkwg/lift")
447 (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
448 (file-name (git-file-name "lift" version))
449 (modules '((guix build utils)))
451 ;; Don't keep the bundled website
453 (delete-file-recursively "website")
455 (build-system asdf-build-system/sbcl)
457 ;; The tests require a debugger, but we run with the debugger disabled.
459 (synopsis "LIsp Framework for Testing")
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))))
469 (define-public cl-lift
470 (sbcl-package->cl-source-package sbcl-lift))
472 (define-public ecl-lift
473 (sbcl-package->ecl-package sbcl-lift))
475 (define-public sbcl-lisp-unit
476 (let ((commit "89653a232626b67400bf9a941f9b367da38d3815"))
478 (name "sbcl-lisp-unit")
479 (version (git-version "0.0.0" "1" commit))
484 (url "https://github.com/OdonataResearchLLC/lisp-unit")
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")
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))))
498 (define-public cl-lisp-unit
499 (sbcl-package->cl-source-package sbcl-lisp-unit))
501 (define-public ecl-lisp-unit
502 (sbcl-package->ecl-package sbcl-lisp-unit))
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")
510 (name "sbcl-lisp-unit2")
511 (version (git-version "0.2.0" revision commit))
516 (url "https://github.com/AccelerationNet/lisp-unit2")
518 (file-name (git-file-name name version))
521 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp"))))
522 (build-system asdf-build-system/sbcl)
524 (list sbcl-alexandria sbcl-cl-interpol sbcl-iterate
526 (synopsis "Test Framework for Common Lisp")
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
531 (home-page "https://github.com/AccelerationNet/lisp-unit2")
532 (license license:expat))))
534 (define-public cl-lisp-unit2
535 (sbcl-package->cl-source-package sbcl-lisp-unit2))
537 (define-public ecl-lisp-unit2
538 (sbcl-package->ecl-package sbcl-lisp-unit2))
540 (define-public sbcl-nst
541 (let ((commit "6c0990f594abcf5887e8d80f1035e3b60454b61b")
545 (version (git-version "4.1.2" revision commit))
550 (url "https://github.com/jphmrst/cl-nst")
552 (file-name (git-file-name "nst" version))
554 (base32 "1hf3r6pqbnd9vsd1i24qmz928kia72hdgmiafiwb6jw1hmj3r6ga"))))
555 (build-system asdf-build-system/sbcl)
557 (list sbcl-closer-mop sbcl-org-sampler))
558 (home-page "https://github.com/jphmrst/cl-nst")
559 (synopsis "Unit testing for Common Lisp")
561 "NST is a unit/regression testing system for Common Lisp.")
562 (license license:llgpl))))
564 (define-public ecl-nst
565 (sbcl-package->ecl-package sbcl-nst))
567 (define-public cl-nst
568 (sbcl-package->cl-source-package sbcl-nst))
570 (define-public sbcl-parachute
571 (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666")
574 (name "sbcl-parachute")
575 (version (git-version "1.1.1" revision commit))
581 (url "https://github.com/Shinmera/parachute")
583 (file-name (git-file-name name version))
586 "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60"))))
587 (build-system asdf-build-system/sbcl)
589 (list sbcl-documentation-utils sbcl-form-fiddle))
590 (synopsis "Extensible and cross-compatible testing framework for Common Lisp")
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))))
598 (define-public cl-parachute
599 (sbcl-package->cl-source-package sbcl-parachute))
601 (define-public ecl-parachute
602 (sbcl-package->ecl-package sbcl-parachute))
604 (define-public sbcl-prove
605 (let ((commit "5d71f02795b89e36f34e8c7d50e69b67ec6ca2de")
609 (version (git-version "1.0.0" revision commit))
614 (url "https://github.com/fukamachi/prove")
617 (base32 "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc"))
618 (file-name (git-file-name "prove" version))))
619 (build-system asdf-build-system/sbcl)
621 (list sbcl-alexandria sbcl-cl-colors sbcl-cl-ppcre
623 (synopsis "Yet another unit testing framework for Common Lisp")
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:
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
636 (home-page "https://github.com/fukamachi/prove")
637 (license license:expat))))
639 (define-public cl-prove
640 (sbcl-package->cl-source-package sbcl-prove))
642 (define-public ecl-prove
643 (sbcl-package->ecl-package sbcl-prove))
645 (define-public sbcl-ptester
646 (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253")
649 (name "sbcl-ptester")
650 (version (git-version "2.1.3" revision commit))
655 (url "http://git.kpe.io/ptester.git")
657 (file-name (git-file-name name version))
659 (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf"))))
660 (build-system asdf-build-system/sbcl)
661 (home-page "http://quickdocs.org/ptester/")
662 (synopsis "Portable test harness package")
664 "@command{ptester} is a portable testing framework based on Franz's
666 (license license:llgpl))))
668 (define-public cl-ptester
669 (sbcl-package->cl-source-package sbcl-ptester))
671 (define-public ecl-ptester
672 (sbcl-package->ecl-package sbcl-ptester))
674 (define-public sbcl-rove
682 (url "https://github.com/fukamachi/rove")
683 (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21")))
684 (file-name (git-file-name name version))
687 "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q"))))
688 (build-system asdf-build-system/sbcl)
690 (list sbcl-bordeaux-threads sbcl-dissect sbcl-trivial-gray-streams))
691 (home-page "https://github.com/fukamachi/rove")
693 "Yet another common lisp testing library")
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)))
699 (define-public cl-rove
700 (sbcl-package->cl-source-package sbcl-rove))
702 (define-public ecl-rove
703 (sbcl-package->ecl-package sbcl-rove))
705 (define-public sbcl-rt
706 (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a")
710 (version (git-version "1990.12.19" revision commit))
715 (url "http://git.kpe.io/rt.git")
717 (file-name (git-file-name name version))
719 (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b"))))
720 (build-system asdf-build-system/sbcl)
721 (synopsis "MIT Regression Tester")
723 "RT provides a framework for writing regression test suites.")
724 (home-page "https://www.cliki.net/rt")
725 (license license:expat))))
728 (sbcl-package->cl-source-package sbcl-rt))
730 (define-public ecl-rt
731 (sbcl-package->ecl-package sbcl-rt))
733 (define-public sbcl-should-test
734 (let ((commit "48facb9f9c07aeceb71fc0c48ce17fd7d54a09d4")
737 (name "sbcl-should-test")
738 (version (git-version "1.0.0" revision commit))
743 (url "https://github.com/vseloved/should-test")
745 (file-name (git-file-name "should-test" version))
747 (base32 "1fqqa7lhf28qg60ji9libkylkcy747x576qpjn1y7c945j2fxmnm"))))
748 (build-system asdf-build-system/sbcl)
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")
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
757 (license license:expat))))
759 (define-public cl-should-test
760 (sbcl-package->cl-source-package sbcl-should-test))
762 (define-public ecl-should-test
763 (sbcl-package->ecl-package sbcl-should-test))
765 (define-public sbcl-stefil
766 (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a")
770 (version (git-version "0.1" revision commit))
775 (url "https://gitlab.common-lisp.net/stefil/stefil.git")
777 (file-name (git-file-name name version))
780 "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh"))))
781 (build-system asdf-build-system/sbcl)
783 `(("alexandria" ,sbcl-alexandria)
784 ("iterate" ,sbcl-iterate)
785 ("metabang-bind" ,sbcl-metabang-bind)
786 ("swank" ,sbcl-slime-swank)))
789 (modify-phases %standard-phases
790 (add-after 'unpack 'drop-unnecessary-dependency
792 (substitute* "package.lisp"
793 ((":stefil-system") ""))
795 (home-page "https://common-lisp.net/project/stefil/index-old.shtml")
796 (synopsis "Simple test framework")
798 "Stefil is a simple test framework for Common Lisp, with a focus on
799 interactive development.")
800 (license license:public-domain))))
802 (define-public cl-stefil
803 (sbcl-package->cl-source-package sbcl-stefil))
805 (define-public ecl-stefil
806 (sbcl-package->ecl-package sbcl-stefil))
808 (define-public sbcl-unit-test
809 (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735")
812 (name "sbcl-unit-test")
813 (version (git-version "0.0.0" revision commit))
818 (url "https://github.com/hanshuebner/unit-test")
820 (file-name (git-file-name "unit-test" version))
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))))
829 (define-public ecl-unit-test
830 (sbcl-package->ecl-package sbcl-unit-test))
832 (define-public cl-unit-test
833 (sbcl-package->cl-source-package sbcl-unit-test))
835 (define-public sbcl-xlunit
836 (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc")
840 (version (git-version "0.6.3" revision commit))
845 (url "http://git.kpe.io/xlunit.git")
847 (file-name (git-file-name name version))
850 "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3"))))
851 (build-system asdf-build-system/sbcl)
854 (modify-phases %standard-phases
855 (add-after 'unpack 'fix-tests
857 (substitute* "xlunit.asd"
860 (synopsis "Unit testing package for Common Lisp")
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))))
867 (define-public cl-xlunit
868 (sbcl-package->cl-source-package sbcl-xlunit))
870 (define-public ecl-xlunit
871 (sbcl-package->ecl-package sbcl-xlunit))