From 180bd5ae6cb960bef58dee55285a92e2bb26641c Mon Sep 17 00:00:00 2001 From: "Robert P. Goldman" <rpgoldman@gmail.com> Date: Wed, 29 Oct 2014 17:00:20 -0500 Subject: [PATCH] Test for Ilya Perminov's report Added new test to test-deferred-warnings.script to assess how undefined variable warnings are handled. --- test/fun-with-undefined-locals.lisp | 7 +++++++ test/test-deferred-warnings.script | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 test/fun-with-undefined-locals.lisp diff --git a/test/fun-with-undefined-locals.lisp b/test/fun-with-undefined-locals.lisp new file mode 100644 index 00000000..a0df97dc --- /dev/null +++ b/test/fun-with-undefined-locals.lisp @@ -0,0 +1,7 @@ +(defpackage fun-with-undefined-locals-package + (:use :common-lisp)) + +(in-package :fun-with-undefined-locals-package) + +(defun foo () + (+ a b)) diff --git a/test/test-deferred-warnings.script b/test/test-deferred-warnings.script index 3ec10ff3..1f62b418 100644 --- a/test/test-deferred-warnings.script +++ b/test/test-deferred-warnings.script @@ -28,6 +28,8 @@ :depends-on (:unintern-foo) :serial t :components ((:file "use-setf-foo") (:file "defsetf-foo"))) +(def-test-system :undefined-variables + :components ((:file "fun-with-undefined-locals"))) (DBG :tdw0 *compile-file-warnings-behaviour*) (handler-bind @@ -95,3 +97,18 @@ ((or compile-file-error compile-warned-error) () t) ;;(t (c) (DBG :ustdf0 c)) (:no-error (&rest values) (DBG :ustdf1 values) nil))) + +(assert + (flet ((expected-error (x) + (format t "Expected error type: ~a" (type-of x)) + t)) + (handler-case + (let ((*compile-file-warnings-behaviour* :error)) + (trace compile-file) + (load-system :undefined-variables) + nil) + (compile-failed-error (x) (expected-error x)) + (compile-file-error (x) (expected-error x)) + (error (x) + (format t "Unexpected error type: ~a" (type-of x)) + nil)))) -- GitLab