<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/2371/">https://reviewboard.asterisk.org/r/2371/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 21st, 2013, 4:52 a.m., <b>wdoekes</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/2371/diff/2/?file=34068#file34068line166" style="color: black; font-weight: bold; text-decoration: underline;">/asterisk/trunk/lib/python/asterisk/asterisk.py</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">class Asterisk:</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">166</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">local_root</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s">&quot;AST_TEST_ROOT&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">)</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">167</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">if</span> <span class="n">local_root</span> <span class="o">==</span> <span class="s">&#39;&#39;</span><span class="p">:</span></pre></td>
  </tr>

 </tbody>





 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">166</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">test_suite_root</span> <span class="o">=</span> <span class="s">&quot;/tmp/asterisk-testsuite&quot;</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">168</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">test_suite_root</span> <span class="o">=</span> <span class="s">&quot;/tmp/asterisk-testsuite&quot;</span></pre></td>
  </tr>

 </tbody>



 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">169</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">test_suite_root</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s">/tmp&quot;</span> <span class="o">%</span> <span class="n">local_root</span></pre></td>
  </tr>

 </tbody>





 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">167</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">170</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
  </tr>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">168</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="sd">&quot;&quot;&quot; The default etc directory for Asterisk &quot;&quot;&quot;</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">171</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="sd">&quot;&quot;&quot; The default etc directory for Asterisk &quot;&quot;&quot;</span></pre></td>
  </tr>

 </tbody>


 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">169</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">asterisk_etc_directory</span> <span class="o">=</span> <span class="s">&quot;/etc/asterisk&quot;</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">172</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">asterisk_etc_directory</span> <span class="o">=</span> <span class="s">&quot;</span><span class="si"><span class="hl">%s</span></span><span class="s">/etc/asterisk&quot;</span><span class="hl"> </span><span class="o"><span class="hl">%</span></span><span class="hl"> </span><span class="n"><span class="hl">local_root</span></span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is hard to read and wrong.
(1) AST_TEST_ROOT was always &#39;&#39;
(2) test_suite_root is now always /tmp instead of /tmp/ast_test_XXX/tmp.

As for the asterisk_etc_directory. I&#39;m not sure why it has to be specified. We&#39;re guessing the location below anyway..

I&#39;d rather remove the ``asterisk_etc_directory`` setting here and set it to os.path.dirname(c) after the guess.</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Still hard to read. Still broken. The (non run-local) tests now end up in &quot;/tmp&quot; instead of in &quot;/tmp/asterisk-testsuite&quot;.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 21st, 2013, 4:52 a.m., <b>wdoekes</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/2371/diff/2/?file=34069#file34069line26" style="color: black; font-weight: bold; text-decoration: underline;">/asterisk/trunk/run_local</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">26</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                make install samples DESTDIR=$PWD/testsuite/astroot</pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You&#39;re forcing me into naming the testsuite /testsuite/, while it doesn&#39;t need to.

Wouldn&#39;t this be nicer?

  ASTROOT=~/astroots/1.8.x ./run_local setup 
  ASTROOT=~/astroots/1.8.x ./run_local run

Then we wouldn&#39;t need a random tmpname, but could have /tmp/ast_test_1.8.x instead.</pre>
 </blockquote>



 <p>On March 23rd, 2013, 8:33 a.m., <b>Tzafrir Cohen</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Changing run_local to run-local.

As for the other names: I simply decided not to change them. The patch tries to keep everything in tact if run-local is not used. The test suite assumes it is run in the directory under asterisk. I&#39;m not sure why, exactly. I figure I can easily disable that test, but I&#39;m not sure what this breaks.

I do find this assumption odd. I suppose the test suite should either be part of the source tree or be completely independent of it. I personally prefer the former.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Well. Instead of the dependency that the tests must be in the source dir, they must now also have a certain name (&quot;testsuite&quot;). That&#39;s making things worse, not better.

The only place you&#39;re hardcoding /testsuite/ is in run-local. You can easily replace that with the &quot;current&quot; path with a few of basename/dirname calls.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 21st, 2013, 4:52 a.m., <b>wdoekes</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://reviewboard.asterisk.org/r/2371/diff/2/?file=34069#file34069line50" style="color: black; font-weight: bold; text-decoration: underline;">/asterisk/trunk/run_local</a>
    <span style="font-weight: normal;">

     (Diff revision 2)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">50</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        export AST_TEST_ROOT=`mktemp_symlink /tmp/ast_test_XXXXXX $PWD/astroot`</pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is empty. mktemp_symlink doesn&#39;t echo anything. So the RM below does nothing.

And it wouldn&#39;t be reached if ./runtests.py returned false.

And we don&#39;t like that things are removed. The original tests keep the structure around so we can asterisk -C in a testdir after running it.</pre>
 </blockquote>



 <p>On March 23rd, 2013, 8:27 a.m., <b>Tzafrir Cohen</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I noticed the missing echo and it&#39;s now fixed.

As for deleting it: I should not flood /tmp with such files. If you need to test anything, you can always recreate the symlink. Real content is not deleted.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">You&#39;re right.

(a) That means that you&#39;re using a tmp-dir in the build (root) dir. That&#39;s fine. As long as the caller realises that there are now temp files written to somewhere other than /tmp.

(b) But then the only reason why (a symlink in) /tmp is used at all, is to fix the AF_UNIX length. That should be documented near the symlink action.

And the set -e still causes the symlink to not get removed if runtests.py returns nonzero. Which it does it a test returns failure.</pre>
<br />




<p>- wdoekes</p>


<br />
<p>On March 23rd, 2013, 9:23 a.m., Tzafrir Cohen wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By Tzafrir Cohen.</div>


<p style="color: grey;"><i>Updated March 23, 2013, 9:23 a.m.</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Place anything needed for the test suite (except the actual sources of Asterisk) under the test suite directory.

Fix parts in the python code. Add a wrapper script (run_local) for the required automation.

Work is still needed on asttest (add a destdir option? Consolidate all the run-test scripts to run it through a common function?) but I&#39;m not exactly sure how the information is passed to Lua.</pre>
  </td>
 </tr>
</table>





<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/asterisk/trunk/tests/channels/SIP/sip_channel_params/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/channels/SIP/tcpauthlimit/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/channels/SIP/tcpauthtimeout/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/cdr/blind-transfer-accountcode/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/cdr/originate-cdr-disposition/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/channels/SIP/handle_response_refer/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/channels/SIP/rfc2833_dtmf_detect/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/run-local <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/apps/queues/macro_gosub_test/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/apps/queues/position_priority_maxlen/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/apps/queues/ringinuse_and_pause/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/apps/queues/wrapup_time/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/cdr/app_dial_G_flag/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/cdr/app_queue/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/README.txt <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/lib/python/asterisk/TestCase.py <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/lib/python/asterisk/asterisk.py <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/manager/action-events-response/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/manager/authlimit/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/manager/authtimeout/run-test <span style="color: grey">(3678)</span></li>

 <li>/asterisk/trunk/tests/manager/response-time/run-test <span style="color: grey">(3678)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/2371/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>