X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fprint.impure.lisp;h=95d246cf8659f88c3ab9c03b3f2504273a531660;hb=260de2062fca170efdac3e42491d7d866c2d2e56;hp=4b6fed3c7373b46e1411505cfc5b11df94912ba8;hpb=f9663e4a4c35614fcba5812882f9ed812cbcf62d;p=sbcl.git diff --git a/tests/print.impure.lisp b/tests/print.impure.lisp index 4b6fed3..95d246c 100644 --- a/tests/print.impure.lisp +++ b/tests/print.impure.lisp @@ -103,6 +103,10 @@ (assert (raises-error? (format nil "~<~<~A~:>~>" '(foo)))) (assert (string= (format nil "~<~<~A~>~>" 'foo) "FOO")) +(with-test (:name (:format :justification-atsign-check)) + (assert (raises-error? (format nil "~<~@>"))) + (assert (raises-error? (eval '(format nil "~<~@>"))))) + ;;; Check that arrays that we print while *PRINT-READABLY* is true are ;;; in fact generating similar objects. (assert (equal (array-dimensions @@ -268,7 +272,7 @@ ;;; bug 350: bignum printing so memory-hungry that heap runs out ;;; -- just don't stall here forever on a slow box -(with-test (:name bug-350 :fails-on :win32) +(with-test (:name :bug-350) (handler-case (with-timeout 10 (print (ash 1 1000000))) @@ -514,7 +518,7 @@ (assert (string= (format nil "~E" 0.01) "1.e-2")) (assert (string= (format nil "~G" 0.01) "1.00e-2"))) -(with-test (:name (:fp-read/print-consistency single-float)) +(with-test (:name (:fp-print-read-consistency single-float)) (let ((*random-state* (make-random-state t)) (oops)) (loop for f = most-positive-single-float then (/ f 2.0) @@ -532,12 +536,12 @@ (push fr oops) (return)))) (when oops - (error "FP read/print inconsistencies:~%~:{ ~S => ~S~%~}" + (error "FP print-read inconsistencies:~%~:{ ~S => ~S~%~}" (mapcar (lambda (f) (list f (read-from-string (prin1-to-string f)))) oops))))) -(with-test (:name (:fp-read/print-consistency double-float)) +(with-test (:name (:fp-print-read-consistency double-float)) (let ((*random-state* (make-random-state t)) (oops)) ;; FIXME skipping denormalized floats due to bug 793774. @@ -558,7 +562,7 @@ (push fr oops) (return))))) (when oops - (error "FP read/print inconsistencies:~%~:{ ~S => ~S~%~}" + (error "FP print-read inconsistencies:~%~:{ ~S => ~S~%~}" (mapcar (lambda (f) (list f (read-from-string (prin1-to-string f)))) oops))))) @@ -645,4 +649,12 @@ (timeout () (error "Endless loop in FORMAT")))) +(with-test (:name :format-type-check) + (assert (equal "1/10" (format nil "~2r" 1/2))) + (assert (raises-error? (format nil "~r" 1.32) sb-format:format-error)) + (assert (raises-error? (format nil "~c" 1.32) sb-format:format-error)) + (assert (equal "1/10" (eval '(format nil "~2r" 1/2)))) + (assert (raises-error? (eval '(format nil "~r" 1.32)) sb-format:format-error)) + (assert (raises-error? (eval '(format nil "~c" 1.32)) sb-format:format-error))) + ;;; success