<a id="top"></a> <ol> <li> <a href="#head-5e20146fd39363329427c6251209cccb8d374f3e">Overview</a> </li> <li> <a href="#head-6e1d416048c4d8ebfb5b3919b4d924c77e652a7b">Validate</a> </li> <li> <a href="#head-5634566bd24f83d397b43525fc62685f6e678fbf">How to create a test</a> </li> </ol> <p> </p> <hr> <p> </p> <p><em>back to <a href="/cryptobox?action=doc&page=CryptoBoxDev">CryptoBoxDev</a></em> </p> <h2 id="head-5e20146fd39363329427c6251209cccb8d374f3e">Overview</h2> <p>The validation feature allows to check the programming logic of the <a href="/cryptobox?action=doc&page=CryptoBox">CryptoBox</a>. A lot of test cases are defined to test as many functions of the <a href="/cryptobox?action=doc&page=CryptoBox">CryptoBox</a> as possible. </p> <p>The requests are processed with <a class="external" href="http://curl.haxx.se/">curl</a>. </p> <p>The received web page is saved to allow a later design review or css debugging. </p> <p>The current state of the <a href="/cryptobox?action=doc&page=CryptoBox">CryptoBox</a> is represented by ten single values (e.g.: <em>box is configured</em>, <em>IP of the box</em>, <em>current language setting</em>, ...), which are invisibly a part of each html page (as comments). The returned status of every request is compared to the predicted value of the test case. </p> <p>Similar test cases are pooled into test groups (e.g.: <em>initialization</em>, <em>configuration</em> and <em>mounting</em>). </p> <h2 id="head-6e1d416048c4d8ebfb5b3919b4d924c77e652a7b">Validate</h2> <p>Run <tt>scripts/validate.sh check_all</tt> to conduct all tests of all groups. See <tt>scripts/validate.sh help</tt> for other actions. </p> <p>The results will be saved in <em>validation/report</em>. </p> <p>In addition to every single retrieved page, a html page called <em>summary.html</em> is created, which contains the state checks of all tests in a group. </p> <h2 id="head-5634566bd24f83d397b43525fc62685f6e678fbf">How to create a test</h2> <p>All test cases can be found in <em>validation/test-cases</em>. </p> <p>Every test consists of: </p> <dl> <dt>input.curl</dt> <dd><p>the configuration file for the <em>curl</em> request </p> </dd> <dt>output</dt> <dd><p>the predicted state of the <a href="/cryptobox?action=doc&page=CryptoBox">CryptoBox</a> after the call </p> </dd> <dt>description</dt> <dd><p>a short description of the test (will be used for the summary) </p> </dd> <dt>delay</dt> <dd><p>[optional] time to wait after this test </p> </dd> </dl> <p>Use the existing test cases as templates for new tests. </p> <p>Any logical path of the web interface CGI should be validated by a test case. </p> <a id="bottom"></a> </div> <p id="pageinfo" class="info" lang="en" dir="ltr">last edited 2005-09-13 22:09:03 by <span title="">lars</span></p> </div> <!-- end page -->