text: /*
   * Copyright (c) 2017-2018, Arm Limited. All rights reserved.
   *
   * SPDX-License-Identifier: BSD-3-Clause
   *
   */
  
  #include <stdio.h>
  #include <cmsis_compiler.h>
  
  #ifndef __TFM_INTEG_TEST_H__
  #define __TFM_INTEG_TEST_H__
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  /* Avoids the semihosting issue */
  #if defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
  __asm("  .global __ARM_use_no_argv\n");
  #endif
  
  /**
   * \brief Simple macro to mark UNUSED variables
   *
   */
  #define UNUSED_VARIABLE(X) ((void)(X))
  
  #ifdef TEST_FRAMEWORK_NS
  /**
   * \brief Main test application for the RTX-TFM core
   *        integration tests
   *
   */
  void test_app(void *argument);
  #endif /* TEST_FRAMEWORK_NS */
  
  /**
   * \brief Execute the interactive test cases (button push)
   *
   */
  void execute_ns_interactive_tests(void);
  
  /**
   * \brief Logging function
   *
   */
  __attribute__((always_inline)) __STATIC_INLINE void LOG_MSG(const char *MSG)
  {
  #ifndef LOG_MSG_HANDLER_MODE_PRINTF_ENABLED
      /* if IPSR is non-zero, exception is active. NOT banked S/NS */
      if (!__get_IPSR()) {
          printf("\t\e[1;32m[Non-Sec] %s\e[0m\r\n", MSG);
      }
  #else
      printf("\t\e[1;32m[Non-Sec] %s\e[0m\r\n", MSG);
  #endif
  }
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* __TFM_INTEG_TEST_H__ */
  