Build and run PC based tests ============================ Many components within the Trusted Services project may be built and tested within a native PC environment. PC based testing is an important part of the development flow and can provide a straight-forward way to check for regressions and debug problems. PC based tests range from small unit tests up to end-to-end service tests. All test cases in the Trusted Services project are written for the CppUTest test framework. The test executables most often used for PC based testing of Trusted Services components are: - *component-test* - a PC executable that runs many component level tests. - *ts-service-test* - contains a set of service-level end-to-end tests. For PC build, service providers are included in the libts library. - *psa-api-test* - PSA functional API conformance tests (from external project). Before you start ---------------- Before attempting to run any builds, ensure that all necessary tools are installed. See: :ref:`Software Requirements` Build and run *component-test* ------------------------------ From the root directory of the checked-out TS project, enter the following:: cmake -B build-ct -S deployments/component-test/linux-pc make -C build-ct install build-ct/install/linux-pc/bin/component-test -v Build and run *ts-service-test* ------------------------------- From the root directory of the checked-out TS project, enter the following:: cmake -B build-ts -S deployments/ts-service-test/linux-pc make -C build-ts install LD_PRELOAD=build-ts/install/linux-pc/lib/libts.so build-ts/install/linux-pc/bin/ts-service-test -v Build and run *psa-api-test* ---------------------------- Tests for each API are built as separate executables. Test are available for the following APIs:: crypto initial_attestation internal_trusted_storage protected_storage To build and run tests for the Crypto API, enter the following (use the same flow for other APIs):: cmake -B build-pa deployments/psa-api-test/crypto/linux-pc make -C build-pa install LD_PRELOAD=build-pa/install/linux-pc/lib/libts.so build-pa/install/linux-pc/bin/psa-crypto-api-test psa-api test binaries accept the listed command-line arguments: =========== ==================================================================== CL argument Description =========== ==================================================================== -v verbose mode -h print supported arguments -l print a list of all the available tests -t run only the listed tests with 'test\_' prefix and semicolon postfix e.g: "-t test_201;test_205;test_260;" =========== ==================================================================== More information ---------------- For more information about deployments and building, see: :ref:`Build Instructions` PSA functional API conformance tests git location: https://github.com/ARM-software/psa-arch-tests.git -------------- *Copyright (c) 2022-2023, Arm Limited and Contributors. All rights reserved.* SPDX-License-Identifier: BSD-3-Clause