PROTEST is a tool for defining protocols and test cases written in and for
Common Lisp, featuring integration with multiple one testing framework.
(More will come.)
(ql:quickload :protest)
(use-package :protest)
;; depending on your choice of test library, load one of the following
(ql:quickload :protest/parachute)
(use-package :protest/parachute)
(ql:quickload :protest/1am)
(use-package :protest/1am)
The currently implemented modules are:
PROTEST/BASE
- for defining protocol classes and protocol condition typesPROTEST/FTYPE
- for producing FTYPE forms from typed lambda listsPROTEST/PROTOCOL
- for defining and executing protocolsPROTEST/COMMON
- containing common and example protocolsPROTEST/TEST-CASE
- for defining test casesPROTEST/PARACHUTE
- for integrating test cases with Parachute testing libraryPROTEST/1AM
- for integrating test cases with 1AM testing library
The modules planned for development (someday) are:
PROTEST/WEB
- output test cases and protocols to HTMLPROTEST/FIVEAM
- for integratingtest cases with FIVEAM testing libraryPROTEST/PROVE
- for integrating test cases with Prove testing library
Load the ASDF system PROTEST/TEST
and run (PROTEST/TEST:RUN-ALL-TESTS)
, or
perform ASDF's TEST-OP
on the PROTEST
module.
Please note that this does not invoke tests for the modules integrating PROTEST with testing libraries; see the manual for each such module to find the means of testing it.
All of PROTEST is licensed under GNU Lisp Lesser General Public License,
except the PROTEST/PARACHUTE
system which is an extension to the Parachute
library and therefore licensed under the Artistic license.
PROTEST © 2018 Michał "phoe" Herda
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA