Scl test flist: Difference between revisions
Jump to navigation
Jump to search
(New page: = The scl_test_flist pragma = The scl_test_flist pragma captures a list of external functions as a Test Unit. Once captured, each external function becomes a test method. STRIDE will gene...) |
No edit summary |
||
Line 3: | Line 3: | ||
The scl_test_flist pragma captures a list of external functions as a Test Unit. Once captured, each external function becomes a test method. STRIDE will generate appropriate code for execution of the test methods. | The scl_test_flist pragma captures a list of external functions as a Test Unit. Once captured, each external function becomes a test method. STRIDE will generate appropriate code for execution of the test methods. | ||
Syntax | == Syntax == | ||
#pragma scl_test_flist(test-unit-name, function-1, function-2..n) | #pragma scl_test_flist(test-unit-name, function-1, function-2..n) | ||
{| border="1" cellspacing="0" cellpadding="10" style="align:left;" | {| border="1" cellspacing="0" cellpadding="10" style="align:left;" | ||
| '''Parameters''' | | '''Parameters''' |
Revision as of 23:47, 11 July 2008
The scl_test_flist pragma
The scl_test_flist pragma captures a list of external functions as a Test Unit. Once captured, each external function becomes a test method. STRIDE will generate appropriate code for execution of the test methods.
Syntax
#pragma scl_test_flist(test-unit-name, function-1, function-2..n)
Parameters | Type | Description |
test-unit-name | String | Name of test unit into which a list of external functions will be assembled. |
function-1 | String | Name of the first external function to be captured. |
function-2..n [Optional] | String | Optional names of second and subsequent external functions to be captured. |
Notes
- The external functions must meet the following conditions:
- Their parameter lists must be empty (void).
- They cannot be overloaded.
- They cannot be overloaded operators.
- They may not be template functions.
- They may throw exceptions when compiled in CPP mode.
- They cannot have been previously captured with scl_function, or another scl_test_flist pragma.
- They cannot be public static class methods.
- They must return a pass/fail result. The return type may be declared void or an integer type (bool is acceptable in C++ mode). If void is the return type, any calls to the test function default to successful.
- Once an external function has been captured with scl_test_flist, that function may not then be captured again with an scl_function pragma, or another scl_test_flist pragma, or used with any other qualification pragmas.
- Use of this pragma requires an include of srtest.h.
- The test-unit-name may not have been specified with a prior scl_test_flist pragma.
- The test-unit-name may not be the name of an existing routine.
- In CPP-compile mode, the external function(s) must have been declared using 'extern "C"'.
- There is no way to associate a SMID value with an external function, as with scl_func.
Examples
/* * scl_test_flist uses runtime test services for * dynamic suite/test creation * * @description * scl_test_flist uses the runtime C API directly to create dynamic test suites * and test cases. * */ #include <srtest.h> int test_setup(); int test1(); int test2(); int test_teardown(); #ifdef _SCL #pragma scl_test_flist("Foo", test1, test2) #endif