[asdf-devel] testing ASDF with cl-test-grid

Anton Vodonosov avodonosov at yandex.ru
Tue Feb 19 14:08:19 UTC 2013

18.02.2013, 15:13, "Faré" <fahree at gmail.com>:

> Anton Vodonosov:
>>  I am thinking to add backtraces. Wasn't sure how (to depend
>>  on some library like trivial-backtrace, but what if the library itself
>>  is broken on the given lisp; or maybe copy/paste code to cl-test-gird;
>>  did't know about asdf/driver, alghtouhg it will only work on the lates
>>  ASDF). I will solve it somehow. Meantime it is necessary to reproduce
>>  the problem manually.
> At worst, you could copy/paste and simplify code from asdf/image.
> I already merged in code from xcvb-driver and trivial-backtrace, so
> it should work in more cases. 

Done so

> And if you add implementations, please contribute them to asdf/image.


> unicly: encoding problem. I wonder why it doesn't appear with other
> run — are you using an ASCII locale where you were using UTF-8 before?

No, it was run with ASCII both times. The difference turns out
is :verbose t passed into (ql:quickload). I reproduced it manually:

    rm -r ~/.cache/common-lisp/
    ~/lisps/sbcl-1.1.1-bin/run.sh --no-sysinit --no-userinit --load quicklisp-patched2/setup.lisp
    (ql:quickload :unicly) 

works, while

    rm -r ~/.cache/common-lisp/
    ~/lisps/sbcl-1.1.1-bin/run.sh --no-sysinit --no-userinit --load quicklisp-patched2/setup.lisp
    (ql:quickload :unicly :verbose t) 


As I see in the Quicklisp sources, The :verbose nil binds some
variables like cl:*load-verbose* and invokes cl:muffle-warning
restart from handler-bind. Probably this interferes somehow with

> deoxybytes-*, cl-prolog: WFM. Maybe it's looks like it's been fixed by
> 2.29.1??? Or maybe you're actually using 2.28.10?? This looks more
> like the bug I fixed in 2.28.11 aka 2.29.

No, it was definetely tested with 2.29:

    $ head -n 2 quicklisp-patched2/asdf.lisp
    ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
    ;;; This is ASDF 2.29: Another System Definition Facility.

I reproduce it 100%: 
    ~/lisps/sbcl-1.1.1-bin/run.sh --no-sysinit --no-userinit --load quicklisp-patched2/setup.lisp
    (ql:quickload :cl-prolog) 

> mime4cl: bad use of defconstant for a list, caught by sbcl. Not an
> ASDF-specific issue.


I also want to clarify why the failure didn't shown in the previous
run. If we repeat the (ql:quickload :mime4cl) several times it finally
works. (I guess it's because at every invocation some .fasl files
are saved successfully before defconstant error occurs, so finally
all the .fals are compiled and load proceeds without errors).

During test run mime4cl is loaded several times because there
are libraries depending on it. But because of other library failures,
the number of mime4cl attempts in the second test run is less then
in the first test run, therefore we see it failing.

If remaining libraries are upstream errors, we can perform another
test run with 2.29.2 to see ensure we have no other errors, and the
checkout these libraries to quicklisp/local-projects and test again
to ensure they are fixed upstream.

More information about the asdf-devel mailing list