Commit ccc64c27 authored by baire's avatar baire
Browse files

implemented an adapter for the torture test suite

parent 4def7785
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line

#T3DK_TTCN_SOURCES	= ../../ttcn/LibSip_SIPTypesAndValues.ttcn ../../ttcn/LibSip_SDPTypes.ttcn
T3DK_TTCN_SOURCES	= $(wildcard ../*.ttcn)  $(wildcard *.ttcn)

T3DK_ROOT_MODULE	= SipTorture_TestCases

T3DK_C_SOURCES		= 

T3DK_CXX_SOURCES	= ../../c++/sip_codets.cpp $(wildcard *.cpp)

T3DK_CDGEN_HEADER	= ../../c++/codec.h

T3DK_CODETS		= ../../c++/sip_codets.cpp

T3DK_LIBS		= -lboost_regex$(if $(shell uname -o | grep Cygwin),-gcc-mt,)

CPPFLAGS		= -I. -I../../c++

CC			= gcc

CXX			= g++

CFLAGS			= -g 

CXXFLAGS		= -g

include $(shell t3devkit-config --mk)
+4 −0
Original line number Diff line number Diff line
@@ -1008,5 +1008,9 @@ module SipTorture_TestCases
		}
	}

	control {
		execute (TC_BCAST());
	}


}
+90 −0
Original line number Diff line number Diff line
/****************************************************************************/
/* $Id$             */
/*                                                                          */
/*   (c) 2009  Universite de Rennes 1                                       */
/*                                                                          */
/* Contributors:                                                            */
/*  - Anthony BAIRE                                                         */
/*                                                                          */
/* Contact address: <t3devkit@irisa.fr>                                     */
/*                                                                          */
/*                                                                          */
/* This file is part of application examples provided along with T3DevKit,  */
/* a free toolkit for building TTCN-3 tests.                                */
/*                                                                          */
/* This software is governed by the CeCILL-B license under French law and   */
/* abiding by the rules of distribution of free software.  You can  use,    */
/* modify and/or redistribute the software under the terms of the CeCILL-B  */
/* license as circulated by CEA, CNRS and INRIA at the following URL        */
/* "http://www.cecill.info".                                                */
/*                                                                          */
/* As a counterpart to the access to the source code and  rights to copy,   */
/* modify and redistribute granted by the license, users are provided only  */
/* with a limited warranty  and the software's author,  the holder of the   */
/* economic rights,  and the successive licensors  have only  limited       */
/* liability.                                                               */
/*                                                                          */
/* In this respect, the user's attention is drawn to the risks associated   */
/* with loading,  using,  modifying and/or developing or reproducing the    */
/* software by the user in light of its specific status of free software,   */
/* that may mean  that it is complicated to manipulate,  and  that  also    */
/* therefore means  that it is reserved for developers  and  experienced    */
/* professionals having in-depth computer knowledge. Users are therefore    */
/* encouraged to load and test the software's suitability as regards their  */
/* requirements in conditions enabling the security of their systems and/or */ 
/* data to be ensured and,  more generally, to use and operate it in the    */
/* same conditions as regards security.                                     */
/*                                                                          */
/* The fact that you are presently reading this means that you have had     */
/* knowledge of the CeCILL-B license and that you accept its terms.         */
/****************************************************************************/
#include <fstream>
#include "SipTorturePort.h"
using namespace t3devlib;
using namespace std;

SipTorturePort::SipTorturePort (PortId& id) :
	Port (id)
{ 
}

SipTorturePort::~SipTorturePort() 
{
}

bool SipTorturePort::Map (const PortId& connected_port_id) 
{
	string filename ("data/");
	filename += GetTestcaseId().GetObjectName();
	filename += ".dat";

	cout << "Reading testcase data from " << filename << endl;

	ifstream in (filename.c_str(), ios_base::in | ios_base::binary);

	if (!in) {
		cerr << "Cannot open " << filename << endl;
		return false;
	}

	in.seekg (0, ios_base::end);
	streampos size = in.tellg();
	in.seekg (0, ios_base::beg);

	char* buff = new char[size];
	in.read (buff, size);

	EnqueueMsg (connected_port_id, MappedBitstring (buff, size*8));

	return in.good(); 
} 
 
bool SipTorturePort::Unmap (const PortId& connected_port_id) 
{ 
  return true; 
}

bool SipTorturePort::Send (const ComponentId& from,const Bitstring& msg) {
  cerr << "cannot send data to the Sip 'Torture' Port" << endl;
  return false;
}
+61 −0
Original line number Diff line number Diff line
/****************************************************************************/
/* $Id$             */
/*                                                                          */
/*   (c) 2009  Universite de Rennes 1                                       */
/*                                                                          */
/* Contributors:                                                            */
/*  - Anthony BAIRE                                                         */
/*                                                                          */
/* Contact address: <t3devkit@irisa.fr>                                     */
/*                                                                          */
/*                                                                          */
/* This file is part of application examples provided along with T3DevKit,  */
/* a free toolkit for building TTCN-3 tests.                                */
/*                                                                          */
/* This software is governed by the CeCILL-B license under French law and   */
/* abiding by the rules of distribution of free software.  You can  use,    */
/* modify and/or redistribute the software under the terms of the CeCILL-B  */
/* license as circulated by CEA, CNRS and INRIA at the following URL        */
/* "http://www.cecill.info".                                                */
/*                                                                          */
/* As a counterpart to the access to the source code and  rights to copy,   */
/* modify and redistribute granted by the license, users are provided only  */
/* with a limited warranty  and the software's author,  the holder of the   */
/* economic rights,  and the successive licensors  have only  limited       */
/* liability.                                                               */
/*                                                                          */
/* In this respect, the user's attention is drawn to the risks associated   */
/* with loading,  using,  modifying and/or developing or reproducing the    */
/* software by the user in light of its specific status of free software,   */
/* that may mean  that it is complicated to manipulate,  and  that  also    */
/* therefore means  that it is reserved for developers  and  experienced    */
/* professionals having in-depth computer knowledge. Users are therefore    */
/* encouraged to load and test the software's suitability as regards their  */
/* requirements in conditions enabling the security of their systems and/or */ 
/* data to be ensured and,  more generally, to use and operate it in the    */
/* same conditions as regards security.                                     */
/*                                                                          */
/* The fact that you are presently reading this means that you have had     */
/* knowledge of the CeCILL-B license and that you accept its terms.         */
/****************************************************************************/
#ifndef SipTorturePort_h
#define SipTorturePort_h

#include <t3devlib/t3devlib.h>

	
class SipTorturePort : public t3devlib::Port
{
public:
	SipTorturePort (t3devlib::PortId& id);
	~SipTorturePort();
		
protected:
	bool Map (const t3devlib::PortId& port_id);
	bool Unmap (const t3devlib::PortId& port_id);
	bool Send (const t3devlib::ComponentId& from, const t3devlib::Bitstring& msg);
		
};


#endif
+66 −0
Original line number Diff line number Diff line
/****************************************************************************/
/* $Id$             */
/*                                                                          */
/*   (c) 2009  Universite de Rennes 1                                       */
/*                                                                          */
/* Contributors:                                                            */
/*  - Anthony BAIRE                                                         */
/*                                                                          */
/* Contact address: <t3devkit@irisa.fr>                                     */
/*                                                                          */
/*                                                                          */
/* This file is part of application examples provided along with T3DevKit,  */
/* a free toolkit for building TTCN-3 tests.                                */
/*                                                                          */
/* This software is governed by the CeCILL-B license under French law and   */
/* abiding by the rules of distribution of free software.  You can  use,    */
/* modify and/or redistribute the software under the terms of the CeCILL-B  */
/* license as circulated by CEA, CNRS and INRIA at the following URL        */
/* "http://www.cecill.info".                                                */
/*                                                                          */
/* As a counterpart to the access to the source code and  rights to copy,   */
/* modify and redistribute granted by the license, users are provided only  */
/* with a limited warranty  and the software's author,  the holder of the   */
/* economic rights,  and the successive licensors  have only  limited       */
/* liability.                                                               */
/*                                                                          */
/* In this respect, the user's attention is drawn to the risks associated   */
/* with loading,  using,  modifying and/or developing or reproducing the    */
/* software by the user in light of its specific status of free software,   */
/* that may mean  that it is complicated to manipulate,  and  that  also    */
/* therefore means  that it is reserved for developers  and  experienced    */
/* professionals having in-depth computer knowledge. Users are therefore    */
/* encouraged to load and test the software's suitability as regards their  */
/* requirements in conditions enabling the security of their systems and/or */ 
/* data to be ensured and,  more generally, to use and operate it in the    */
/* same conditions as regards security.                                     */
/*                                                                          */
/* The fact that you are presently reading this means that you have had     */
/* knowledge of the CeCILL-B license and that you accept its terms.         */
/****************************************************************************/
#include <t3devlib/t3devlib.h>
#include "SipTorturePort.h"

namespace t3devlib {
	
	void PAInit()
	{
	}

	void SAInit()
	{
		Port::RegisterType ("TestSystem", "SipPort", &createPort<SipTorturePort>);
	}

	void CDInit()
	{
	}

	void PAReset()
	{
	}

	void SAReset()
	{
	}
}