Skip to content
Snippets Groups Projects
Commit 797a5e38 authored by pfdietz's avatar pfdietz
Browse files

Add FORMATTER format control tests to warn, error, cerror tests

parent cb5fdbce
No related branches found
No related tags found
No related merge requests found
...@@ -19,6 +19,13 @@ ...@@ -19,6 +19,13 @@
(simple-error (c) (frob-simple-error c fmt)))) (simple-error (c) (frob-simple-error c fmt))))
t) t)
(deftest cerror.2a
(let* ((fmt (formatter "Cerror"))
(cnd (make-condition 'simple-error :format-control fmt)))
(handler-case (cerror "Continue on." cnd)
(simple-error (c) (frob-simple-error c fmt))))
t)
(deftest cerror.3 (deftest cerror.3
(let ((fmt "Cerror")) (let ((fmt "Cerror"))
(handler-case (cerror "Continue" 'simple-error :format-control fmt) (handler-case (cerror "Continue" 'simple-error :format-control fmt)
...@@ -31,6 +38,12 @@ ...@@ -31,6 +38,12 @@
(simple-error (c) (frob-simple-error c fmt 10)))) (simple-error (c) (frob-simple-error c fmt 10))))
t) t)
(deftest cerror.4a
(let ((fmt (formatter "Cerror: ~A")))
(handler-case (cerror "On on" fmt 10)
(simple-error (c) (frob-simple-error c fmt 10))))
t)
(deftest cerror.5 (deftest cerror.5
(let ((fmt (formatter "Cerror"))) (let ((fmt (formatter "Cerror")))
(handler-case (cerror "Keep going." fmt) (handler-case (cerror "Keep going." fmt)
...@@ -46,6 +59,7 @@ ...@@ -46,6 +59,7 @@
10)) 10))
10) 10)
;;; Program error cases
(deftest cerror.error.1 (deftest cerror.error.1
(signals-error (cerror) program-error) (signals-error (cerror) program-error)
......
...@@ -44,16 +44,16 @@ ...@@ -44,16 +44,16 @@
(deftest error.6 (deftest error.6
(handler-case (handler-case
(error 'simple-condition) (error 'simple-condition)
(error (c) :wrong) (error (c) (declare (ignore c)) :wrong)
(simple-condition (c) :right)) (simple-condition (c) (declare (ignore c)) :right))
:right) :right)
(deftest error.7 (deftest error.7
(handler-case (handler-case
(error 'simple-warning) (error 'simple-warning)
(error (c) :wrong) (error (c) (declare (ignore c)) :wrong)
(simple-warning (c) :right) (simple-warning (c) (declare (ignore c)) :right)
(condition (c) :wrong2)) (condition (c) (declare (ignore c)) :wrong2))
:right) :right)
(deftest error.8 (deftest error.8
...@@ -63,4 +63,33 @@ ...@@ -63,4 +63,33 @@
(simple-warning (c) (frob-simple-warning c fmt)))) (simple-warning (c) (frob-simple-warning c fmt))))
t) t)
(deftest error.9
(let ((fmt (formatter "Boo!")))
(handler-case
(error 'simple-warning :format-control fmt)
(simple-warning (c) (frob-simple-warning c fmt))))
t)
(deftest error.10
(let ((fmt (formatter "Error")))
(handler-case
(error 'simple-error :format-control fmt)
(simple-error (c) (frob-simple-error c fmt))))
t)
(deftest error.11
(let ((fmt (formatter "Error")))
(handler-case
(error fmt)
(simple-error (c) (frob-simple-error c fmt))))
t)
(deftest error.12
(let* ((fmt (formatter "Error"))
(cnd (make-condition 'simple-error :format-control fmt)))
(handler-case
(error cnd)
(simple-error (c) (frob-simple-error c fmt))))
t)
;;; Tests for other conditions will in their own files. ;;; Tests for other conditions will in their own files.
...@@ -159,3 +159,17 @@ ...@@ -159,3 +159,17 @@
(deftest warn.18 (deftest warn.18
(signals-error (warn (make-condition 'simple-error)) type-error) (signals-error (warn (make-condition 'simple-error)) type-error)
t) t)
(deftest warn.19
(let ((warned nil))
(handler-bind
((warning #'(lambda (c)
(assert (typep c 'simple-warning))
(setf warned t)
(muffle-warning c))))
(values
(multiple-value-list
(warn (make-condition 'simple-warning
:format-control (formatter "Foo!"))))
warned)))
(nil) t)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment