https://github.com/phoe/protest
PROtocol and TESTcase manager
https://github.com/phoe/protest
Last synced: 4 months ago
JSON representation
PROtocol and TESTcase manager
- Host: GitHub
- URL: https://github.com/phoe/protest
- Owner: phoe
- License: other
- Created: 2017-04-13T15:56:18.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-10-16T15:04:32.000Z (over 5 years ago)
- Last Synced: 2025-01-06T03:23:54.775Z (over 1 year ago)
- Language: Common Lisp
- Homepage:
- Size: 287 KB
- Stars: 17
- Watchers: 5
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Common Lisp PROtocol and TESTcase manager
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.)
## tl;dr
```common-lisp
(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)
```
## Modules
The currently implemented modules are:
* [`PROTEST/BASE`](doc/base.md) -
for defining protocol classes and protocol condition types
* [`PROTEST/FTYPE`](doc/ftype.md) -
for producing FTYPE forms from typed lambda lists
* [`PROTEST/PROTOCOL`](doc/protocol.md) -
for defining and executing protocols
* [`PROTEST/COMMON`](doc/common.md) -
containing common and example protocols
* [`PROTEST/TEST-CASE`](doc/test-case.md) -
for defining test cases
* [`PROTEST/PARACHUTE`](doc/parachute.md) -
for integrating test cases with
[Parachute](https://github.com/Shinmera/parachute/) testing library
* [`PROTEST/1AM`](doc/1am.md) -
for integrating test cases with [1AM](https://github.com/lmj/1am/) testing
library
The modules planned for development (someday) are:
* [`PROTEST/WEB`](doc/web.md) -
output test cases and protocols to HTML
* [`PROTEST/FIVEAM`](doc/fiveam.md) -
for integratingtest cases with [FIVEAM](https://github.com/sionescu/fiveam)
testing library
* [`PROTEST/PROVE`](doc/prove.md) -
for integrating test cases with [Prove](https://github.com/fukamachi/prove)
testing library
### Testing PROTEST
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.
### License
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