[asdf-devel] Test results on Mac OSX

Robert Goldman rpgoldman at sift.info
Mon Feb 25 15:20:46 UTC 2013

On 2/24/13 Feb 24 -11:16 PM, Faré wrote:

re: test-encodings

>> Sorry -- "make it work" just meant "make it so that I could determine
>> which test failed," not "make the encoding behave correctly."
> Uh, doesn't this test print the test name just before, in the logs?

It prints the test name, but my stuff adds a sub-test name.  There were,
IIRC, three places where we check UTF-8 encoding of the lambda character.

I made them distinguishable, but in a kludgy way.  See attached patch.
Could tidy it up, but possibly not worth it.  LMK what you think.


-------------- next part --------------
diff --git a/test/script-support.lisp b/test/script-support.lisp
index e0cf6b5..5f6e750 100644
--- a/test/script-support.lisp
+++ b/test/script-support.lisp
@@ -46,6 +46,7 @@ Some constraints:
 (defvar *debug-asdf* nil)
 (defvar *quit-when-done* t)
+(defvar *test-name* nil)
 (defun verbose (&optional (verbose t) (print verbose))
   (setf *load-verbose* verbose *compile-verbose* verbose)
@@ -208,8 +209,9 @@ Some constraints:
 (defun assert-compare-helper (op qx qy x y)
   (unless (funcall op x y)
-    (error "These two expressions fail comparison with ~S:~% ~
+    (error "~@[On sub-test ~a.~%~]These two expressions fail comparison with ~S:~% ~
             ~S evaluates to ~S~% ~S evaluates to ~S~%"
+           *test-name*
             op qx x qy y)))
 (defmacro assert-equal (x y)
diff --git a/test/test-encodings.script b/test/test-encodings.script
index 3977c69..398b273 100644
--- a/test/test-encodings.script
+++ b/test/test-encodings.script
@@ -19,7 +19,7 @@
                #+sbcl sb-impl::*default-external-format*
                #-(or clozure sbcl) (error "can't determine default external-format")))))
-(defmacro with-encoding-test ((encoding &key (op 'load-source-op) (path "lambda")) def-test-system &body body)
+(defmacro with-encoding-test ((name encoding &key (op 'load-source-op) (path "lambda")) def-test-system &body body)
   (let ((sys (second def-test-system)))
     `(with-asdf-cache (:override t)
        (format t "~&Test ~A: should be ~A~%" ',sys ',encoding)
@@ -33,10 +33,11 @@
        ,@(when op
            `((operate ',op ',(second def-test-system))))
        , at body
+       (let ((*test-name* ,(format nil "Encoding test ~a" name)))
          (eval `(assert-equal (string-char-codes ,*lambda-string*)
-                            (expected-char-codes ',',encoding))))))
+                            (expected-char-codes ',',encoding)))))))
-(with-encoding-test (:utf-8)
+(with-encoding-test (explicit-u8 :utf-8)
   (def-test-system :test-encoding-explicit-u8
     :components ((:file "lambda" :encoding :utf-8))))
@@ -74,46 +75,46 @@
 (load-system :asdf-encodings)
-(with-encoding-test (:latin-2)
+(with-encoding-test (implicit-autodetect :latin-2)
   (def-test-system :test-encoding-implicit-autodetect
     :components ((:file "lambda"))))
-(with-encoding-test (:koi8-r)
+(with-encoding-test (explicit-koi8-r :koi8-r)
   (def-test-system :test-encoding-explicit-koi8-r
     :components ((:file "lambda" :encoding :koi8-r))))
-(with-encoding-test (:utf-8)
+(with-encoding-test (file-encoding-u8 :utf-8)
   (def-test-system :test-file-encoding-u8
     :encoding :latin-1
     :components ((:file "lambda" :encoding :utf-8))))
-(with-encoding-test (:latin-1)
+(with-encoding-test (file-encoding-latin-1 :latin-1)
   (def-test-system :test-file-encoding-l1
     :encoding :utf-8
     :components ((:file "lambda" :encoding :latin-1))))
-(with-encoding-test (:utf-8 :op load-source-op)
+(with-encoding-test (encoding-u8 :utf-8 :op load-source-op)
   (def-test-system :test-system-encoding-u8
     :encoding :utf-8
     :components ((:file "lambda"))))
-(with-encoding-test (:utf-8 :op load-op)
+(with-encoding-test (encoding-u8-load-op :utf-8 :op load-op)
   (def-test-system :test-system-encoding-u8-load-op
     :encoding :utf-8
     :components ((:file "lambda"))))
-(with-encoding-test (:latin-1)
+(with-encoding-test (system-latin-1 :latin-1)
   (def-test-system :test-system-encoding-l1
     :encoding :latin-1
     :components ((:file "lambda"))))
-(with-encoding-test (:latin-1 :op load-op)
+(with-encoding-test (system-latin-1-load-op :latin-1 :op load-op)
   (def-test-system :test-system-encoding-l1-load-op
     :encoding :latin-1
     :components ((:file "lambda"))))
-(with-encoding-test (:utf-8 :path ("foo" "lambda"))
+(with-encoding-test (module-encoding-u8 :utf-8 :path ("foo" "lambda"))
   (def-test-system :test-module-encoding-u8
     :encoding :latin-1
     ((:module "foo" :pathname "" :encoding :utf-8
       :components ((:file "lambda"))))))
-(with-encoding-test (:latin-1 :path ("foo" "lambda"))
+(with-encoding-test (module-encoding-latin-1 :latin-1 :path ("foo" "lambda"))
   (def-test-system :test-module-encoding-l1
     :encoding :utf-8

More information about the asdf-devel mailing list