The OpenSSL wiki has moved to https://github.com/openssl/openssl/wiki. Information on this page is no longer edited and may be out-of-date.
Testing and Development Tools and Tips
This is a collection of helpful tools and tips for navigating the OpenSSL code base and managing a local git repository.
Testing Environment and Tools
In the test-util branch of Mike Bland's fork are a few helper files that you may wish to copy or pull into your branch.
test/testutil.h
Defines the generic SETUP_TEST_FIXTURE and EXECUTE_TEST macros. Should be pulled into the mainline pending acceptance of pull request #126.
test/new-test.sh
Generates a new automated test stub, following the Pseudo-xUnit Pattern and using the macros from test/testutil.h. The generated stub will compile standalone.
test/test_env.bash
Environment variables, functions, and aliases to help with OpenSSL unit testing. The header comments contain documentation on each of the functions and aliases in the file.
Cscope
Cscope is a powerful C source code browser. Once you have it installed, you can use the make-cscope and open-cscope functions from test/test_env.bash.
Vim Integration
Once $CSCOPE_DB (defined in test/test_env.bash is built using make-cscope, you can take advantage of the Cscope integration in Vim by adding something like the following to your .vimrc:
" Detect whether cscope features are present and whether we should add a
" connection to an existing cscope.out database file
if has("cscope")
set nocsverb
if filereadable("./cscope.out")
cs add cscope.out
elseif $CSCOPE_DB != ""
if filereadable($CSCOPE_DB)
cs add $CSCOPE_DB
else
echo "Can't read $CSCOPE_DB; cscope add not run"
endif
endif
set csre
set csverb
endif