| Verification methodology |
| ======================== |
| |
| This page discusses discusses verification tools and techniques used by the project. |
| |
| |
| Static Checks |
| ------------- |
| |
| This verification step checks quality by examining the source code. The project currently uses two tools which are |
| discussed in the chapters below. |
| |
| Checkpatch |
| '''''''''' |
| |
| `Checkpatch`_ is a tool developed and maintained by the Linux Kernel community. It can look for errors related to: |
| |
| - C and C++ coding style |
| - spelling mistakes |
| - git commit message formatting |
| |
| Please find the configuration of this tool in the :download:`TS repository.<../../../.checkpatch>` |
| |
| Cppcheck tool |
| ''''''''''''' |
| |
| `CppCheck`_ is a C/C++ static analysis tool. It can detect code depending on implementation defined behavior, and |
| dangerous coding constructs and thus it verifies coding guidelines. |
| |
| Please find the configuration of this tool in the :download:`TS repository.<../../../.cppcheck>` |
| |
| Build verification |
| ------------------ |
| |
| The :ref:`Build test runner` captures reference build configurations for all TS build products and can be used to verify |
| these. |
| |
| Runtime verification |
| -------------------- |
| |
| During the runtime versification step various test and demo executables are executed on the host PC and/or on target |
| platforms. |
| |
| Tests are targeting three different environment types: |
| |
| - ``arm-linux``: test executables to be run from Linux user-space on the target. |
| - ``pc-linux``: executables to run on the host PC. These tests have a lower verification level, as the binary is likely |
| not running on an arm target. Portability issues in the source may hide error or trigger false alarms. In turn |
| this type of test is cheap, |
| - ``sp`` and ``opteesp``: test executables targeting these environments run in the SWd and server as: |
| |
| - test payloads to help exercise trusted services |
| - test payload to help platform porting |
| |
| Each of these test applications manifest as a "deployment" in trusted services. For more details please see the |
| :ref:`Deployments` section. |
| |
| Compliance testing |
| '''''''''''''''''' |
| |
| The project hosts deployment helping compliance testing. For more information please refer to |
| :ref:`Platform Certification`. |
| |
| ------------------ |
| |
| .. _`Checkpatch`: https://docs.kernel.org/dev-tools/checkpatch.html |
| .. _`CppCheck`: https://cppcheck.sourceforge.io/ |
| |
| *Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.* |
| |
| SPDX-License-Identifier: BSD-3-Clause |