[asdf-devel] Test results on Mac OSX
fahree at gmail.com
Mon Feb 25 01:05:44 UTC 2013
On Sun, Feb 24, 2013 at 7:14 PM, Robert Goldman <rpgoldman at sift.info> wrote:
>>> TEST ABORTED: Subprocess run with command "/bin/ln -sf
>>> /Users/rpg/lisp/asdf/build/test-multiple-too.asd 2>&1" exited with error
>>> code 1
>>> No backtrace for this.
> I believe the problem is that EXT:SYSTEM on ECL runs whatever shell is
> the value of SHELL, but your test code is all written for bash, without
> checking for it.
> I use the T shell.
> Probably a good thing that I am testing with this unusual configuration!
> I suppose the test code should force SHELL to be bash. I don't know if
> there's a portable way to do this. ASDF used to invoke /bin/sh, in
> RUN-SHELL-COMMAND, IIRC.
It is possible that there is a bug in asdf/driver:run-program,
or maybe one in ECL itself. Can you run again while tracing as follows?
(trace asdf/driver:run-program ext:run-program ext:shell)
I think the test-multiple might pass if you the /bin/ in /bin/ln.
Is the "T shell" the same thing as tcsh? Let me try it...
Indeed, I can reproduce the failure with
SHELL=tcsh make t l=ecl t='test-run-program.script
even though this works:
SHELL=tcsh make t l=ccl t='test-run-program.script
That's because somehow ECL, to get the exit value of a process,
reverts to a more primitive call to system, and then
relies on "exec > tmpfile ; command" for redirection,
independently from the content of command.
It looks like this is not portable to tcsh;
and probably not to Windows, either.
I don't know how to solve this problem portably
or to automatically detect a workaround.
Maybe the test script runner should just export SHELL=/bin/sh ?
>>> * ABCL 126.96.36.199 failed test-encodings: [...]
>> Weird. Looks like the UTF-8-encoded characters were read as MacRoman.
>> Within which sub-test does that occur? A bit more context above would help.
> This is the one that failed:
> (with-encoding-test (explicit-u8 :utf-8)
> (def-test-system :test-encoding-explicit-u8
> :components ((:file "lambda" :encoding :utf-8))))
> Note that to make this work, I added a dynamic variable that bound
> asdf-test::*test-name* and made the assert-compare-helper incorporate
> that name in its output.
> The dynamic variable was a little yucky, but otherwise I would have had
> to push the name (as an optional) through the arglist of all of the
> comparison macros....
> This might be useful for debugging, but the implementation is super nasty.
I'm not sure what you changed to "make it work".
If explicit request for utf-8 encoding doesn't work,
something is probably broken in either asdf and/or abcl.
>>> * Allegro Modern 8.2 failed test-utilities with this error:
>>> TEST ABORTED: Package "ASDF/ACTION" not found. [file position = 3334]
>>> The problem is the defparameter for *ok-symbols*, which gives the
>>> symbol names in all caps. I am attaching a patch for this.
>> Oops. You know, you have commit rights, and should readily push
>> quite uncontroversial patches like this.
> I haven't been attending as much as I should, so I wasn't sure how this
> interacted with the versioning (didn't seem worth a patch level bump,
> but I wasn't certain).
My principle is I only bump the version
when there's a change to the code itself (i.e. asdf.lisp in this case).
all the rest I consider ancillary.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
"There could hardly be a more unbearable — and more irrational —
world than one in which the most eminent specialists in each field
were allowed to proceed unchecked with the realization of their ideals"
— Friedrich A. Hayek
More information about the asdf-devel