///////////////////////////////////////////////////////////////////////////////
// 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                                 //
///////////////////////////////////////////////////////////////////////////////
//*Regression tests
[INCLUDE]
"LGenBaseRegressionTests.cfg"

[EXECUTE]
//EPTF_LGenBase_Test_TestcasesR4.tc_lastCPSIs0
//EPTF_LGenBase_Test_TestcasesR4.tc_dispatcEntityEvent
//EPTF_LGenBase_Test_TestcasesR4.tc_dispatcEntityEvent4TC
//bubu.tc_density
//bubu.tc_compareFSMs
//EPTF_LGenBase_Test_TestcasesR4.tc_testFSMs
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_runningAfterEntitiesFinished2
//EPTF_LGenBase_Test_Testcases.control
//EPTF_LGenBase_Test_TestcasesR3.control
//EPTF_LGenBase_Test_TestcasesR4.control

//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_stat
//EPTF_LGenBase_Test_TestcasesR3.tc_LGenBase_Test_fsmVariables2
//EPTF_LGenBase_Test_TestcasesR3.tc_LGenBase_Test_fsmEntityFinishSucc
//EPTF_LGenBase_Test_TestcasesR3.tc_LGenBase_Test_fsmEntityFinishSuccRandom
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_weightedScStart
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_weightedScStartTC
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_weightedScStartAuto
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_statCreate
//bubu.tc_stat95
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_statList
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_stat

//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_stat
//EPTF_LGenBase_Test_TestcasesR3.tc_LGenBase_Test_listenToMultipleEvents
//EPTF_LGenBase_Test_TestcasesR3.tc_LGenBase_Test_externalTemplates
//EPTF_LGenBase_Test_TestcasesR3.tc_LGenBase_Test_extendTemplateType
//EPTF_LGenBase_Test_TestcasesR3.tc_LGenBase_Test_configureTemplateSet
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_statCreate
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_statList
//EPTF_LGenBase_Test_TestcasesR3.tc_EPTF_LGenBase_Test_listening2TimerEvents

EPTF_LGenBase_PerfTest_FSM_TestCases.control

EPTF_LGenBasePerformTest_CompareEventDispatchTypes.tc_LGenBasePerformTest_compareEventDispatchTypes
EPTF_LGenBasePerformTest_LoadTestCPS.tc_loadCPS
EPTF_LGenBasePerformTest_LoadTestCPS.tc_loadCPSUnique
EPTF_LGenBasePerformTest_LoadTestResources.tc_loadResources
EPTF_LGenBasePerformTest_MemTestCases.tc_LGenBasePerformTest_entitySize
EPTF_LGenBasePerformTest_MemTestCases.tc_LGenBasePerformTest_entitySizeWithEListeners
EPTF_LGenBasePerformTest_MemTestCases.tc_LGenBasePerformTest_MTAS_entitySize
EPTF_LGenBasePerformTest_MemTestCases.tc_LGenBasePerformTest_MTAS_entitySizeActivateFSM
#EPTF_LGenBase_PerformanceTests.tc_LGenBasePerformTest_generic

[EXTERNAL_COMMANDS]
EndTestCase := "storePerformanceResults.sh"

[LOGGING]
FileMask :=ACTION|ERROR| WARNING |VERDICTOP | STATISTICS | TESTCASE
#FileMask :=TIMEROP|TESTCASE|PARALLEL|MATCHING|FUNCTION|EXECUTOR|DEFAULTOP|DEBUG|USER|ACTION|ERROR| LOG_NOTHING | WARNING |VERDICTOP | STATISTICS
ConsoleMask :=WARNING|TESTCASE|EXECUTOR|ACTION | ERROR |VERDICTOP | STATISTICS

/*/
[EXECUTE]
EPTF_LGenBasePerformTest_LoadTestCPS.tc_loadCPS
EPTF_LGenBasePerformTest_LoadTestCPS.tc_loadCPSUnique
//EPTF_LGenBasePerformTest_MemTestCases.tc_LGenBasePerformTest_MTAS_entitySize
//EPTF_LGenBasePerformTest_MemTestCases.tc_LGenBasePerformTest_MTAS_entitySizeActivateFSM
EPTF_LGenBasePerformTest_LoadTestResources.tc_loadResources

[LOGGING]
//FileMask :=USER|ACTION|ERROR| LOG_NOTHING | WARNING |VERDICTOP
FileMask :=ACTION|ERROR| WARNING
ConsoleMask :=ACTION | ERROR | WARNING

//*/

LogFile := "%c_%n_%e.%h-%t%r.%s"
//LogFile := "%c@%h-%n.log"
//FileMask := LOG_ALL 
//FileMask :=USER|ACTION| ERROR 
LogEventTypes := Yes
SourceInfoFormat := Stack
LogEntityName := Yes

[MODULE_PARAMETERS]

tsp_EPTF_LGenBaseDebug := false
tsp_debug_EPTF_SchedulerFunctions := false
tsp_eCounts := {10000}
tsp_wait := 16000.0
tsp_cps2reach := 10000.0
tsp_LGenBasePerformTest_LoadLGenGuard := 320.0
//tsp_loadMeasureCount := 1000
tsp_measurementDelay := 0.31
//tsp_CPUMeasureCount := 30
tsp_measureTrafficECount :=10000
//tsp_CPUMeasureCount := 10
//tsp_cpsList := {50000.0}
tsp_runAfter := 0.1

tsp_resultFile := "./perfTestResults.txt"

//tsp_burstCalcMode := imst2
//tsp_EPTF_LGenBaseDebug := true
//tsp_EPTF_LGenBaseDebugTraffic := false

tsp_LGenBase_BustCalcMethod := cs
//tsp_EPTF_LGenBase_CPS_minUpdateInterval := 0.2

//R3
/*
tsp_EPTF_LGenBaseDebugFSMEventDispatch := false
tsp_EPTF_LGenBaseDebugTrafficVerbose := false
tsp_EPTF_cpsUpdateInterval := 0.005
tsp_cps2reach := 1.0
tsp_EPTF_LGenBaseDebugConfig := false
tsp_EPTF_LGenBaseDebugTraffic := false
*/
tsp_EPTF_LGenBaseDebugConfig := false
tsp_EPTF_LGenBase_debugVars := false
//tsp_EPTF_LGenBaseTestDebug := true
[TESTPORT_PARAMETERS]


[MAIN_CONTROLLER]
