aboutsummaryrefslogtreecommitdiff
path: root/tests/suites/main_test.function
diff options
context:
space:
mode:
Diffstat (limited to 'tests/suites/main_test.function')
-rw-r--r--tests/suites/main_test.function260
1 files changed, 260 insertions, 0 deletions
diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function
new file mode 100644
index 000000000..48003d4f2
--- /dev/null
+++ b/tests/suites/main_test.function
@@ -0,0 +1,260 @@
+#line 2 "suites/main_test.function"
+/*
+ * *** THIS FILE HAS BEEN MACHINE GENERATED ***
+ *
+ * This file has been machine generated using the script:
+ * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT
+ *
+ * Test file : __MBEDTLS_TEST_TEMPLATE__TEST_FILE
+ *
+ * The following files were used to create this file.
+ *
+ * Main code file : __MBEDTLS_TEST_TEMPLATE__TEST_MAIN_FILE
+ * Platform code file : __MBEDTLS_TEST_TEMPLATE__TEST_PLATFORM_FILE
+ * Helper file : __MBEDTLS_TEST_TEMPLATE__TEST_COMMON_HELPER_FILE
+ * Test suite file : __MBEDTLS_TEST_TEMPLATE__TEST_CASE_FILE
+ * Test suite data : __MBEDTLS_TEST_TEMPLATE__TEST_CASE_DATA_FILE
+ *
+ */
+
+#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+#if !defined(_POSIX_C_SOURCE)
+#define _POSIX_C_SOURCE 200112L // for fileno() from <stdio.h>
+#endif
+#endif
+
+#include "mbedtls/build_info.h"
+
+/* Test code may use deprecated identifiers only if the preprocessor symbol
+ * MBEDTLS_TEST_DEPRECATED is defined. When building tests, set
+ * MBEDTLS_TEST_DEPRECATED explicitly if MBEDTLS_DEPRECATED_WARNING is
+ * enabled but the corresponding warnings are not treated as errors.
+ */
+#if !defined(MBEDTLS_DEPRECATED_REMOVED) && !defined(MBEDTLS_DEPRECATED_WARNING)
+#define MBEDTLS_TEST_DEPRECATED
+#endif
+
+/*----------------------------------------------------------------------------*/
+/* Common helper code */
+
+__MBEDTLS_TEST_TEMPLATE__TEST_COMMON_HELPERS
+
+#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function"
+
+
+/*----------------------------------------------------------------------------*/
+/* Test Suite Code */
+
+
+#define TEST_SUITE_ACTIVE
+
+__MBEDTLS_TEST_TEMPLATE__FUNCTIONS_CODE
+
+#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function"
+
+
+/*----------------------------------------------------------------------------*/
+/* Test dispatch code */
+
+
+/**
+ * \brief Evaluates an expression/macro into its literal integer value.
+ * For optimizing space for embedded targets each expression/macro
+ * is identified by a unique identifier instead of string literals.
+ * Identifiers and evaluation code is generated by script:
+ * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT
+ *
+ * \param exp_id Expression identifier.
+ * \param out_value Pointer to int to hold the integer.
+ *
+ * \return 0 if exp_id is found. 1 otherwise.
+ */
+int get_expression( int32_t exp_id, int32_t * out_value )
+{
+ int ret = KEY_VALUE_MAPPING_FOUND;
+
+ (void) exp_id;
+ (void) out_value;
+
+ switch( exp_id )
+ {
+__MBEDTLS_TEST_TEMPLATE__EXPRESSION_CODE
+#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function"
+ default:
+ {
+ ret = KEY_VALUE_MAPPING_NOT_FOUND;
+ }
+ break;
+ }
+ return( ret );
+}
+
+
+/**
+ * \brief Checks if the dependency i.e. the compile flag is set.
+ * For optimizing space for embedded targets each dependency
+ * is identified by a unique identifier instead of string literals.
+ * Identifiers and check code is generated by script:
+ * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT
+ *
+ * \param dep_id Dependency identifier.
+ *
+ * \return DEPENDENCY_SUPPORTED if set else DEPENDENCY_NOT_SUPPORTED
+ */
+int dep_check( int dep_id )
+{
+ int ret = DEPENDENCY_NOT_SUPPORTED;
+
+ (void) dep_id;
+
+ switch( dep_id )
+ {
+__MBEDTLS_TEST_TEMPLATE__DEP_CHECK_CODE
+#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function"
+ default:
+ break;
+ }
+ return( ret );
+}
+
+
+/**
+ * \brief Function pointer type for test function wrappers.
+ *
+ * A test function wrapper decodes the parameters and passes them to the
+ * underlying test function. Both the wrapper and the underlying function
+ * return void. Test wrappers assume that they are passed a suitable
+ * parameter array and do not perform any error detection.
+ *
+ * \param param_array The array of parameters. Each element is a `void *`
+ * which the wrapper casts to the correct type and
+ * dereferences. Each wrapper function hard-codes the
+ * number and types of the parameters.
+ */
+typedef void (*TestWrapper_t)( void **param_array );
+
+
+/**
+ * \brief Table of test function wrappers. Used by dispatch_test().
+ * This table is populated by script:
+ * __MBEDTLS_TEST_TEMPLATE__GENERATOR_SCRIPT
+ *
+ */
+TestWrapper_t test_funcs[] =
+{
+__MBEDTLS_TEST_TEMPLATE__DISPATCH_CODE
+#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function"
+};
+
+/**
+ * \brief Dispatches test functions based on function index.
+ *
+ * \param func_idx Test function index.
+ * \param params The array of parameters to pass to the test function.
+ * It will be decoded by the #TestWrapper_t wrapper function.
+ *
+ * \return DISPATCH_TEST_SUCCESS if found
+ * DISPATCH_TEST_FN_NOT_FOUND if not found
+ * DISPATCH_UNSUPPORTED_SUITE if not compile time enabled.
+ */
+int dispatch_test( size_t func_idx, void ** params )
+{
+ int ret = DISPATCH_TEST_SUCCESS;
+ TestWrapper_t fp = NULL;
+
+ if ( func_idx < (int)( sizeof( test_funcs ) / sizeof( TestWrapper_t ) ) )
+ {
+ fp = test_funcs[func_idx];
+ if ( fp )
+ {
+ #if defined(MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG)
+ mbedtls_test_enable_insecure_external_rng( );
+ #endif
+
+ fp( params );
+
+ #if defined(MBEDTLS_TEST_MUTEX_USAGE)
+ mbedtls_test_mutex_usage_check( );
+ #endif /* MBEDTLS_TEST_MUTEX_USAGE */
+ }
+ else
+ ret = DISPATCH_UNSUPPORTED_SUITE;
+ }
+ else
+ {
+ ret = DISPATCH_TEST_FN_NOT_FOUND;
+ }
+
+ return( ret );
+}
+
+
+/**
+ * \brief Checks if test function is supported in this build-time
+ * configuration.
+ *
+ * \param func_idx Test function index.
+ *
+ * \return DISPATCH_TEST_SUCCESS if found
+ * DISPATCH_TEST_FN_NOT_FOUND if not found
+ * DISPATCH_UNSUPPORTED_SUITE if not compile time enabled.
+ */
+int check_test( size_t func_idx )
+{
+ int ret = DISPATCH_TEST_SUCCESS;
+ TestWrapper_t fp = NULL;
+
+ if ( func_idx < (int)( sizeof(test_funcs)/sizeof( TestWrapper_t ) ) )
+ {
+ fp = test_funcs[func_idx];
+ if ( fp == NULL )
+ ret = DISPATCH_UNSUPPORTED_SUITE;
+ }
+ else
+ {
+ ret = DISPATCH_TEST_FN_NOT_FOUND;
+ }
+
+ return( ret );
+}
+
+
+__MBEDTLS_TEST_TEMPLATE__PLATFORM_CODE
+
+#line __MBEDTLS_TEST_TEMPLATE__LINE_NO "suites/main_test.function"
+
+/*----------------------------------------------------------------------------*/
+/* Main Test code */
+
+
+/**
+ * \brief Program main. Invokes platform specific execute_tests().
+ *
+ * \param argc Command line arguments count.
+ * \param argv Array of command line arguments.
+ *
+ * \return Exit code.
+ */
+int main( int argc, const char *argv[] )
+{
+#if defined(MBEDTLS_TEST_HOOKS)
+ extern void (*mbedtls_test_hook_test_fail)( const char * test, int line, const char * file );
+ mbedtls_test_hook_test_fail = &mbedtls_test_fail;
+#if defined(MBEDTLS_ERROR_C)
+ mbedtls_test_hook_error_add = &mbedtls_test_err_add_check;
+#endif
+#endif
+
+ int ret = mbedtls_test_platform_setup();
+ if( ret != 0 )
+ {
+ mbedtls_fprintf( stderr,
+ "FATAL: Failed to initialize platform - error %d\n",
+ ret );
+ return( -1 );
+ }
+
+ ret = execute_tests( argc, argv );
+ mbedtls_test_platform_teardown();
+ return( ret );
+}