<!--Copyright (c) 2000-2018 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
http:www.eclipse.org/legal/epl-v10.html                           -->
<!DOCTYPE TITAN_GUI_project_file>
<Project TITAN_version="1.7.pl4" >
    <General>
        <Project_Name>EPTF_FBQ_Test</Project_Name>
        <Executable_Path>bin/EPTF_FBQ_Test</Executable_Path>
        <Working_Dir>bin</Working_Dir>
        <Build_Host>alpha</Build_Host>
        <Execution_Mode>Parallel</Execution_Mode>
        <Log_Format>yes</Log_Format>
        <GNU_Make>yes</GNU_Make>
        <Update_Symlinks>yes</Update_Symlinks>
        <Create_Absolute_Symlinks>no</Create_Absolute_Symlinks>
        <Update_Makefile>yes</Update_Makefile>
        <Localhost_Execute>yes</Localhost_Execute>
        <Execute_Command>rsh %host &quot;cd %project_working_dir ; &quot;%executable&quot; %localhost %mctr_port&quot;</Execute_Command>
        <Execute_Hosts>alfa, beta, gamma</Execute_Hosts>
        <UnUsed_List></UnUsed_List>
    </General>
    <Modules>
       <Module>../../../TCCUsefulFunctions_CNL113472/src/TCCEnv_Functions.ttcn</Module>
    </Modules>
    <Other_Sources>
       <Other_Source>../../../TCCUsefulFunctions_CNL113472/src/TCCEnv.cc</Other_Source>
    </Other_Sources>
    <Configs>
        <Config>EPTF_FBQ_Test.cfg</Config>
    </Configs>
    <Test_Cases>
        <Test_Case>EPTF_FBQ_Test.control</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_getQueueDidx</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_createFreeSlots</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_getFreeSlot</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_moveFromFreeHeadToBusy</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_moveFromFreeToBusyTail</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_moveFromBusyToFreeHead</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_moveFromBusyToFreeTail</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_getBusyHeadIdx</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_getFwdBusyItemIdx</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_getBwdBusyItemIdx</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_itemIsBusy</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_itemIsFree</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_itemIsInvalid</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_getLengthOfBusyChain</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_getLengthOfFreeChain</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_EPTF_FBQ_Test_logChain</Test_Case>
        <Test_Case>EPTF_FBQ_Test.tc_FBQ_Test_testFBQGrowage</Test_Case>
    </Test_Cases>
    <File_Group name="MainFileGroup" >
        <File_Groups>
            <File_Group name="FBQ_Test" >
                <File path="EPTF_FBQ_Test.ttcn" />
            </File_Group>
            <File_Group path="../../src/FreeBusyQueue/EPTF_CLL_FreeBusyQueue_Dep.grp" />
        </File_Groups>
    </File_Group>
</Project>
