Use switch instead if if-else for dependency and expression checks.
diff --git a/tests/scripts/generate_code.py b/tests/scripts/generate_code.py
index 7af6fdf..f81ec91 100644
--- a/tests/scripts/generate_code.py
+++ b/tests/scripts/generate_code.py
@@ -427,16 +427,15 @@
noT, dep = ('!', dep[1:]) if dep[0] == '!' else ('', dep)
assert len(dep) > 0, "Dependency should not be an empty string."
dep_check = '''
-if ( dep_id == {id} )
-{{
-#if {noT}defined({macro})
- return( DEPENDENCY_SUPPORTED );
-#else
- return( DEPENDENCY_NOT_SUPPORTED );
-#endif
-}}
-else
-'''.format(noT=noT, macro=dep, id=dep_id)
+ case {id}:
+ {{
+ #if {noT}defined({macro})
+ ret = DEPENDENCY_SUPPORTED;
+ #else
+ ret = DEPENDENCY_NOT_SUPPORTED;
+ #endif
+ }}
+ break;'''.format(noT=noT, macro=dep, id=dep_id)
return dep_check
@@ -451,12 +450,11 @@
assert exp_id > -1, "Expression Id should be a positive integer."
assert len(exp) > 0, "Expression should not be an empty string."
exp_code = '''
-if ( exp_id == {exp_id} )
-{{
- *out_value = {expression};
-}}
-else
-'''.format(exp_id=exp_id, expression=exp)
+ case {exp_id}:
+ {{
+ *out_value = {expression};
+ }}
+ break;'''.format(exp_id=exp_id, expression=exp)
return exp_code
@@ -527,28 +525,16 @@
:param expression_code:
:return:
"""
- # void unused params
- if len(dep_check_code) == 0:
- dep_check_code = '(void) dep_id;\n'
- if len(expression_code) == 0:
- expression_code = '(void) exp_id;\n'
- expression_code += '(void) out_value;\n'
-
if len(suite_deps):
ifdef = gen_deps_one_line(suite_deps)
dep_check_code = '''
{ifdef}
{code}
-#else
-(void) dep_id;
#endif
'''.format(ifdef=ifdef, code=dep_check_code)
expression_code = '''
{ifdef}
{code}
-#else
-(void) exp_id;
-(void) out_value;
#endif
'''.format(ifdef=ifdef, code=expression_code)
return dep_check_code, expression_code