blob: 973debfbd900f4e98dc31bcdbd4f1d8bfa9ff6b8 [file] [log] [blame]
/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef _IPA_UT_I_H_
#define _IPA_UT_I_H_
/* Suite data global structure name */
#define _IPA_UT_SUITE_DATA(__name) ipa_ut_ ##__name ##_data
/* Suite meta-data global structure name */
#define _IPA_UT_SUITE_META_DATA(__name) ipa_ut_ ##__name ##_meta_data
/* Suite global array of tests */
#define _IPA_UT_SUITE_TESTS(__name) ipa_ut_ ##__name ##_tests
/* Global array of all suites */
#define _IPA_UT_ALL_SUITES ipa_ut_all_suites_data
/* Meta-test "all" name - test to run all tests in given suite */
#define _IPA_UT_RUN_ALL_TEST_NAME "all"
/**
* Meta-test "regression" name -
* test to run all regression tests in given suite
*/
#define _IPA_UT_RUN_REGRESSION_TEST_NAME "regression"
/* Test Log buffer name and size */
#define _IPA_UT_TEST_LOG_BUF_NAME ipa_ut_tst_log_buf
#define _IPA_UT_TEST_LOG_BUF_SIZE 8192
/* Global structure for test fail execution result information */
#define _IPA_UT_TEST_FAIL_REPORT_DATA ipa_ut_tst_fail_report_data
#define _IPA_UT_TEST_FAIL_REPORT_SIZE 5
#define _IPA_UT_TEST_FAIL_REPORT_IDX ipa_ut_tst_fail_report_data_index
/* Start/End definitions of the array of suites */
#define IPA_UT_DEFINE_ALL_SUITES_START \
static struct ipa_ut_suite *_IPA_UT_ALL_SUITES[] =
#define IPA_UT_DEFINE_ALL_SUITES_END
/**
* Suites iterator - Array-like container
* First index, number of elements and element fetcher
*/
#define IPA_UT_SUITE_FIRST_INDEX 0
#define IPA_UT_SUITES_COUNT \
ARRAY_SIZE(_IPA_UT_ALL_SUITES)
#define IPA_UT_GET_SUITE(__index) \
_IPA_UT_ALL_SUITES[__index]
/**
* enum ipa_ut_test_result - Test execution result
* @IPA_UT_TEST_RES_FAIL: Test executed and failed
* @IPA_UT_TEST_RES_SUCCESS: Test executed and succeeded
* @IPA_UT_TEST_RES_SKIP: Test was not executed.
*
* When running all tests in a suite, a specific test could
* be skipped and not executed. For example due to mismatch of
* IPA H/W version.
*/
enum ipa_ut_test_result {
IPA_UT_TEST_RES_FAIL,
IPA_UT_TEST_RES_SUCCESS,
IPA_UT_TEST_RES_SKIP,
};
/**
* enum ipa_ut_meta_test_type - Type of suite meta-test
* @IPA_UT_META_TEST_ALL: Represents all tests in suite
* @IPA_UT_META_TEST_REGRESSION: Represents all regression tests in suite
*/
enum ipa_ut_meta_test_type {
IPA_UT_META_TEST_ALL,
IPA_UT_META_TEST_REGRESSION,
};
#endif /* _IPA_UT_I_H_ */