Gaurd test suite headers with suite dependency
Test suite header code was not gaurded with test suite dependency.
But some test suites have additional code in the headers section.
Variables in that section become unused if suite functions are
gaurded. Hence gaurded the headers section.
But this changed cuased missing types in get_expression() function
that was originally accessing types defined through suite headers.
Hence had to gaurd expressions code as well.
Gaurding expressions does not allow parsing the parameters when
some types or hash defs are gaurded. Hence added function
check_test() to check if test is allowed or not before parsing the
parameters.
diff --git a/tests/suites/desktop_test.function b/tests/suites/desktop_test.function
index 9c9a0b2..4c790a8 100644
--- a/tests/suites/desktop_test.function
+++ b/tests/suites/desktop_test.function
@@ -389,6 +389,7 @@
const char **test_files = NULL;
int testfile_count = 0;
int option_verbose = 0;
+ int function_id = 0;
/* Other Local variables */
int arg_index = 1;
@@ -562,11 +563,14 @@
}
#endif /* __unix__ || __APPLE__ __MACH__ */
- ret = convert_params( cnt - 1, params + 1, int_params );
- if ( DISPATCH_TEST_SUCCESS == ret )
+ function_id = strtol( params[0], NULL, 10 );
+ if ( (ret = check_test( function_id )) == DISPATCH_TEST_SUCCESS )
{
- int function_id = strtol( params[0], NULL, 10 );
- ret = dispatch_test( function_id, (void **)( params + 1 ) );
+ ret = convert_params( cnt - 1, params + 1, int_params );
+ if ( DISPATCH_TEST_SUCCESS == ret )
+ {
+ ret = dispatch_test( function_id, (void **)( params + 1 ) );
+ }
}
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))