/usr/share/acl2-6.3/books/make-event/test-case-check.lisp is in acl2-books-source 6.3-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | ; Copyright (C) 2013, Regents of the University of Texas
; Written by Matt Kaufmann
; License: A 3-clause BSD license. See the LICENSE file distributed with ACL2.
; This is like test-case.lisp, except it uses assert!! (which uses
; :check-expansion t) rather than assert!.
(in-package "ACL2")
(include-book "assert-check")
(defmacro test-case (form &key (expected 'nil expected-p))
(let ((form (if expected-p
`(equal ,form ,expected)
form)))
(list 'assert!! form)))
#| ; A more direct definition, not using the assert!.
(defmacro test-case (form &key (expected 'nil expected-p))
`(make-event
(let ((ans ,form)
(expected ,expected))
(if (or (null ,expected-p)
(equal ans expected))
(value `(value-triple ,ans))
(er soft 'test-case
"TEST-CASE expected ~y0, got ~y1."
expected ans)))))
|# ; |
(test-case (+ 3 4))
(test-case (+ 3 4) :expected 7)
(must-fail
(test-case (+ 3 4) :expected 8))
(test-case (equal (+ 3 4) 7))
(must-fail
(test-case (equal (+ 3 4) 8)))
|