<div dir="ltr"><div><div><div>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.<br><br></div>If you actually care about those variables, define a function that sets them,<br></div>and call it at the beginning of those files.<br><br></div>If you have a lot of files, define a class for those files that does it in its perform method for basic-load-op.<br><div><div><div><div><div class="gmail_extra"><br></div><div class="gmail_extra">As for defining accessors before the packages are interned,<br>to be executed by a function run *after* they are interned,<br>you can use such idioms as:<br></div><div class="gmail_extra">   (setf (symbol-value (find-symbol* :<span>*enable-colors* :</span>prove.color) nil)<br></div><div class="gmail_extra">Note that find-symbol* is defined by uiop, which is :use'd by :asdf-user.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Alternatively, you could (load-system :prove) in your .asd file,<br></div><div class="gmail_extra">but it's ugly.<br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• <a href="http://fare.tunes.org" target="_blank">http://fare.tunes.org</a><br></div></div>
<br><br><br><div class="gmail_quote">On Tue, Sep 6, 2016 at 6:58 AM, Alexey Veretennikov <span dir="ltr"><<a href="mailto:txm.fourier@gmail.com" target="_blank">txm.fourier@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div>Hi all,<br><br></div>I am using cl-project to generate project skeleton for the library including separate asd file for unit tests.<br></div>The test framework I use is the default for cl-project: prove.<br></div>Using this framework I would like to set some special variables to control test execution _before_ running the <span>asdf:test-system</span></div>i.e.<br>(<span>setf</span> prove.color:<span>*enable-colors*</span> <span>nil</span>)<br>(<span>setf</span> prove:<span>*default-reporter*</span> :tap)<br><br></div>But the problem is when I set them directly in .asd file, the CL reader complains what the prove.color and prove packages do not exist (which is true, since the prove dependency is not yet loaded).<br></div><div>I could set them in every test file, but I would like to set them globally.<br></div>How could I set them after the dependency to unit test library (prove) is loaded and therefore package exists?<br><br></div>This is what I have in .asd file for tests:<br><br> :defsystem-depends-on (:prove-asdf)
      
      
        <table><tbody><tr><td>  :perform (test-op :after (op c)</td>
      </tr>
      <tr>
        </tr></tbody></table><table><tbody><tr><td>                    (funcall (intern <span>#.</span>(string :run-test-system) :prove-asdf) c)</td>
      </tr>
      <tr>
        </tr></tbody></table>                    (asdf:clear-system c)))<br><br></div>Br<span class="gmail-HOEnZb"><font color="#888888"><br></font></span></div><span class="gmail-HOEnZb"><font color="#888888">/Alexey<br></font></span></div>
</blockquote></div><br></div></div></div></div></div></div>