blob: 9b3958d65d023b9288b13ad2449a3125dac0cdbd [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2000-2017 Ericsson Telecom AB //
// //
// All rights reserved. This program and the accompanying materials //
// are made available under the terms of the Eclipse Public License v1.0 //
// which accompanies this distribution, and is available at //
// http://www.eclipse.org/legal/epl-v10.html //
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Module: EPTF_LGenBaseStatsUI_Test
//
// Purpose:
// This module tests the statistical GUI of the LGenBase feature
//
// Module Parameters:
// tsp_modulePar_entityTypes -
// tsp_modulePar_entityGroups
// tsp_modulePar_compactFsmTables
// tsp_modulePar_trafficCases
// tsp_modulePar_scenarios
// tsp_modulePar_Scenarios2Grps
//
// Module depends on:
//
// Current Owner:
// ELSZSKU
//
// Last Review Date:
// 2008-02-18
//
//
///////////////////////////////////////////////////////////
module EPTF_LGenBaseStatsUI_Test{
import from EPTF_CLL_LGenBaseStatsUI_Functions all;
import from EPTF_CLL_LGenBaseStatsUI_Definitions all;
import from EPTF_CLL_LGenBaseStats_Functions all
import from EPTF_CLL_UIHandler_Definitions all;
import from EPTF_CLL_UIHandler_WidgetFunctions all;
import from EPTF_CLL_UIHandlerClient_Definitions all;
import from EPTF_CLL_UIHandlerClient_Functions all;
import from EPTF_CLL_UIHandler_XULFunctions all;
import from EPTF_CLL_LGenBase_Definitions all;
import from EPTF_CLL_LGenBase_ConfigDefinitions all;
import from EPTF_CLL_Base_Functions all;
import from EPTF_CLL_LGenBase_Functions all;
import from EPTF_CLL_LGenBase_StepFunctions all;
import from EPTF_CLL_LGenBase_ConfigFunctions all;
import from EPTF_CLL_LGenBase_TrafficFunctions all;
import from EPTF_CLL_LGenBase_EventHandlingFunctions all;
import from paramDemoAppLib_Definitions all;
import from paramDemoAppLib_Functions all;
import from XTDP_PDU_Defs language "ASN.1:2002" all;
import from EPTF_CLL_Common_Definitions all;
import from EPTF_CLL_Variable_Functions all;
//import from EPTF_CLL_Scheduler_Definitions all;
import from EPTF_CLL_RBTScheduler_Functions all;
modulepar EPTF_LGenBase_TcMgmt_EntityTypeDeclaratorList tsp_modulePar_entityTypes := {};
modulepar EPTF_LGenBase_TcMgmt_EntityGrpDeclaratorList tsp_modulePar_entityGroups := {};
modulepar EPTF_LGenBase_TcMgmt_CompactFsmTableDeclaratorList tsp_modulePar_compactFsmTables := {};
modulepar EPTF_LGenBase_TcMgmt_tcTypeDeclaratorList tsp_modulePar_trafficCases := {};
modulepar EPTF_LGenBase_TcMgmt_ScenarioDeclaratorList tsp_modulePar_scenarios := {};
modulepar EPTF_LGenBase_TcMgmt_Scenarios2GrpList tsp_modulePar_Scenarios2Grps := {};
modulepar float tsp_testDuration := 1.2;
modulepar integer tsp_numEntities := 100;
modulepar charstring tsp_LGenBaseStatsUI_mainWindow := "";
modulepar charstring tsp_scenariosParentWidgetName := "EPTF_Main_Tabbox";
function f_setVerdictKind(in boolean success){
if(success){
setverdict ( pass );
}else{
setverdict ( fail );
}
}
function f_LGenBaseRegisterTest_groupRegisterFinishFunction_FT(in integer pl_idx)
runs on LGenBaseTest_CT{
log("--- Registration finished.")
//log(v_LGenBase_trafficCases)
}
function f_LGenBaseRegisterTest_doTrafficFinishedFn(in integer pl_idx)
runs on LGenBaseTest_CT{
log("--- DoTraffic_finished of TC ",f_EPTF_LGenBase_getTcUniqueNameByTcIdx(pl_idx))
//log(v_LGenBase_trafficCases)
}
type component StatsUI_CT extends EPTF_LGenBaseStatsUI_CT, LGenBaseTest_CT, EPTF_UIHandler_CT{
}
function f_EPTF_LGenBaseStatsUI_exitBtnPressed(
in integer pl_idx,
in EPTF_IntegerList pl_argList)
runs on StatsUI_CT {
log("-----------")
log("-----------")
log("-----------")
f_EPTF_Base_stop();
}
function f_EPTF_LGenBaseStatsUI_snapshotBtnPressed(
in integer pl_idx,
in EPTF_IntegerList pl_argList)
runs on StatsUI_CT {
log(f_EPTF_UIHandler_snapshot())
}
const EPTF_LGenBaseStatsUI_columnDescriptorList c_columnDescriptorList := {
{"Tc", c_EPTF_LGenBaseStatsUI_tcColTcName, false},
{"En.", c_EPTF_LGenBaseStatsUI_tcColEnabled, false},
{"State", c_EPTF_LGenBaseStatsUI_tcColStateName, false},
{"Info", c_EPTF_LGenBaseStatsUI_tcColUserData, false},
{"Start", c_EPTF_LGenBaseStatsUI_tcColStartBtn, false},
{"Stop", c_EPTF_LGenBaseStatsUI_tcColStopBtn, false},
{"Pause", c_EPTF_LGenBaseStatsUI_tcColPauseBtn, true},
//{"Abort", c_EPTF_LGenBaseStatsUI_tcColAbortBtn, true},
{"CPS", c_EPTF_LGenBaseStatsUI_tcColCpsToReach, true},
{"Weight", c_EPTF_LGenBaseStatsUI_tcColWeight, true},
{"ActCPS", c_EPTF_LGenBaseStatsUI_tcColLastCps, false},
{"Running", c_EPTF_LGenBaseStatsUI_tcColNrOfRunningEntities, false},
{"Available", c_EPTF_LGenBaseStatsUI_tcColNrOfAvailableEntities, false},
{"Not finished", c_EPTF_LGenBaseStatsUI_tcColNrOfNotFinishedEntities, false},
{"Starts", c_EPTF_LGenBaseStatsUI_tcColNrOfStarts, false},
{"Success", c_EPTF_LGenBaseStatsUI_tcColNrOfSuccesses, false},
//{"Fail", c_EPTF_LGenBaseStatsUI_tcColNnrOfFails, false},
{"Max.running", c_EPTF_LGenBaseStatsUI_tcColMaxRunning, false},
{"Min.available", c_EPTF_LGenBaseStatsUI_tcColMinAvailable, false},
{"Max.busy", c_EPTF_LGenBaseStatsUI_tcColMaxBusy, false},
{"Fin.traffic", c_EPTF_LGenBaseStatsUI_tcColReceivedAnswers, false},
{"Range loops", c_EPTF_LGenBaseStatsUI_tcColRangeLoops, false}
}
const EPTF_LGenBaseStatsUI_scColumnDescriptorList c_scColumnDescriptorList := {
{"Scenario", c_EPTF_LGenBaseStatsUI_scColName, false},
{"En.", c_EPTF_LGenBaseStatsUI_scColEnabled, true},
{"State", c_EPTF_LGenBaseStatsUI_scColStateName, false},
{"StartIt", c_EPTF_LGenBaseStatsUI_scColStartBtn, true},
{"Stop", c_EPTF_LGenBaseStatsUI_scColStopBtn, false},
{"Abort", c_EPTF_LGenBaseStatsUI_scColAbortBtn, true},
//{"Restore", c_EPTF_LGenBaseStatsUI_scColRestoreBtn, true},
{"CPS", c_EPTF_LGenBaseStatsUI_scColCPS, true}//,
//{"Lock CPS", c_EPTF_LGenBaseStatsUI_scColLockCPS, true}
}
modulepar boolean tsp_changeGUI := false;
///////////////////////////////////////////////////////////
// Testcase: tc_EPTF_LGenBaseStatsUIRegister
//
// Purpose:
// Tests the display and GUI management of the register-reregister-traffic generation
// scenario.
///////////////////////////////////////////////////////////
testcase tc_EPTF_LGenBaseStatsUIRegister()
runs on StatsUI_CT{
f_LGenBaseTest_Init_CT("StatsUITest","statsUIEntity#");
f_EPTF_UIHandlerXUL_init_CT("StatsUITest",true,tsp_LGenBaseStatsUI_mainWindow);
if(tsp_changeGUI){
f_EPTF_LGenBaseStatsUI_init("StatsUITest", "statsUIEntity#", self, c_scColumnDescriptorList, c_columnDescriptorList);
}else{
f_EPTF_LGenBaseStatsUI_init("StatsUITest", "statsUIEntity#", self);
}
f_EPTF_LGenBase_declareFunction("successGroupRegister",
{customFinishFunction := refers(f_LGenBaseRegisterTest_groupRegisterFinishFunction_FT)});
f_EPTF_LGenBase_declareFunction("doTrafficFinished",
{customFinishFunction := refers(f_LGenBaseRegisterTest_doTrafficFinishedFn)});
f_EPTF_LGenBase_TcMgmt_declareEntityTypes(tsp_modulePar_entityTypes)
f_EPTF_LGenBase_TcMgmt_declareEntityGroups(tsp_modulePar_entityGroups);
f_EPTF_LGenBase_TcMgmt_declareCompactFsmTables(tsp_modulePar_compactFsmTables);
f_EPTF_LGenBase_TcMgmt_declareTrafficCases(tsp_modulePar_trafficCases);
f_EPTF_LGenBase_TcMgmt_declareScenarios(tsp_modulePar_scenarios);
f_EPTF_LGenBase_TcMgmt_createScenarios2EntityGroup(tsp_modulePar_Scenarios2Grps);
f_EPTF_LGenBase_declareWeightedScenarioType({"scWeight",false,9.5,false,{false},{
{
tcName := "reregister",
tcWeight := 0.25,
enableEntities := true,
enable := true,
ranges := {},
params := {},
groupFinishConditions := c_EPTF_LGenBase_TcMgmt_emptyGroupFinishConditions2,
entityFinishConditions := c_EPTF_LGenBase_TcMgmt_emptyEntityFinishConditions,
entityFinishActions := {},
tcFinishActions := {}
},
{
tcName := "doTraffic",
tcWeight := 0.75,
enableEntities := true,
enable := true,
ranges := {},
params := {},
groupFinishConditions := c_EPTF_LGenBase_TcMgmt_emptyGroupFinishConditions2,
entityFinishConditions := c_EPTF_LGenBase_TcMgmt_emptyEntityFinishConditions,
entityFinishActions := {},
tcFinishActions := {}
}
}})
f_EPTF_LGenBase_createScenario2EntityGroup({"eg1","scWeight"}, false);
//Init GUI
log("---- basic window structure added");
log(tsp_scenariosParentWidgetName)
f_EPTF_LGenBaseStatsUI_prepareGUI(tsp_scenariosParentWidgetName);
log("----- - - - Snapshot");
log(f_EPTF_UIHandler_snapshot());
var integer vl_temp;
f_EPTF_Var_newInt(
"exit_ttcn_btn", 0, vl_temp);
f_EPTF_UIHandlerClient_subscribeMe(
"exit_ttcn_btn",
"GUI.exit_ttcn_btn",
"exit_ttcn_btn");
f_EPTF_Var_addPostProcFn(
vl_temp, { refers(f_EPTF_LGenBaseStatsUI_exitBtnPressed), {}} );
//
//v_EPTF_snapshotTime := T_EPTF_componentClock.read;
f_EPTF_SchedulerComp_refreshSnapshotTime();
log("----- - - - Dumptest");
f_EPTF_LGenBase_debugLogListeners()
//f_EPTF_LGenBase_startTrafficCase("eg0", "sc1", "register");
//f_EPTF_LGenBase_startTrafficCase("eg0", "sc1", "reregister");
timer t1;
t1.start(tsp_testDuration);
t1.timeout;
//Some checking
var integer vl_tcRegIdx := f_EPTF_LGenBase_trafficCaseId("eg0", "sc1", "register");
var integer vl_tcReRegIdx := f_EPTF_LGenBase_trafficCaseId("eg0", "sc1", "reregister");
var integer vl_tcDoIdx := f_EPTF_LGenBase_trafficCaseId("eg0", "sc1", "doTraffic");
if(f_EPTF_LGenBase_getTcSuccesses(vl_tcRegIdx) == tsp_numEntities and
f_EPTF_LGenBase_getTcStarts(vl_tcReRegIdx) > 0 and
f_EPTF_LGenBase_getTcStarts(vl_tcDoIdx) > 0
){
setverdict ( pass );
}else{
setverdict ( fail );
log("Traffic started: ",f_EPTF_LGenBase_getTcStarts(vl_tcDoIdx))
log("v_reRegisterCounterStopped == ",v_reRegisterCounterStopped);
}
f_EPTF_Base_cleanup_CT();
}
}