On 2/26/13 Feb 26 -2:52 PM, Faré wrote:
On Tue, Feb 26, 2013 at 3:00 PM, Robert Goldman rpgoldman@sift.info wrote:
I got through almost all the upgrade tests before failing with allegromodern trying to upgrade from 1.85:
; registering #<system :asdf @ #x1000afe932> as asdf ; Fast loading /Users/rpg/lisp/asdf/build/asdf.fasl TEST ABORTED: Attempt to fast load a non-fasl file: #P"/Users/rpg/lisp/asdf/build/asdf.fasl" Script failed upgrade FAILED for allegromodern from 1.85 using method 'load-asdf-lisp'load-asdf-system
I can see why this fails!
When I look at ~/lisp/asdf/build/asdf.fasl in emacs I see this:
#!/usr/local/bin/sbcl --script # FASL compiled from "/Users/rpg/lisp/asdf/build/asdf.lisp" using SBCL version 1.1.3.7-63e78fc
which suggests to me that we may be leaking something from one test to another...
Oh, I see.
Usually, we do not create a build/asdf.fasl, because the output-translations layer moves it away.
However, when testing antique version 1.85, we do create that file. And then, we have the clash between asdf.fasl from sbcl and asdf.fasl from allegro, just like we used to have in the bad old times — precisely because we're testing an upgrade from the bad old times.
To counter that, the first upgrade target is load-asdf-lisp-clean, but in this case, it wasn't cleaning enough.
I've pushed a fix to the repository, and my manual testing suggests the tests are working after in a way that they weren't before: make u l=sbcl ASDF_UPGRADE_TEST_TAGS=1.85 make u l=allegro ASDF_UPGRADE_TEST_TAGS=1.85
Drat! Still not fully fixed in the context of
make test-all-upgrade
Above backtrace due to this condition: #P"/Users/rpg/.cache/common-lisp/acl-8.2m-macosx-x64/Users/rpg/lisp/asdf/build/asdf.fasl" does not exist, cannot load Script failed upgrade FAILED for allegromodern from 1.85 using method 'load-asdf-lisp'load-asdf-system you can retry just that test with: ASDF_UPGRADE_TEST_TAGS="1.85" ASDF_UPGRADE_TEST_METHODS="'load-asdf-lisp'load-asdf-system" ./test/run-tests.sh -u allegromodern or more interactively (and maybe with rlwrap or in emacs), start with: mlisp -q then copy/paste: (load"test/script-support.lisp") (asdf-test::da) (test-upgrade 'load-asdf-lisp'load-asdf-system "1.85")
My guess is that this is another one of those bugs that's a bug in the testing, rather than in ASDF itself...
I notice that the test is trying to load from my .cache rather than loading from the special place for parking asdf test products. Is that related?
Best, r