| /////////////////////////////////////////////////////////////////////////////// |
| // // |
| // Copyright (c) 2000-2019 Ericsson Telecom AB // |
| // // |
| // All rights reserved. This program and the accompanying materials // |
| // are made available under the terms of the Eclipse Public License v2.0 // |
| // which accompanies this distribution, and is available at // |
| // https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html // |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| /////////////////////////////////////////////////////////// |
| // Module: EPTF_SMacro_PerfTest_Testcases |
| // |
| // Purpose: |
| // This module contains testcases to test the performance of EPTF SMacro feature. |
| // |
| // Module Parameters: |
| // - |
| // Module depends on: |
| // <EPTF_SMacro_PerfTest_Definitions> |
| // <EPTF_SMacro_PerfTest_Functions> |
| // <EPTF_CLL_SMacro_Definitions> |
| // <EPTF_CLL_SMacro_Functions> |
| // <EPTF_CLL_Base_Functions> |
| // <TestResultGen> |
| // <EPTF_CLL_Common_Definitions> |
| // |
| // Current Owner: |
| // Balazs Barcsik (ebalbar) |
| // |
| // Last Review Date: |
| // - |
| // |
| // Detailed Comments: |
| // - |
| /////////////////////////////////////////////////////////// |
| module EPTF_SMacro_PerfTest_Testcases { |
| |
| //========================================================================= |
| // Import Part |
| //========================================================================= |
| |
| import from EPTF_SMacro_PerfTest_Definitions all; |
| import from EPTF_SMacro_PerfTest_Functions all; |
| import from EPTF_CLL_SMacro_Definitions all; |
| import from EPTF_CLL_SMacro_Functions all; |
| import from EPTF_CLL_Base_Functions all; |
| import from TestResultGen all; |
| import from EPTF_CLL_Common_Definitions all; |
| |
| //========================================================================= |
| // Module parameters |
| //========================================================================= |
| |
| //========================================================================= |
| // Types |
| //========================================================================= |
| |
| //========================================================================= |
| // Functions |
| //========================================================================= |
| |
| ////////////////////////////////////////////////////////////////////// |
| // internal Test Case for f_EPTF_SMacro_PerfTest_generateStringTemplate function |
| ////////////////////////////////////////////////////////////////////// |
| |
| testcase tc_EPTF_SMacro_generateStringTemplate() runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_generateStringTemplate"); |
| |
| // empty macro name |
| var charstring vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate("",c_param_string,1,0,0,0); |
| var charstring vl_expected_value := ""; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // num of macro is zero |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2,c_param_string,0,0,0,0); |
| vl_expected_value := ""; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // empty macro par |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2,c_param_string,1,0,0,0); |
| vl_expected_value := "$("&v_macro_name2&")"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // num of macro par is zero |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2,c_param_string,1,0,0,0); |
| vl_expected_value := "$("&v_macro_name2&")"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // macro with 1 par |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2, c_param_string,1,1,0,0); |
| vl_expected_value := "$("&v_macro_name2&" , "&log2str(c_param_string)&")"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // macro with 2 par |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2, c_param_string,1,2,0,0); |
| vl_expected_value := "$("&v_macro_name2&" , "&log2str(c_param_string)&" , "&log2str(c_param_string)&")"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // 5 concat string between 3 macros |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2,c_param_string,3,0,5,0); |
| var charstring vl_tmp := "$("&v_macro_name2&")"; |
| vl_expected_value := vl_tmp&"@@@@@"&vl_tmp&"@@@@@"&vl_tmp&"@@@@@"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // macro with 2 par + 5 concat string between 3 macros |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2, c_param_string,3,2,5,0); |
| vl_tmp := "$("&v_macro_name2&" , "&log2str(c_param_string)&" , "&log2str(c_param_string)&")" |
| vl_expected_value := vl_tmp&"@@@@@"&vl_tmp&"@@@@@"&vl_tmp&"@@@@@"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // 2 macro wih par + 5 concat string + embedded 0 |
| vl_tmp := "$("&v_macro_name2&" , "&log2str(c_param_string)&")"; |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2, c_param_string,2,1,5,0); |
| vl_expected_value := vl_tmp&"@@@@@"&vl_tmp&"@@@@@"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // 2 macro wih par + 5 concat string + embedded 1 |
| var charstring vl_macroInPar := "$("&v_macro_name2&" , "&log2str(vl_tmp)&")"; |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2, c_param_string,2,1,5,1); |
| vl_expected_value := vl_macroInPar&"@@@@@"&vl_macroInPar&"@@@@@"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // 2 macro wih par + concat string + embedded 2 |
| var charstring vl_macroInParInPar := "$("&v_macro_name2&" , "&log2str(vl_macroInPar)&")"; |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2, c_param_string,2,1,5,2); |
| vl_expected_value := vl_macroInParInPar&"@@@@@"&vl_macroInParInPar&"@@@@@"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| // 2 macro wih par + concat string + embedded 3 |
| var charstring vl_macroInParInParInPar := "$("&v_macro_name2&" , "&log2str(vl_macroInParInPar)&")"; |
| vl_string_template := f_EPTF_SMacro_PerfTest_generateStringTemplate(v_macro_name2, c_param_string,2,1,5,3); |
| vl_expected_value := vl_macroInParInParInPar&"@@@@@"&vl_macroInParInParInPar&"@@@@@"; |
| if(vl_string_template != vl_expected_value) { |
| setverdict(fail,"generated String Template is wrong: ", vl_string_template, ". It should be: ", vl_expected_value); |
| f_EPTF_Base_stop(none); |
| } |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| //========================================================================= |
| // Testcases |
| //========================================================================= |
| |
| /////////////////////////////////////////////////////////// |
| // Testcase: tc_EPTF_SMacro_PerfTest_resolveSimpleMacro |
| // |
| // Purpose: |
| // to measure the resolving time in case of simple macro in the String Template: $MACRO_NAME |
| // |
| // Requirement: |
| // - |
| // |
| // Action: |
| // - calls f_EPTF_SMacro_init_CT() function |
| // - generate concat string & String Template |
| // - calls f_EPTF_SMacro_PerfTest_measure() |
| // |
| // Expected Result: |
| // - pass |
| /////////////////////////////////////////////////////////// |
| testcase tc_EPTF_SMacro_PerfTest_resolveSimpleMacro( |
| in integer pl_numOfIteration, |
| in integer pl_numOfStringMacros, |
| in integer pl_numOfStringMacroParams, |
| in integer pl_lengthOfConcatString, |
| in integer pl_embedLevel |
| ) runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_PerfTest_resolveSimpleMacro"); |
| |
| var charstring vl_stringTemplate := ""; |
| var charstring vl_concatString := ""; |
| |
| // generate concat string |
| for(var integer vl_l := 0; vl_l < pl_lengthOfConcatString; vl_l := vl_l+1){ |
| vl_concatString := vl_concatString&"@"; |
| } |
| |
| // generate string template |
| for(var integer vl_j := 0; vl_j < pl_numOfStringMacros; vl_j := vl_j+1){ |
| vl_stringTemplate := vl_stringTemplate&"$"&v_macro_name1&vl_concatString; |
| } |
| |
| // measure |
| f_EPTF_SMacro_PerfTest_measure( |
| pl_stringTemplate := vl_stringTemplate, |
| pl_nameOfTestResult:= "resolving time of simple String Macro", |
| pl_numOfIteration := pl_numOfIteration, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel |
| ); |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| /////////////////////////////////////////////////////////// |
| // Testcase: tc_EPTF_SMacro_PerfTest_resolveMacro |
| // |
| // Purpose: |
| // to measure the resolving time in case of String Macro in the String Template: "$(MACRO_NAME)" |
| // |
| // Requirement: |
| // - |
| // |
| // Action: |
| // - calls f_EPTF_SMacro_init_CT() function |
| // - calls f_EPTF_SMacro_PerfTest_generateStringTemplate function to generate String Template |
| // - calls f_EPTF_SMacro_PerfTest_measure() |
| // |
| // Expected Result: |
| // - pass |
| /////////////////////////////////////////////////////////// |
| testcase tc_EPTF_SMacro_PerfTest_resolveMacro( |
| in integer pl_numOfIteration, |
| in integer pl_numOfStringMacros, |
| in integer pl_numOfStringMacroParams, |
| in integer pl_lengthOfConcatString, |
| in integer pl_embedLevel |
| ) runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_PerfTest_resolveMacro"); |
| |
| // generate string template |
| var charstring vl_stringTemplate := f_EPTF_SMacro_PerfTest_generateStringTemplate( |
| pl_macroName := v_macro_name1, |
| pl_macroPar := c_param_string, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel |
| ); |
| |
| // measure |
| f_EPTF_SMacro_PerfTest_measure( |
| pl_stringTemplate := vl_stringTemplate, |
| pl_nameOfTestResult:= "resolving time of String Macro", |
| pl_numOfIteration := pl_numOfIteration, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel |
| ); |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| /////////////////////////////////////////////////////////// |
| // Testcase: tc_EPTF_SMacro_PerfTest_resolveMacroWithConcatString |
| // |
| // Purpose: |
| // to measure the resolving time in case of String Macro with different length of Concat Strings |
| // |
| // Requirement: |
| // - |
| // |
| // Action: |
| // - calls f_EPTF_SMacro_init_CT() function |
| // - calls f_EPTF_SMacro_PerfTest_generateStringTemplate function to generate String Template |
| // - calls f_EPTF_SMacro_PerfTest_measure() |
| // |
| // Expected Result: |
| // - pass |
| /////////////////////////////////////////////////////////// |
| testcase tc_EPTF_SMacro_PerfTest_resolveMacroWithConcatString( |
| in integer pl_numOfIteration, |
| in integer pl_numOfStringMacros, |
| in integer pl_numOfStringMacroParams, |
| in integer pl_lengthOfConcatString, |
| in integer pl_embedLevel |
| ) runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_PerfTest_resolveMacroWithConcatString"); |
| var charstring vl_stringTemplate := ""; |
| // length of Concat String will be 1 , 10, 100 |
| var EPTF_IntegerList vl_lengthOfConcatString := {pl_lengthOfConcatString,pl_lengthOfConcatString*10,pl_lengthOfConcatString*100}; |
| |
| for(var integer vl_i := 0; vl_i < sizeof(vl_lengthOfConcatString); vl_i := vl_i+1) { |
| |
| // generate string template |
| vl_stringTemplate := f_EPTF_SMacro_PerfTest_generateStringTemplate( |
| pl_macroName := v_macro_name1, |
| pl_macroPar := c_param_string, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := vl_lengthOfConcatString[vl_i], |
| pl_embedLevel := pl_embedLevel |
| ); |
| |
| // measure |
| f_EPTF_SMacro_PerfTest_measure( |
| pl_stringTemplate := vl_stringTemplate, |
| pl_nameOfTestResult:= "resolving time of String Macro with Concat String", |
| pl_numOfIteration := pl_numOfIteration, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := vl_lengthOfConcatString[vl_i], |
| pl_embedLevel := pl_embedLevel |
| ); |
| } |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| /////////////////////////////////////////////////////////// |
| // Testcase: tc_EPTF_SMacro_PerfTest_resolveMacroWithParam |
| // |
| // Purpose: |
| // to measure the resolving time in case of String Macro with different number of Parameters |
| // |
| // Requirement: |
| // - |
| // |
| // Action: |
| // - calls f_EPTF_SMacro_init_CT() function |
| // - calls f_EPTF_SMacro_PerfTest_generateStringTemplate function to generate String Template |
| // - calls f_EPTF_SMacro_PerfTest_measure() |
| // |
| // Expected Result: |
| // - pass |
| /////////////////////////////////////////////////////////// |
| testcase tc_EPTF_SMacro_PerfTest_resolveMacroWithParam( |
| in integer pl_numOfIteration, |
| in integer pl_numOfStringMacros, |
| in integer pl_numOfStringMacroParams, |
| in integer pl_lengthOfConcatString, |
| in integer pl_embedLevel |
| ) runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_PerfTest_resolveMacroWithParam"); |
| var charstring vl_stringTemplate := ""; |
| // number of String Macro parameter will be 1, 5, 10 |
| var EPTF_IntegerList vl_numOfStringMacroParams := {pl_numOfStringMacroParams,pl_numOfStringMacroParams*5,pl_numOfStringMacroParams*10}; |
| |
| for(var integer vl_i := 0; vl_i < sizeof(vl_numOfStringMacroParams); vl_i := vl_i+1) { |
| |
| // generate string template |
| vl_stringTemplate := f_EPTF_SMacro_PerfTest_generateStringTemplate( |
| pl_macroName := v_macro_name2, // dummy callback function will be called |
| pl_macroPar := c_param_string, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := vl_numOfStringMacroParams[vl_i], |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel |
| ); |
| |
| // measure |
| f_EPTF_SMacro_PerfTest_measure( |
| pl_stringTemplate := vl_stringTemplate, |
| pl_nameOfTestResult:= "resolving time of String Macro with Parameter", |
| pl_numOfIteration := pl_numOfIteration, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := vl_numOfStringMacroParams[vl_i], |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel |
| ); |
| } |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| /////////////////////////////////////////////////////////// |
| // Testcase: tc_EPTF_SMacro_PerfTest_resolveEmbeddedMacro |
| // |
| // Purpose: |
| // to measure the resolving time in case of embedded String Macro |
| // |
| // Requirement: |
| // - |
| // |
| // Action: |
| // - calls f_EPTF_SMacro_init_CT() function |
| // - calls f_EPTF_SMacro_PerfTest_generateStringTemplate function to generate String Template |
| // - calls f_EPTF_SMacro_PerfTest_measure() |
| // |
| // Expected Result: |
| // - pass |
| /////////////////////////////////////////////////////////// |
| testcase tc_EPTF_SMacro_PerfTest_resolveEmbeddedMacro( |
| in integer pl_numOfIteration, |
| in integer pl_numOfStringMacros, |
| in integer pl_numOfStringMacroParams, |
| in integer pl_lengthOfConcatString, |
| in integer pl_embedLevel |
| ) runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_PerfTest_resolveEmbeddedMacro"); |
| var charstring vl_stringTemplate := ""; |
| // embeed level will be 1, 3, 5 |
| var EPTF_IntegerList vl_embedLevel := {pl_embedLevel,pl_embedLevel*3,pl_embedLevel*5}; |
| |
| for(var integer vl_i := 0; vl_i < sizeof(vl_embedLevel); vl_i := vl_i+1) { |
| |
| // generate string template |
| vl_stringTemplate := f_EPTF_SMacro_PerfTest_generateStringTemplate( |
| pl_macroName := v_macro_name2, // dummy callback function will be called |
| pl_macroPar := c_param_string, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := vl_embedLevel[vl_i] |
| ); |
| |
| // measure |
| f_EPTF_SMacro_PerfTest_measure( |
| pl_stringTemplate := vl_stringTemplate, |
| pl_nameOfTestResult:= "resolving time of embedded String Macro", |
| pl_numOfIteration := pl_numOfIteration, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := vl_embedLevel[vl_i] |
| ); |
| } |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| // ///////////////////////////////////////////////////////// |
| // Testcase: tc_EPTF_SMacro_PerfTest_resolveMacroEVAL |
| // |
| // Purpose: |
| // to measure the resolving time in case of EVAL macro in the String Template with different number of expressions "$(EVAL, \"1*2*3\")" |
| // |
| // Requirement: |
| // - |
| // |
| // Action: |
| // - calls f_EPTF_SMacro_init_CT() function |
| // - calls f_EPTF_SMacro_PerfTest_generateExpr function to generate EVAL paramater |
| // - calls f_EPTF_SMacro_PerfTest_generateStringTemplate function to generate String Template |
| // - calls f_EPTF_SMacro_PerfTest_measure() |
| // |
| // Expected Result: |
| // - pass |
| // ///////////////////////////////////////////////////////// |
| testcase tc_EPTF_SMacro_PerfTest_resolveMacroEVAL( |
| in integer pl_numOfIteration, |
| in integer pl_numOfStringMacros, |
| in integer pl_numOfStringMacroParams, |
| in integer pl_lengthOfConcatString, |
| in integer pl_embedLevel, |
| in integer pl_numOfExpr, |
| in boolean pl_precedenceZero |
| ) runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_PerfTest_resolveMacroEVAL"); |
| var charstring vl_stringTemplate := ""; |
| var charstring vl_paramEVAL := ""; |
| |
| // number of expressions will be 1, 10, 30 |
| var EPTF_IntegerList vl_numOfExpr := {pl_numOfExpr,pl_numOfExpr*10,pl_numOfExpr*30}; |
| |
| for(var integer vl_i := 0; vl_i < sizeof(vl_numOfExpr); vl_i := vl_i+1) { |
| |
| // generate mathematical expression |
| vl_paramEVAL := f_EPTF_SMacro_PerfTest_generateExpr(vl_numOfExpr[vl_i], pl_precedenceZero); |
| |
| // generate string template |
| vl_stringTemplate := f_EPTF_SMacro_PerfTest_generateStringTemplate( |
| pl_macroName := c_EPTF_SMacro_macroName_EVAL, |
| pl_macroPar := vl_paramEVAL, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel |
| ); |
| |
| // measure |
| f_EPTF_SMacro_PerfTest_measure( |
| pl_stringTemplate := vl_stringTemplate, |
| pl_nameOfTestResult:= "resolving time of EVAL String Macro", |
| pl_numOfIteration := pl_numOfIteration, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel, |
| pl_numOfExpr := vl_numOfExpr[vl_i], |
| pl_precedenceZero := pl_precedenceZero |
| ); |
| } |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| |
| // ///////////////////////////////////////////////////////// |
| // Testcase: tc_EPTF_SMacro_PerfTest__resolveMacroAutoEVAL |
| // |
| // Purpose: |
| // to measure the resolving time in case of Auto EVAL (mathematical expression in the String Template) |
| // |
| // Requirement: |
| // - |
| // |
| // Action: |
| // - calls f_EPTF_SMacro_init_CT() function |
| // - calls f_EPTF_SMacro_PerfTest_generateExpr function to generate mathematical expression |
| // - calls f_EPTF_SMacro_PerfTest_generateStringTemplate function to generate String Template |
| // - calls f_EPTF_SMacro_PerfTest_measure() |
| // |
| // Expected Result: |
| // - pass |
| // ///////////////////////////////////////////////////////// |
| testcase tc_EPTF_SMacro_PerfTest_resolveMacroAutoEVAL( |
| in integer pl_numOfIteration, |
| in integer pl_numOfStringMacros, |
| in integer pl_numOfStringMacroParams, |
| in integer pl_lengthOfConcatString, |
| in integer pl_embedLevel, |
| in integer pl_numOfExpr, |
| in boolean pl_precedenceZero, |
| in boolean pl_autoEVAL |
| ) runs on SMacro_PerfTest_CT { |
| |
| f_EPTF_SMacro_PerfTest_init_CT("SMacro_PerfTest_resolveMacroAutoEVAL"); |
| var charstring vl_stringTemplate := ""; |
| var charstring vl_paramEVAL := ""; |
| |
| // number of expressions will be 1, 10, 50 |
| var EPTF_IntegerList vl_numOfExpr := {pl_numOfExpr,pl_numOfExpr*10,pl_numOfExpr*50}; |
| |
| for(var integer vl_i := 0; vl_i < sizeof(vl_numOfExpr); vl_i := vl_i+1) { |
| |
| // generate mathematical expression |
| vl_paramEVAL := f_EPTF_SMacro_PerfTest_generateExpr(vl_numOfExpr[vl_i], pl_precedenceZero); |
| |
| // generate string template |
| vl_stringTemplate := f_EPTF_SMacro_PerfTest_generateStringTemplate( |
| pl_macroName := vl_paramEVAL, |
| pl_macroPar := c_param_string, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel |
| ); |
| |
| // measure |
| f_EPTF_SMacro_PerfTest_measure( |
| pl_stringTemplate := vl_stringTemplate, |
| pl_nameOfTestResult:= "resolving time of with Auto EVAL feature", |
| pl_numOfIteration := pl_numOfIteration, |
| pl_numOfStringMacros := pl_numOfStringMacros, |
| pl_numOfStringMacroParams := pl_numOfStringMacroParams, |
| pl_lengthOfConcatString := pl_lengthOfConcatString, |
| pl_embedLevel := pl_embedLevel, |
| pl_numOfExpr := vl_numOfExpr[vl_i], |
| pl_precedenceZero := pl_precedenceZero, |
| pl_autoEVAL := pl_autoEVAL |
| ); |
| } |
| |
| f_EPTF_Base_stop(pass); |
| } |
| |
| |
| |
| //========================================================================= |
| // Control |
| //========================================================================= |
| control { |
| execute(tc_EPTF_SMacro_PerfTest_resolveSimpleMacro( |
| pl_numOfIteration := 1000, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 0, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 0)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveMacro( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 0, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 0)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveMacroWithConcatString( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 0, |
| pl_lengthOfConcatString := 1, |
| pl_embedLevel := 0)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveMacroWithParam( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 1, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 0)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveEmbeddedMacro( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 1, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 1)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveEmbeddedMacro( |
| pl_numOfIteration := 97, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 2, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 1)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveEmbeddedMacro( |
| pl_numOfIteration := 26, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 3, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 1)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveMacroEVAL( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 1, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 0, |
| pl_numOfExpr := 1, |
| pl_precedenceZero := false)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveMacroEVAL( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 10, |
| pl_numOfStringMacroParams := 1, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 0, |
| pl_numOfExpr := 1, |
| pl_precedenceZero := true)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveMacroAutoEVAL( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 1, |
| pl_numOfStringMacroParams := 0, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 0, |
| pl_numOfExpr := 1, |
| pl_precedenceZero := false, |
| pl_autoEVAL := true)); |
| |
| execute(tc_EPTF_SMacro_PerfTest_resolveMacroAutoEVAL( |
| pl_numOfIteration := 500, |
| pl_numOfStringMacros := 1, |
| pl_numOfStringMacroParams := 0, |
| pl_lengthOfConcatString := 0, |
| pl_embedLevel := 0, |
| pl_numOfExpr := 1, |
| pl_precedenceZero := true, |
| pl_autoEVAL := true)); |
| } //control |
| |
| } // module |