Oddities in ECL tests on Linux
Robert Goldman
rpgoldman at sift.info
Thu Aug 30 19:51:16 UTC 2018
I'm experimenting with your changes now but, for some reason that I
don't understand, when I run the tests as `make l=ecl` interactively on
Ubuntu (using the Ubuntu ECL package `16.1.2-3`), signals are throwing
me into the interactive debugger, instead of being caught. I have no
idea why this started happening, because I used to be able to run ECL
successfully, and I don't believe I have changed the package (although
Ubuntu might have upgraded it).
Actually /usr/bin/ecl is crashing with SIGABRT when running programs,
apparently, on my Ubuntu box. (`SIGABRT in si_run_program()`). I'll
try uninstalling and reinstalling ECL in the hopes that fixes this, but
unless I get some help, I will not be able to continue testing ASDF on
ECL on Linux.
On 30 Aug 2018, at 13:22, Marius Gerbershagen wrote:
> No, I don't think so. The sockets module has been part of ECL since
> version 0.9f from 2005. Please note, that this test can fail anyway if
> ECL is built without support for the respective module (be it :rt or
> :sockets). The change only prevents it from failing on a default build
> configuration.
>
> Am 30.08.2018 um 19:53 schrieb Robert Goldman:
>> Thank you very much for these, Marius. I will look into fixing them
>> directly. One question - do I need to check for ECL version number
>> when
>> requiring sockets in the test? I.e., to I need to test with |:rt| in
>> older versions and |:sockets| in newer? Or will |:sockets| work in
>> older
>> versions of ECL, as well?
>>
>> Best,
>> R
>>
>> On 30 Aug 2018, at 12:46, Marius Gerbershagen wrote:
>>
>> Harmless in the sense that ECL doesn't crash or throw me in the
>> interactive debugger. Besides, the test failures seem to be
>> easily
>> fixed. The test-require.script test fails because it tries to
>> require
>> the :rt module which is deprecated on the develop branch and no
>> longer
>> build by default. A simple fix is to use the :sockets module
>> instead:
>>
>> diff --git a/test/test-require.script b/test/test-require.script
>> index e5f70857..1ef84e8c 100644
>> --- a/test/test-require.script
>> +++ b/test/test-require.script
>> @@ -178,7 +178,7 @@
>> #+allegro :sax
>> #+clisp (first (remove "asdf" *dynmod-list* :test 'equal))
>> #+(or clozure cmucl) :defsystem
>> - #+ecl :rt ;; loads faster than :ecl-quicklisp
>> + #+ecl :sockets
>> #+lispworks "comm"
>> #+mkcl :walker
>> #+sbcl :sb-md5
>>
>> The test-program.script test seems to fail to include uiop
>> because of an
>> error in the linkable-system function. Tracing it shows that the
>> function returns nil for the uiop system object,
>> 1> (ASDF/BUNDLE::LINKABLE-SYSTEM #<system "uiop">)
>> <1 (ASDF/BUNDLE::LINKABLE-SYSTEM NIL)
>> which seems to be caused by a missing call to coerce-name:
>>
>> diff --git a/bundle.lisp b/bundle.lisp
>> index 2ff56f93..42034c9f 100644
>> --- a/bundle.lisp
>> +++ b/bundle.lisp
>> @@ -529,7 +529,7 @@ which is probably not what you want; you
>> probably
>> need to tweak your output tran
>> ;; If an ASDF upgrade is available from source, but not a UIOP
>> upgrade to that,
>> ;; then use the asdf/driver system instead of
>> ;; the UIOP that was disabled by check-not-old-asdf-system.
>> - (if-let (s (and (equal x "uiop") (output-files 'lib-op "asdf")
>> (find-system "asdf/driver")))
>> + (if-let (s (and (equal (coerce-name x) "uiop") (output-files
>> 'lib-op "asdf") (find-system "asdf/driver")))
>> (and (output-files 'lib-op s) s))
>> ;; If there was no source upgrade, look for modules provided by
>> the implementation.
>> (if-let (p (system-module-pathname (coerce-name x)))
>>
>>
>> Am 29.08.2018 um 01:22 schrieb Faré:
>>
>> I can't reproduce this, for me the tests run fine without
>> being thrown
>> in the debugger. I only get two harmlessly looking test
>> failures
>> (test-program.script and test-require.script).
>>
>> No test failure is harmless. The test-program.script failure
>> is what
>> Robert saw, that I can reproduce. I didn't reproduce a
>> failure with
>> test-require. I had more problems with ECL from the develop
>> branch,
>> but maybe it was a bad idea to use the develop branch.
>>
>> —♯ƒ • François-René ÐVB Rideau
>> •Reflection&Cybernethics•
>> http://fare.tunes.org
>> There are two kinds of people, those who do the work
>> and those who take the credit. Try to be in the first group;
>> there is less competition there
>> — Indira Gandhi.
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20180830/755c9899/attachment.html>
More information about the ecl-devel
mailing list