Introspecting test suite passing/failing

Robert Goldman rpgoldman at sift.info
Wed Jun 6 17:17:05 UTC 2018


One more thing.  I *believe* that all `fiveam-test-system`s 
automagically depend on `fiveam`.  If I'm wrong about that, I should fix 
it....

Cheers,
r


On 6 Jun 2018, at 12:14, Robert Goldman wrote:

> On 6 Jun 2018, at 11:37, Mark Evenson wrote:
>
>>> On Jun 5, 2018, at 18:44, Robert Goldman <rpgoldman at sift.info> 
>>> wrote:
>>>
>>> I have pushed the system fiveam-asdf, which supports integration 
>>> between ASDF and the FIVEAM test library, to the contribs directory 
>>> in the ASDF repo. Please have a look.
>>>
>>> Be warned! It is old, and not being broke, hasn't been fixed. It 
>>> inappropriately is housed in the ASDF package and inappropriately 
>>> exports extensions from that package.
>>>
>>> But I believe it's still useful as an example of how to raise 
>>> conditions when the test operation goes wrong. Catching those 
>>> exceptions can be used to cause a build to fail in a CI system, 
>>> typically by running lisp in batch mode and having it exit with a 
>>> nonzero error code if the test operation fails.
>>>
>>
>> Robert,
>>
>> Thanks ever so much for [releasing the fiveam-asdf code][1].
>>
>> [1]: 
>> https://gitlab.common-lisp.net/asdf/asdf/tree/master/contrib/fiveam-asdf
>>
>> I seemingly misunderstand how to use the :CLASS argument to 
>> ASDF:DEFSYSTEM, as I cannot quite get your code to work.
>>
>> If you get a chance, can you eyeball [my example code to try to use 
>> FIVEAM-ASDF][2] to tell me if that looks like the correct usage?
>>
>> [2]: 
>> https://github.com/emotiq/asdf-test-harness/blob/master/eg/fiveam-asdf-example.asd
>>
>> Various versions of ASDF-3.1.x (SBCL, CCL, ABCL) are failing with 
>> problems about symbols:
>>
>> Error while trying to load definition for system
>> fiveam-asdf-example from pathname
>> /Users/evenson/work/asdf-test-harness/eg/fiveam-asdf-example.asd:
>>
>>    EXPORT ASDF/INTERFACE::FIVEAM-TESTER-SYSTEM causes
>>    name-conflicts in #<PACKAGE "ASDF/USER"> between the
>>    following symbols:
>>      ASDF/INTERFACE::FIVEAM-TESTER-SYSTEM,
>>      ASDF/USER::FIVEAM-TESTER-SYSTEM
>>    [Condition of type ASDF/FIND-SYSTEM:LOAD-SYSTEM-DEFINITION-ERROR]
>
> I had problems like this, too -- it's because of the fact that when 
> the `defsystem` form is first read, *before* the 
> `:defsystem-depends-on` is loaded, the symbol named 
> "FIVEAM-TESTER-SYSTEM" gets interned in `ASDF/USER` and then when it's 
> later exported from `ASDF/INTERFACE` (used by `ASDF/USER`) it collides 
> with the earlier-read symbol.
>
> I believe that the correct fix for this is to use any new symbols 
> (like `fiveam-tester-system`) in the keyword package, so
> ```
> :class :fiveam-tester-system
> ```
> and then when the `defsystem` form is processed *after* the defsystem 
> dependencies (in this case, `fiveam-asdf`), ASDF will look for keyword 
> symbols in the current package.
>
> Give that a try and see if it fixes your problem.
>
> We should check and see if the processing of keyword symbols is 
> documented clearly in the manual.  Possibly there should be a FAQ 
> entry for this issue....
>
> Best,
> Robert


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20180606/8d8da6b2/attachment.html>


More information about the asdf-devel mailing list