[asdf-devel] Recent pull of ASDF fails tests on ECL

Faré fare at tunes.org
Mon Nov 21 16:49:39 UTC 2011


Yes, I noticed that ecl doesn't like my trying to reset a system with
(change-class (change-class system 'standard-object) 'system).
It looks like using an ancestor class proto-system instead
with a slot name works better. I committed that as 2.018.19.
If it still doesn't work portably enough, it seems that
this painful manual reset should work (though it isn't very maintainable):

(defun* reset-system (system &rest keys &key &allow-other-keys)
  (change-class system 'system)
  (dolist (slot '(name version description long-description
                  relative-pathname absolute-pathname around-compile
                  components-by-name
                  author maintainer licence source-file defsystem-depends-on))
    (slot-makunbound system slot))
  (setf (slot-value system 'operation-times) (make-hash-table)
        (component-inline-methods system) nil
        (component-load-dependencies system) nil)
  (apply 'reinitialize-instance system
         (append keys `(:in-order-to nil :do-first nil
                        :parent nil :properties nil
                        :components nil :if-component-dep-fails :fail
                        :default-component-class ,*default-component-class*))))

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
The real danger is that one day machines *will* become intelligent,
but we'll lack the mental equipment to notice.
		— Tiresias, in J.-P. Petit, "Run, Robot, Run"

On Mon, Nov 21, 2011 at 10:10, Robert Goldman <rpgoldman at sift.info> wrote:
> Running make test-all, I get the following:
>
> Using ecl -norc -load sys:cmp
> Ran 36 tests:
>  5 passing and 31 failing
> failing test(s):  asdf-pathname-test.script test-around-compile.script
> test-builtin-source-file-type.script test-compile-file-failure.script
> test-configuration.script test-force.script
> test-missing-lisp-file.script test-module-depend.script
> test-module-excessive-depend.script test-module-pathnames.script
> test-multiple.script test-nested-components.script test-package.script
> test-redundant-recompile.script test-retry-loading-component-1.script
> test-samedir-modules.script test-source-file-type.script
> test-static-and-serial.script test-sysdef-asdf.script
> test-system-pathnames.script test-touch-system-1.script
> test-touch-system-2.script test-try-recompiling-1.script
> test-version.script test-xach-update-bug.script test1.script
> test2.script test3.script test4.script test9.script wild-module.script
> -#---------------------------------------
>
> ECL:
>> (lisp-implementation-version)
>
> "11.1.1"
>> (software-version)
>
> "10.8.0"
>
>> (machine-type)
>
> "intel-mac"
>
> Mac OS X 10.6.8
>
> Could this be an error that comes from getting rid of VERSION somehow in
> the latest patch?  Tried this using run-test on
> asdf-pathname-test.script and see a lot of lines like the following:
>
> sysdef:
>  (ASDF:DEFSYSTEM :SYSTEM1 :PATHNAME #P"ASDFTEST:SYSTEM1;" :COMPONENTS
> ((:MODULE :MODULE1 :PATHNAME #P"ASDFTEST:SYSTEM2;MODULE4;" :COMPONENTS
> ((:FILE "file" :PATHNAME #P"ASDFTEST:SYSTEM2;MODULE4;FILE.LISP") (:FILE
> "module2/file" :PATHNAME #P"ASDFTEST:SYSTEM2;MODULE4;FILE.LISP")))))
> error! Not a non-negative fixnum SI:UNBOUND
>
> non-negative fixnum just seemed to me that it might be a version number....
>
> I suppose it could be a file-write-date....  Oddly, despite the -d flag
> on run-test, I didn't get thrown into the debugger.
>
> Same test passes on SBCL.
>
> Best,
> r




More information about the asdf-devel mailing list