Skip to end of metadata
Go to start of metadata

On this Page

Test coverage

A test script is available in trunk which generates a CSV file containing information extracted directly from the test scripts themselves. The script is at

usage: generate_test_case_info <test_directory (optional-default is pwd)>

It walks the three sub test directories that might exist below the specified test directory (i.e. test-cases.d, test-cases-daily.d and test-cases-weekly.d).


As of now only the test scripts in trunk have been updated to work with this. In order for the script to extract information from comments in the script the appropriate comments must start with either #TEST:,#DISABLED:, #TODO: or #OPENDNSSEC/SUPPORT:. 

  • #TEST: Detailed describption of what the test does
  • #DISABLED: Details of any platforms/DBs the test is disabled on with a reason why

  • #TODO: For notes to self. Also, the testing is currently quite granular in some places so I have marked in the #TODO section any tests that I think could be merged....

  • #OPENDNSSEC/SUPPORT: Also, any lines starting #OPENDNSSEC or #SUPPORT (i.e. a JIRA issue ID) will have the ID extracted and written to the output so we can see what bugs have specific fixes in the regression tests. This means  if we do write tests for bugs then we can use the naming convention above so it easy to tell what functionality it covers and include the issue id in comments. The script will also detect the presence of the 'off' file to establish the status of the script.

The script currently writes its output to a CSV file which can then be viewed in any spreadsheet application. Example CSV and spreadsheets are attached to this page (choose Tools->Attachments).


Instruction on how to run tests locally: How To Develop tests locally


Key missing tests (trunk)

ApplicationAreaTest nameTypeDetailsComments
GeneralconfprivilegesDCheck enforcer and signer can start with varying privileges setTests exist but are off because of problems with the setup.
Enforcerods-ksmutil  TEST ALL OPTIONS!! 
Enforcerrolloverds-seen errors ds-seen error cases (wrong key, right key/wrong state, etc.)Tests added (r7042) but need to be checked by someone else.
EnforcerrolloverManual rollover   
Enforcerpolicymove zone Move a zone between two policies. 
Signeradaptersacl check all the permutations of the acl 
Signeradaptersrollovers make sure to test key rollovers when using the adapters! 
Signerzonesvalidation Use an external validation tool (validns) to validate zone produced validns is used in several tests now but we should still review if it could be used in more
Signerzonesvalidation Use a script to check the consistency of zone produced against the policy/database. 
Signerods-signer  TEST ALL OPTIONS!! 
Signerzonessignatures Sign a simple zone with a policy that has a short refresh period and short signature lifetimes.
Leave ODS running long enough that the signatures expire and signer must generate new ones.

2.0 - Enforcer NG

Enforcer NGPolicy  

Test the new rollover methods



    Test algorithm rollover  
    Test policy rollover  
    Allow ZSK and KSK to be the same key  
    Support for unsigned zones  
  • No labels