Jean-Claude Beaudoin wrote:
On Sun, Oct 5, 2014 at 11:03 PM, Faré <fahree@gmail.com mailto:fahree@gmail.com> wrote:
test-try-refinding.script is a relatively new test (introduced shortly before the 3.1.3 release), so its failure might not be a regression in ASDF if none of us tested 3.1.3 with MKCL (did we?). Now, infinite looping is certainly a bad failure mode in the test. This looks like a MKCL-specific bug, though:
It was a bug in MKCL alright! I managed to goof on the order of restarts returned by cl:compute-restarts in a change I did for 1.1.9. A nasty regression you would say. I think it is fixed now (in git repo master head).
With this fix I get test-try-refinding.script to run OK and got bold enough to try a run at a 'make t l=mkcl' and it said:
-#--------------------------------------- Using /home/jean-claude/CL/MKCL/dev/releases/mkcl-1.1/git/mkcl.git/src/bin/mkcl Ran 55 tests: 55 passing and 0 failing all tests apparently successful -#---------------------------------------
This morning I pulled an update from the mkcl git repo, rebuilt on my Linux Mint machine, and retested with the latest ASDF. All the tests that completed seemed to complete successfully, but test-program.script hung, instead of completing.
Seems to fail in the PROGRAM-OP:
test program-op - first, create the standalone program 1> (RUN-PROGRAM ("mkcl" "-norc" "-load" "/home/rpg/common-lisp/asdf/test/make-hello-world.lisp" "-eval" "(asdf-test::make-hello-PROGRAM)") :INPUT NIL :IGNORE-ERROR-STATUS T :OUTP\ UT (#<output stream "stdout">
\ :LINEWISE
\ T
\ :PREFIX
\ "stdout: ") :ERROR-OUTPUT (#<output stream "stdout">
\ :LINEWISE
\ T
\ :PREFIX
\ "stderr: ")) stdout: ;;; Loading "/home/rpg/common-lisp/asdf/test/make-hello-world.lisp" stdout: ;;; Loading "/home/rpg/common-lisp/asdf/build/fasls/mkcl/asdf.fas" stdout: Configuring ASDF stdout: Enabling debugging stdout: Being a bit verbose stdout: Comparing directories stdout: ASDF-TEST:*TEST-DIRECTORY* and stdout: (:PATHNAME-DIRECTORY-PATHNAME (NTH-VALUE 2 (:LOCATE-SYSTEM :TEST-ASDF))) both evaluate to \ same path: stdout: #P"/home/rpg/common-lisp/asdf/test/" stdout: Frob packages stdout: This is make-hello-world, testing its standard-output. stdout: This is make-hello-world, testing its error-output. stdout: This is make-hello-world, testing its stdout. stdout: This is make-hello-world, testing its stderr. stdout: ;;; Loading "/home/rpg/common-lisp/asdf/test/hello-world-example.asd" stdout: ;;; Loading "/home/rpg/common-lisp/asdf/uiop/uiop.asd" stdout: ;;; Loading "/home/rpg/common-lisp/asdf/build/fasls/mkcl-1.1.10-linux-x64/asdf/uiop/uiop.fa\ sb" stdout: ;;; Loading "/home/rpg/common-lisp/asdf/build/fasls/mkcl-1.1.10-linux-x64/asdf/test/hello-w\ orld-example.fasb" stdout: stdout: This is ManKai Common Lisp 1.1.10 stdout: stdout: Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya stdout: Copyright (C) 1993 Giuseppe Attardi stdout: Copyright (C) 2000 Juan J. Garcia-Ripoll stdout: Copyright (C) 2010-2014 Jean-Claude Beaudoin stdout: stdout: ManKai Common Lisp (MKCL) is free software, stdout: and you are welcome to redistribute and/or stdout: modify it under the terms of the GNU LGPL. stdout: See file 'Copyright' in the source code for details. stdout: stdout: Type :h for Help. stdout: Top level in: #<thread "Initial" active (12762) 0x2b388c6abb00 1d34000>. stdout: > <1 (RUN-PROGRAM NIL NIL 0) - use that 1> (RUN-PROGRAM ("/home/rpg/common-lisp/asdf/build/fasls/mkcl-1.1.10-linux-x64/asdf/test/hello-worl\ d-example") :OUTPUT :LINES :ERROR-OUTPUT T)
The block of the test that fails is "test program-op", "test image-op" seems to complete successfully.
This seems odd to me, since the result of the image test is a standalone program: it doesn't need to be loaded into mkcl:
$ ../build/fasls/mkcl-1.1.10-linux-x64/asdf/test/hello-world-exa\ mple--all-systems.image -norc -eval "(uiop:restore-image :entry-point 'hello:entry-point :lisp-inte\ raction nil)" -- a b c d hello, world You passed 4 arguments: "a" "b" "c" "d"
So seems like the program-op should be able to do exactly what the image-op does, and work correctly.
thanks, r