Release testing

A release test must be done on code committed to git. Commit, then test. That way one can know for sure *what* code was actually tested.

Note that this testing document does not have anything to do with testing that is done before committing to git. It is a test document for released code. Pre-commit testing 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 will take place over an extended period of time.

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.

Release procedure

OpenOCD mainline is work in progress. Expect it to change daily and to have some quirks.

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.

The OpenOCD community may decide to create release branches. If this happens, then a branch will be created from OpenOCD mainline. 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 mainline.

OpenOCD smoketests

This is a set of tests that exercise the entire OpenOCD system and various targets. It is a small suite of systemwide smoketests.


Test cases

Additionally OpenOCD has test cases that target specific functionality more precisely.

A full release test must include both smoketests and unit testing.

Test cases