blob: 47e1c07260f009f9103696dc35c124664b940ba2 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
// //
// 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_CS_Test_Definitions
//
// Purpose:
// This module contains definitions for testing EPTF Central Scheduling.
//
// Module Parameters:
// -
// Module depends on:
//
// Current Owner:
// Balazs Barcsik (ebalbar)
//
// Last Review Date:
// -
//
// Detailed Comments:
// -
///////////////////////////////////////////////////////////
module EPTF_CS_Test_Definitions
// [.objid{ itu_t(0) identified_organization(4) etsi(0)
// identified_organization(127) ericsson(5) testing(0)
// <put further nodes here if needed>}]
{
//=========================================================================
// Import Part
//=========================================================================
import from EPTF_CLL_CS_Definitions all;
import from EPTF_CLL_CSUIHandler_Definitions all;
// Insert imports here if applicable!
import from EPTF_CLL_Common_Definitions all;
// You can use the import_part skeleton!
//=========================================================================
// Module Parameters
//=========================================================================
// Insert module parameters here if applicable!
// You can use the module_param skeleton!
//=========================================================================
// Data Types
//=========================================================================
const integer c_A_numTc := 4;
type enumerated CS_ExecPhase {
execCTRL_PREEXEC (0),
execCTRL_LOADGEN (1),
execCTRL_POSTEXEC (2)
}
type record A_tc0
{
charstring stringField_0
}
type record A_tc1
{
charstring stringField_1
}
type record A_tc2
{
charstring stringField_2
}
type record A_tc3
{
charstring stringField_3
}
type union A_tc_union
{
A_tc0 tc0,
A_tc1 tc1,
A_tc2 tc2,
A_tc3 tc3
}
type record Adata
{
CS_ExecPhase execPhase,
A_tc_union tcData
}
type record AdataReply
{
EPTF_IntegerList tcData
}
type record CS_A_LGenExecuteTrafficCase
{
integer trafficCaseSelector,
EPTF_IntegerList data //Adata
}
type record of CS_A_LGenExecuteTrafficCase CS_A_LGenExecuteTrafficCaseList
type record CS_A_LGenExecutionResult
{
integer trafficCaseSelector,
verdicttype execResult,
EPTF_IntegerList data //AdataReply
}
type record of CS_A_LGenExecutionResult CS_A_LGenExecutionResultList
type record CS_A_LGenStatus
{
boolean LGenEnabled
}
type record CS_A_TrafficCaseDataExtension
{
integer userId_A_k
}
type record of CS_A_TrafficCaseDataExtension CS_A_TrafficCaseDataExtensionList;
// Insert data type defintions here if applicable!
// You can use the data_type skeleton!
//=========================================================================
// Signatures
//=========================================================================
// Insert signature definitions here if applicable!
// You can use the signature skeleton!
//=========================================================================
//Port Types
//=========================================================================
type port CS_A_PT message {
inout CS_A_LGenExecuteTrafficCaseList;
inout CS_A_LGenExecutionResultList;
inout CS_A_LGenStatus;
} with { extension "internal" }
// Insert port type defintions here if applicable!
// You can use the port_type skeleton!
//=========================================================================
//Component Types
//=========================================================================
type component CS_LGen_Test_CT extends EPTF_CS_LGenBase_CT
{
// Append this component type definition with the necessary variables, timers, ports, etc.
// port A_PT A_PCO;
// port PIPEasp_PT PIPEasp_PCO; // just as example
port CS_A_PT CS_PCO;
var CS_A_LGenExecuteTrafficCaseList v_execBurst_msg := {}
var CS_A_LGenExecutionResultList v_execBurstResult_msg := {}
var integer v_execBurstIdx := 0;
var integer v_trafficCaseIdx := 0;
var integer v_LGenIdx := -1;
var integer v_adminIdx := -1;
}
type component CS_ApplAdmin_Test_CT extends EPTF_CS_ApplAdminBase_CT
{
var integer v_adminIdx := -1;
// User-defined, traffic type dependent extension of traffic case data
var CS_A_TrafficCaseDataExtensionList v_A_trafficCaseData := {};
var CS_A_LGenExecuteTrafficCaseList v_execBurst_msg := {}
var CS_A_LGenExecutionResultList v_execBurstResult_msg := {}
var CS_A_LGenStatus v_lgenStatus_msg := {false};
var integer v_execBurstIdx := 0;
var integer v_trafficCaseIdx := 0;
var EPTF_IntegerList v_currentRangeItems := {};
var integer v_trafficCounter := 0;
var CS_ExecPhase v_execPhase := execCTRL_PREEXEC;
var integer v_nofLgens := 0;
var integer v_nofEnabledLGens := 0;
var default v_msgHandler;
port CS_A_PT CS_PCO;
var EPTF_CS_LGenBase_CT v_lgenCompRef;
}
type component CS_ApplAdmin_Test_UIHandler_CT extends CS_ApplAdmin_Test_CT, EPTF_CS_ApplAdminBase_UIHandler_CT
{
}
//=========================================================================
// Constants
//=========================================================================
// Insert constants here if applicable!
// You can use the constant skeleton!
//=========================================================================
// Templates
//=========================================================================
// Insert templates here if applicable!
// You can use the template skeleton!
//=========================================================================
// Altsteps
//=========================================================================
// Insert altsteps here if applicable!
// You can use the altstep skeleton!
//=========================================================================
// Functions
//=========================================================================
// Insert functions here if applicable!
// You can use the function skeleton!
//=========================================================================
// Testcases
//=========================================================================
// Insert test cases here if applicable!
// You can use the test_case skeleton!
//=========================================================================
// Control
//=========================================================================
// Insert control part here if applicable!
// You can use the control_part skeleton!
} // end of module