Edgar's new test cases.
[openocd.git] / testing / index.html
index 267c2a7be33353dd467296ffc5a1c6d857d44aaa..57085b9523bf1c3d6d7382ec1e09014f66248d1d 100644 (file)
                <p>
                Note that this testing document does not have anything to do with testing that is done 
                before committing to svn. It is a test document for released code. Pre-commit testing
-               is done mostly by the developer who has written the change. Release testing is
+               is done mostly by the developer who has written the change. Sometimes code is committed
+               to synchronize work, even if it has known problems. Release testing is
                done on code believed to be stable, often a couple of weeks old, and not by
                the developers, but rather users and community testers who has the requisite hardware
-               and test setup. Also the testing can take place over an extended period of time.
+               and test setup. Also the testing will take place over an extended period of time.
                <p>
                All of the above makes it imperative that there can be no doubt about *which* code
                is tested and thus all tests refer to committed code by subversion number.  
                <h1>Release procedure</h1>
-               OpenOCD trunk is work in progress. Expect it to change daily and to have some work in progress.
+               OpenOCD trunk is work in progress. Expect it to change daily and to have some quirks.
                <p>If you need the latest released and tested version, look for binary snapshots of OpenOCD. Worst case look up the test result table below for the features that are important to you and extract and build the version that has the right cocktail of working features for you. You can also work with the community to address the problems you are seing. Testing work and bug reports are highly appreciated.</p>
                <p>The OpenOCD community may decide to create release branches. If this happens, then a branch will be created from OpenOCD trunk. The particular version to create that branch might be an older version rather than the latest and greatest. Fixes are then ported to that release branch from OpenOCD trunk.</p>
-               <h2>Vocabulary</h2>
-               <table border="1">
-                       <tr>
-                               <td width="100">Passed version</td>
-                               <td>The latest version on which the test is known to pass</td>
-                       </tr>
-                       <tr>
-                               <td width="100">Broken version</td>
-                               <td>The latest version on which the test is known to fail. n/a when older than passed version.</td>
-                       </tr>
-                       <tr>
-                               <td width="100">ID</td>
-                               <td>A unqiue ID to refer to a test. The unique numbers are maintained in this file.</td>
-                       </tr>
-               </table>
-               <p></p>
                <hr>
-               <h1>OpenOCD test results</h1>
-               These tests can be performed on any JTAG device as long as they are executed using the unmodified code from SVN.
-               <p>The latest version in which the test is known to have passed is in the table below.</p>
-               <table border="1">
-                       <tr>
-                               <th width="65">ID</th>
-                               <th width="165">Synopsis</th>
-                               <th align="center" width="110">JTAG device</th>
-                               <th align="center" width="110">Passed version</th>
-                               <th align="center" width="110">Broken version</th>
-                       </tr>
-                       <tr>
-                               <td width="65">ocd1</td>
-                               <td width="165">Telnet Windows</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65">ocd2</td>
-                               <td width="165">Telnet Linux</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65">ocd3</td>
-                               <td width="165">Telnet Cygwin</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#test_ocd4">ocd4</a></td>
-                               <td width="165">ARM7 debugging</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65">xscale1</td>
-                               <td width="165">XScale debugging</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65">xscale2</td>
-                               <td width="165">XScale MMU</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-ram">bdte-ram</a></td>
-                               <td width="165">str710 ram debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-rom">bdte-rom</a></td>
-                               <td width="165">str710 rom debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-ram">bdte-ram</a></td>
-                               <td width="165">str912 ram debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-rom">bdte-rom</a></td>
-                               <td width="165">str912 rom debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-ram">bdte-ram</a></td>
-                               <td width="165">lpc2148 ram debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-rom">bdte-rom</a></td>
-                               <td width="165">lpc2148 rom debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-ram">bdte-ram</a></td>
-                               <td width="165">lpc2294 ram debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-rom">bdte-rom</a></td>
-                               <td width="165">lpc2294 rom debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-ram">bdte-ram</a></td>
-                               <td width="165">sam7s256 ram debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-rom">bdte-rom</a></td>
-                               <td width="165">sam7s256 rom debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-ram">bdte-ram</a></td>
-                               <td width="165">sam7x256 ram debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-rom">bdte-rom</a></td>
-                               <td width="165">sam7x256 rom debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="65"><a href="#bdte-ram">bdte-ram</a></td>
-                               <td width="165">at91r40008 ram debugging</td>
-                               <td align="center" width="110">JTAGkey</td>
-                               <td align="center" width="110">423</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-               </table>
-               <p></p>
-               <hr>
-               <h1>OpenOCD JTAG device test results</h1>
-               Each JTAG device must be tested
-               
-               <table border="1">
-                       <tr>
-                               <th align="center" width="40">ID</th>
-                               <th width="90">Synopsis</th>
-                               <th width="110">Passed version</th>
-                               <th width="110">Broken version</th>
-                       </tr>
-                       <tr>
-                               <td width="40">jtag1</td>
-                               <td width="90">Parport</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="40">jtag2</td>
-                               <td width="90">JTAGkey</td>
-                               <td align="center" width="110">432</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="40">jtag3</td>
-                               <td width="90">Turtelizer2</td>
-                               <td align="center" width="110">432</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-                       <tr>
-                               <td width="40">jtag4</td>
-                               <td width="90">add new one</td>
-                               <td align="center" width="110">n/a</td>
-                               <td align="center" width="110">n/a</td>
-                       </tr>
-               </table>
-               <p></p>
-               <hr>
-               <h1>OpenOCD JTAG device speed test result</h1>
-               <p>The test result is in KB/sec.</p>
-               <table border="1">
-                       <tr>
-                               <th align="center" width="50">ID</th>
-                               <th width="90">Synopsis</th>
-                               <th width="40">r320</th>
-                               <th width="40">r420</th>
-                               <th width="40">r423</th>
-                       </tr>
-                       <tr>
-                               <td width="50"><a href="#speed1">speed1</a></td>
-                               <td width="90">JTAGkey</td>
-                               <td align="center" width="40">93</td>
-                               <td align="center" width="40">64 </td>
-                               <td align="center" width="40">93</td>
-                       </tr>
-                       <tr>
-                               <td width="50">speed2</td>
-                               <td width="90">add new one</td>
-                               <td align="center" width="40">n/a</td>
-                               <td align="center" width="40">n/a</td>
-                               <td align="center" width="40">n/a</td>
-                       </tr>
-               </table>
-               <p></p>
-               <hr>
-               <h1>Policy on removing features from OpenOCD</h1>
-               If a feature in OpenOCD is known to be broken and nobody has submitted a fix and the feature is causing trouble for maintainence, it can be removed from OpenOCD trunk. The threshold for temporarily removing something from OpenOCD trunk is low to ease maintainence and place the burden of maintainence on those that care about a feature.
-               <p>Note that code is never deleted from OpenOCD svn, it remains in svn so if somebody sees a feature removed that they would like kept, they have but to port and fix that feature back up to main trunk. This document can be helpful in this regard in that the latest working version and the known broken version may be listed.</p>
-               <h1>Policy on adding features from OpenOCD</h1>
-               To add a feature to OpenOCD, generally it should not break any existing features and it should be functional and the code reasonably readable and useful to others in the OpenOCD community. The code does not have to be completed. Work in progress is fine for OpenOCD trunk.
-               <p>Also new tests should be defined. Note that the code does not have to pass all the tests. In fact it can be helpful to have tests to describe facets that really should be working, but aren't done yet. </p>
-               <hr>
-               <h1>ocd4 - ARM7 debugging<a name="test_ocd4"></a></h1>
-               Connect to ARM7 device(any), use GDB load to load a program into RAM and single halt, resume and single step.
-               <hr>
-               <h1>bdte-ram (Basic debugging test with Eclipse in RAM)<a id="bdte-ram" name="bdte-ram"></a></h1>
-               <p>This test was made under Eclipse with the Zylin Embedded CDT&nbsp;plugin. For the GDB &quot;Initialize commands&quot; take a look in the examples/&lt;target&gt;/prj/<b>eclipse_ram.gdb</b> file.</p>
-               <p>Start debugging,  the debugger should stop at main. set some breakpoints and &quot;Resume&quot;. If the debugger hit a breakpoint check if the &quot;Variables&quot; looks correct. Remove some breakpoints and &quot;Resume&quot; again. If the target is running, use the &quot;Suspend&quot; function and use &quot;Step Into&quot; or &quot;Step Over&quot; through the source. Even open the &quot;Disassembly&quot; view and enable the &quot;Instruction Stepping Mode&quot;. Now you can single step through the assembler source. Use &quot;Resume&quot; again to run the program, set a breakpoint while the target is running. Check if  you can inspect the variables with the mouse over. Play a little with the target...</p>
-               <hr>
-               <h1>bdte-rom (Basic debugging test with Eclipse in ROM)<a id="bdte-rom" name="bdte-rom"></a></h1>
-               <p>This test was made under Eclipse with the Zylin Embedded CDT&nbsp;plugin. For the GDB &quot;Initialize commands&quot; take a look in the examples/&lt;target&gt;/prj/<b>eclipse_rom.gdb</b> file.</p>
-               <p>Start debugging, the debugger should download and store the program in the flash of the target.</p>
-               <p>Now you can make some tests like described in the <a href="#bdte-ram">bdte-ram</a> section above too.</p>
-               <hr>
-               <h1>speed1 - Download speed test<a id="speed1" name="speed1"></a></h1>
-               <p>For this test a STR710 with external memory was used. The example project can be found under examples/STR710JtagSpeed. Here Eclipse or the arm-elf-gdb can be used to download the test.elf file into the RAM. The result of the GDB&nbsp;can look like:</p>
-               <p>Loading section .text, size 0x6019c lma 0x62000000<br>
-                       Start address 0x62000040, load size 393628<br>
-                       Transfer rate: 93 KB/sec, 2008 bytes/write.</p>
-               <p>In this example a speed of 93 KB/sec was reached. The hardware which was used for the test can be found <a href="http://www.yagarto.de/projects/str7usbmsd/index.html" target="new">here</a>.</p>
-               <p></p>
+               <h2>OpenOCD smoketests</h2>
+               This is a set of tests that exercise the entire OpenOCD system and various targets. It
+               is a small suite of systemwide smoketests.
+               <p>
+               <a href="smoketests.html">Smoketests</a>
+               <h2>Test cases</h2>
+               Additionally OpenOCD has test cases that target specific functionality more precisely.
+               <p>
+               A full release test must include both smoketests and unit testing. 
+               <p>
+               <a href="testcases.html">Test cases</a>
        </body>
 
 </html>
\ No newline at end of file

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)