From 3a0daa1510d23878e0e077fc2d804b842e7ba523 Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Tue, 7 Mar 2006 11:45:12 +0000 Subject: [PATCH] Tests of nonstanardized error situations with iteration forms --- ansi-tests/beyond-ansi/errors-iteration.lsp | 60 +++++++++++++++++++++ ansi-tests/beyond-ansi/errors-loop.lsp | 56 +++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 ansi-tests/beyond-ansi/errors-iteration.lsp create mode 100644 ansi-tests/beyond-ansi/errors-loop.lsp diff --git a/ansi-tests/beyond-ansi/errors-iteration.lsp b/ansi-tests/beyond-ansi/errors-iteration.lsp new file mode 100644 index 00000000..d6d67f1d --- /dev/null +++ b/ansi-tests/beyond-ansi/errors-iteration.lsp @@ -0,0 +1,60 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Contains: Tests of non-ANSI exceptions sutation from CLHS section 6 (Iteration) + +(in-package :ba-test) + +(compile-and-load "ba-aux.lsp") + +;;; DO tests + +(def-all-error-test do.1 'listp #'(lambda (x) `(do . ,x))) +(def-all-error-test do.2 'listp #'(lambda (x) `(do () . ,x))) +(def-all-error-test do.3 #'(lambda (x) (or (symbolp x) (listp x))) #'(lambda (x) `(do (,x)))) +(def-all-error-test do.4 'listp #'(lambda (x) `(do ((a 1 (1+ a)) . ,x)))) +(def-all-error-test do.5 'listp #'(lambda (x) `(do () ,x))) +(def-all-error-test do.6 'listp #'(lambda (x) `(do () (t . ,x)))) +(def-all-error-test do.7 'listp #'(lambda (x) `(do () (t) . ,x))) +(def-all-error-test do.8 'listp #'(lambda (x) `(do ((a . ,x)) (t)))) +(def-all-error-test do.9 'listp #'(lambda (x) `(do ((a 1 . ,x)) (t)))) +(def-all-error-test do.10 'listp #'(lambda (x) `(do ((a 1 (1+ a) . ,x)) (t)))) +(def-error-test do.11 (do)) + +;;; DO* tests + +(def-all-error-test do*.1 'listp #'(lambda (x) `(do* . ,x))) +(def-all-error-test do*.2 'listp #'(lambda (x) `(do* () . ,x))) +(def-all-error-test do*.3 #'(lambda (x) (or (symbolp x) (listp x))) #'(lambda (x) `(do* (,x)))) +(def-all-error-test do*.4 'listp #'(lambda (x) `(do* ((a 1 (1+ a)) . ,x)))) +(def-all-error-test do*.5 'listp #'(lambda (x) `(do* () ,x))) +(def-all-error-test do*.6 'listp #'(lambda (x) `(do* () (t . ,x)))) +(def-all-error-test do*.7 'listp #'(lambda (x) `(do* () (t) . ,x))) +(def-all-error-test do*.8 'listp #'(lambda (x) `(do* ((a . ,x)) (t)))) +(def-all-error-test do*.9 'listp #'(lambda (x) `(do* ((a 1 . ,x)) (t)))) +(def-all-error-test do*.10 'listp #'(lambda (x) `(do* ((a 1 (1+ a) . ,x)) (t)))) +(def-error-test do*.11 (do*)) + +;;; DOTIMES tests + +(def-error-test dotimes.1 (dotimes)) +(def-all-error-test dotimes.2 'listp #'(lambda (x) `(dotimes . ,x))) +(def-all-error-test dotimes.3 'symbolp #'(lambda (x) `(dotimes (,x 1)))) +(def-all-error-test dotimes.4 (constantly nil) #'(lambda (x) `(dotimes (,x)))) +(def-all-error-test dotimes.5 'integerp #'(lambda (x) `(dotimes (i ',x)))) +(def-all-error-test dotimes.6 'listp #'(lambda (x) `(dotimes (i . ,x)))) +(def-all-error-test dotimes.7 'listp #'(lambda (x) `(dotimes (i 1 . ,x)))) +(def-all-error-test dotimes.8 'listp #'(lambda (x) `(dotimes (i 1) . ,x))) +(def-all-error-test dotimes.9 'listp #'(lambda (x) `(dotimes (i 1 nil . ,x)))) +(def-all-error-test dotimes.10 'listp #'(lambda (x) `(dotimes (i 1 nil ,x)))) + +;;; DOLIST tests + +(def-error-test dolist.1 (dolist)) +(def-all-error-test dolist.2 'listp #'(lambda (x) `(dolist . ,x))) +(def-all-error-test dolist.3 'symbolp #'(lambda (x) `(dolist (,x nil)))) +(def-all-error-test dolist.4 'listp #'(lambda (x) `(dolist (e . ,x)))) +(def-all-error-test dolist.5 'listp #'(lambda (x) `(dolist (e nil . ,x)))) +(def-all-error-test dolist.6 'listp #'(lambda (x) `(dolist (e nil nil . ,x)))) +(def-all-error-test dolist.7 'listp #'(lambda (x) `(dolist (e nil nil ,x)))) +(def-all-error-test dolist.8 'listp #'(lambda (x) `(dolist (e ',x nil)))) +(def-all-error-test dolist.9 'listp #'(lambda (x) `(dolist (e nil nil) . ,x))) diff --git a/ansi-tests/beyond-ansi/errors-loop.lsp b/ansi-tests/beyond-ansi/errors-loop.lsp new file mode 100644 index 00000000..87a6b81c --- /dev/null +++ b/ansi-tests/beyond-ansi/errors-loop.lsp @@ -0,0 +1,56 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Contains: Tests of non-ANSI exceptions sutation from CLHS for the LOOP macro + +(in-package :ba-test) + +(compile-and-load "ba-aux.lsp") + +;;; LOOP tests + +(def-all-error-test loop.1 'listp #'(lambda (x) `(loop . ,x))) + +(def-all-error-test loop.named.1 'symbolp #'(lambda (x) `(loop named ,x return nil))) +(def-all-error-test loop.named.2 'listp #'(lambda (x) `(loop named . ,x))) + +(def-error-test loop.with.1 (loop with)) +(def-all-error-test loop.with.2 #'(lambda (x) (or (symbolp x) (listp x))) + #'(lambda (x) `(loop with ,x))) +(def-all-error-test loop.with.3 'listp #'(lambda (x) `(loop with . ,x))) +(def-all-error-test loop.with.4 'listp #'(lambda (x) `(loop with x . ,x))) +(def-all-error-test loop.with.5 'listp #'(lambda (x) `(loop with x = . ,x))) +(def-all-error-test loop.with.6 'listp #'(lambda (x) `(loop with x t = . ,x))) + +(def-error-test loop.initially.1 (loop initially)) +(def-all-error-test loop.initially.2 'listp #'(lambda (x) `(loop initially . ,x))) +(def-all-error-test loop.initially.3 'listp #'(lambda (x) `(loop initially (progn) . ,x))) + +(def-error-test loop.finally.1 (loop finally)) +(def-all-error-test loop.finally.2 'listp #'(lambda (x) `(loop finally . ,x))) +(def-all-error-test loop.finally.3 'listp #'(lambda (x) `(loop finally (progn) . ,x))) + +;;; LOOP FOR clauses + +(def-error-test loop.for.1 (loop for)) +(def-all-error-test loop.for.2 'listp #'(lambda (x) `(loop for . ,x))) +(def-all-error-test loop.for.3 'symbol-or-list-p #'(lambda (x) `(loop for ,x))) +(def-all-error-test loop.for.4 'symbol-or-list-p #'(lambda (x) `(loop for ,x = nil))) +(def-error-test loop.for.5 (loop for x from)) +(def-error-test loop.for.6 (loop for x upfrom)) +(def-error-test loop.for.7 (loop for x downfrom)) +(def-error-test loop.for.8 (loop for x upto)) +(def-error-test loop.for.9 (loop for x to)) +(def-error-test loop.for.10 (loop for x below)) + +(def-all-error-test loop.for.11 (typef '(or symbol list class)) + #'(lambda (x) `(loop for e ,x = nil return e))) + +(def-all-error-test loop.for.12 'listp #'(lambda (x) `(loop for x . ,x))) +(def-all-error-test loop.for.13 'listp #'(lambda (x) `(loop for x from . ,x))) +(def-all-error-test loop.for.14 'listp #'(lambda (x) `(loop for x downfrom . ,x))) +(def-all-error-test loop.for.15 'listp #'(lambda (x) `(loop for x upfrom . ,x))) +(def-all-error-test loop.for.16 'listp #'(lambda (x) `(loop for x upto . ,x))) +(def-all-error-test loop.for.17 'listp #'(lambda (x) `(loop for x to . ,x))) +(def-all-error-test loop.for.18 'listp #'(lambda (x) `(loop for x downto . ,x))) + + -- GitLab