6. GSC Unit Testing
-------------------


6.1 High Level Security Coding Requirements
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. csv-table:: High Level Security Requirements
    :header: "Requirement Id", "Title"

    Req0001, "Test that input validation is done on all forms of input."
    Req0002, "Verify that errors and exceptions are securely handled."
    Req0003, "Prevent compiler from optimizing out security checks."
    Req0004, "Check length of incoming parameters before operating on them."
    Req0005, "Test for safe handling of invalid structure contents."
    Req0006, "Verify that too-long or too-short parameters are detected."
    Req0007, "Test for integer overflow."
    Req0008, "Refuse overly-long, malformed, and non-printable characters unless required."


6.2 Tests
~~~~~~~~~

.. csv-table:: Test coverage
    :header: "Req ID", "Function", "Explanation", "File Name", "Test function name", "Parent Requirements"
    :file: requirements.csv
