set variables before executing the "test-op"

Faré fahree at gmail.com
Tue Sep 6 13:26:50 UTC 2016


On Tue, Sep 6, 2016 at 9:03 AM, Stelian Ionescu <sionescu at cddr.org> wrote:
>> It's probably wrong to set those settings from your .asd file, since they may be set or reset before your project runs, or in between two runs.
>> If you actually care about those variables, define a function that sets them,
>> and call it at the beginning of those files.
>>
>> If you have a lot of files, define a class for those files that does it in its perform method for basic-load-op.
>>
>> As for defining accessors before the packages are interned,
>> to be executed by a function run *after* they are interned,
>> you can use such idioms as:
>>    (setf (symbol-value (find-symbol* :*enable-colors* :prove.color) nil)
>> Note that find-symbol* is defined by uiop, which is :use'd by :asdf-user.
>>
>> Alternatively, you could (load-system :prove) in your .asd file,
>> but it's ugly.
>
> This sounds like a good moment to come up with an interface between test-system and the test suite runner, so that you can pass arguments to the test runner directly through asdf:test-system. Using dynamic variables for this use case is a bad idea.
>
Please propose an actual interface.

I don't see how that can be done in the current architecture.

Fixing the architecture and doing it right would be a good exercise
for whoever volunteers to write ASDF 4.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Not only is there no contradiction between egoism and altruism, but no
altruism is possible without egoism — for what betterment to wish to an other
person devoid of selfish desire, to whom any change is indifferent?



More information about the asdf-devel mailing list