<!--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
http:www.eclipse.org/legal/epl-v10.html                           -->
<!DOCTYPE TITAN_GUI_project_file>
<Project TITAN_version="4.2.pl0" >
    <General>
        <Project_Name>EPTF_DsRestAPI_PerfTest</Project_Name>
        <Executable_Path>../../../CLL_build/DsRestAPI_PerfTest/EPTF_DsRestAPI_PerfTest</Executable_Path>
        <Working_Dir>../../../CLL_build/DsRestAPI_PerfTest</Working_Dir>
        <Build_Host>alpha</Build_Host>
        <Execution_Mode>Parallel</Execution_Mode>
        <Code_Splitting_Mode>None</Code_Splitting_Mode>
        <Log_Format>yes</Log_Format>
        <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_DsRestAPI_PerfTest.cfg</Config>
    </Configs>
    <Others>
        <Other>PerfTest/storePerformanceResults.sh</Other>	
    </Others>
    <Test_Cases>
        <Test_Case>EPTF_DsRestAPI_Test_Testcases.control</Test_Case>
        <Test_Case>EPTF_DsRestAPI_Test_Testcases.tc_EPTF_DsRestAPI_Test_init</Test_Case>
        <Test_Case>EPTF_DsRestAPI_Test_Testcases.tc_EPTF_DsRestAPI_Test_manual</Test_Case>
        <Test_Case>EPTF_DsRestAPI_Test_Testcases.tc_EPTF_DsRestAPI_Test_JSON_encoder</Test_Case>
        <Test_Case>EPTF_DsRestAPI_Test_Testcases.tc_EPTF_DsRestAPI_Test_DSServer</Test_Case>
        <Test_Case>EPTF_DsRestAPI_Test_Testcases.tc_EPTF_DsRestAPI_Test_DSServer_JSON</Test_Case>
        <Test_Case>EPTF_DsRestAPI_Test_Testcases.tc_EPTF_DsRestAPI_Test_DSServer_JSONviaHTTP</Test_Case>
    </Test_Cases>
    <File_Group name="MainFileGroup" >
        <File_Groups>
            <File_Group path="EPTF_DsRestAPI_PerfTest.grp" />
            <File_Group path="../../src/DsRestAPI/EPTF_CLL_DsRestAPI.grp" />
            <File_Group path="../../src/DsRestAPI/EPTF_CLL_DsRestAPI_Dep.grp" />
            <File_Group path="../../tools/TestResultGen/TestResultGen_Dep.grp" />
            <File_Group name="Useful" >
                <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion.cc" />
                <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCConversion_Functions.ttcn" />
                <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths.cc" />
                <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_Functions.ttcn" />
                <File path="../../../TCCUsefulFunctions_CNL113472/src/TCCMaths_GenericTypes.ttcn" />
            </File_Group>
        </File_Groups>
                
    </File_Group>
</Project>
