pcostanza / contextl

ContextL is a CLOS extension for Context-oriented Programming (COP), and was the first language extension that explicitly supports COP when it was originally introduced in 2005.
MIT License
47 stars 3 forks source link

Tests are failed on ECL and Clisp #2

Open catap opened 1 year ago

catap commented 1 year ago

I'm using ECL 21.2.1 and unit tests are failed with error:

:info:test ;;; Loading #P"/opt/local/lib/ecl-21.2.1/asdf.fas"
:info:test An error occurred during initialization:
:info:test The function CLOSER-MOP::MAYBE-REMOVE-INITIAL-METHODS is undefined..

When I've tried Clisp it fails as:

:info:test #P"/opt/local/lib/clisp-2.49.93+/dynmod/asdf.lisp"
:info:test (*DEFAULT-PATHNAME-DEFAULTS*
:info:test  #P"/opt/local/var/macports/build/_Users_catap_src_macports-ports_lisp_cl-contextl/cl-contextl/work/build/system/"
:info:test  #P"/opt/local/share/common-lisp/system/")
:info:test *** - READ from
:info:test        #<INPUT BUFFERED FILE-STREAM CHARACTER
:info:test          #P"/opt/local/var/macports/build/_Users_catap_src_macports-ports_lisp_cl-contextl/cl-contextl/work/.home/.cache/common-lisp/clisp-2.49.93+-unix-x86_64/opt/local/var/macports/build/_Users_catap_src_macports-ports_lisp_cl-contextl/cl-contextl/work/build/source/cl-contextl/cx-threads.fas"
:info:test          @229>
:info:test       : there is no package with name "CLOSER-MOP"

And SBCL works well

pcostanza commented 1 year ago

It seems that in your setup, Closer 2 MOP isn't properly loaded. How do you load ContextL, and what error message do you then see, if any?

catap commented 1 year ago

I'm using (asdf:operate (quote asdf:test-op) (quote XXX)) where XXX is replaced to each asd file name without .asd. It runs automatically via MacPorts and as part of my porting lisp software to MacPorts.

If I try to run it against dynamic-wind.asd it fails with error:

:info:test #P"/opt/local/lib/clisp-2.49.93+/dynmod/asdf.lisp"
:info:test (*DEFAULT-PATHNAME-DEFAULTS*
:info:test  #P"/opt/local/var/macports/build/_Users_catap_src_macports-ports_lisp_cl-contextl/cl-contextl/work/build/test_system/"
:info:test  #P"/opt/local/share/common-lisp/system/")
:info:test *** - Component DYNAMIC-WIND not found

The same error had happened with ECL and SBCL.

I can't reproduce original issue anymore, but I've "cleaned" my system, and original one was discovered when I've created tons of ports => probably some typos or side effects.

Thus, this method of testing works very well for more than 200 ports which I've created: https://github.com/macports/macports-ports/tree/master/lisp

pcostanza commented 1 year ago

I don't support asdf:test-op. ASDF caused some issues and annoyances over the years, so I am reluctant to use it more than necessary.

I am happy to accept pull requests.