pax_global_header 0000666 0000000 0000000 00000000064 13303253500 0014504 g ustar 00root root 0000000 0000000 52 comment=adafed55428f79880a6d850f1669c40e57664166
NG112-tplan_lis/ 0000775 0000000 0000000 00000000000 13303253500 0013563 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/.jenkins.sh 0000664 0000000 0000000 00000000335 13303253500 0015637 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Copyright ETSI 2018
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
#set -vx
set -e
cd "$(dirname "$0")"
run_dir="$(pwd)"
cd docker
./build-container.sh
./run-container.sh "${run_dir}"
NG112-tplan_lis/.project 0000664 0000000 0000000 00000000713 13303253500 0015233 0 ustar 00root root 0000000 0000000
STF549_ng112
org.eclipse.titan.designer.core.TITANBuilder
org.eclipse.titan.designer.core.TITANNature
org.eclipse.titan.log.viewer.TitanLogProject
NG112-tplan_lis/README.md 0000664 0000000 0000000 00000000550 13303253500 0015042 0 ustar 00root root 0000000 0000000 NG112
This repositories contains the test specifications and test adapter code.
Contact information
Email at cti_support at etsi dot org
License
Unless specified otherwise, the content of this repository and the files contained are released under the ETSI Software License.
See the attached LICENSE file or visit
https://forge.etsi.org/etsi-software-license
NG112-tplan_lis/ccsrc/ 0000775 0000000 0000000 00000000000 13303253500 0014660 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/ccsrc/README.md 0000664 0000000 0000000 00000000066 13303253500 0016141 0 ustar 00root root 0000000 0000000 This folder will contain the TITAN test adapter code.
NG112-tplan_lis/docker/ 0000775 0000000 0000000 00000000000 13303253500 0015032 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/docker/Dockerfile 0000664 0000000 0000000 00000005313 13303253500 0017026 0 ustar 00root root 0000000 0000000 # Copyright ETSI 2018
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
FROM gcc:latest
MAINTAINER STF549
LABEL description="STF549 Docker Image"
ENV TERM=linux
ENV HOSTNAME docker-titan-STF549
ARG USERNAME
ARG PASSWORD
RUN echo "docker-titan" > /etc/hostname \
&& DEBIAN_FRONTEND=noninteractive apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y \
&& DEBIAN_FRONTEND=noninteractive apt-get autoremove -y \
&& DEBIAN_FRONTEND=noninteractive apt-get autoclean -y \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y \
autoconf \
bison \
build-essential \
cmake \
curl \
doxygen \
emacs \
expect \
flex \
graphviz \
gdb \
git-core \
gnutls-bin \
libglib2.0-dev \
libpcap-dev \
libgcrypt-dev \
libncurses5-dev \
libssl-dev \
libtool-bin \
libtool \
libwireshark-dev \
libxml2-dev \
lsof \
ntp \
pkg-config \
qt5-default \
qtmultimedia5-dev \
libqt5svg5-dev \
subversion \
sudo \
sshpass \
tcpdump \
texlive-font-utils \
tshark \
valgrind \
vsftpd \
xutils-dev \
tree \
unzip \
wget \
&& DEBIAN_FRONTEND=noninteractive apt-get autoremove -y \
&& DEBIAN_FRONTEND=noninteractive apt-get autoclean -y \
&& useradd --create-home --shell /bin/bash stf549 \
&& echo "stf549:stf549" | chpasswd \
&& adduser stf549 sudo \
&& su - stf549 \
&& whoami \
&& cd /home/stf549 \
&& mkdir -p bin lib include dev tmp frameworks docs \
&& ls -ltr \
&& cd /home/stf549/dev \
&& git clone http://forge.etsi.org/gitlab/emergency-communications/NG112.git STF549_Ng112 \
&& cd /home/stf549/dev/STF549_Ng112/ttcn \
&& svn co --username $USERNAME --password $PASSWORD --non-interactive https://oldforge.etsi.org/svn/LibCommon/tags/v1.4.0/ttcn \
&& svn co --username $USERNAME --password $PASSWORD --non-interactive https://oldforge.etsi.org/svn/LibSip/trunk \
&& cd /home/stf549/dev/STF549_Ng112/scripts \
&& chmod 775 *.bash devenv.bash.ubuntu \
&& cd /home/stf549 \
&& ln -sf /home/stf549/dev/STF549_Ng112/scripts/devenv.bash.ubuntu /home/stf549/devenv.bash \
&& export HOME=/home/stf549 \
&& . /home/stf549/devenv.bash \
&& echo "" >> /home/stf549/.bashrc \
&& echo ". ./devenv.bash" >> /home/stf549/.bashrc \
&& echo "" >> /home/stf549/.bashrc \
&& cd /home/stf549/dev/STF549_Ng112/scripts \
&& ./build_titan.bash \
&& cd /home/stf549 \
&& . /home/stf549/devenv.bash \
&& cd /home/stf549/dev/STF549_Ng112/scripts
CMD ["/bin/bash"]
# That's all Floks
NG112-tplan_lis/docker/build-container.sh 0000664 0000000 0000000 00000001231 13303253500 0020442 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Copyright ETSI 2018
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
set -e
#set -vx
USERNAME=
PASSWORD=
DOCKER_FILE=./Dockerfile
if [ -f ${DOCKER_FILE} ]
then
docker rmi -f $(docker images -q)
docker build --tag stf549_ng112 --force-rm --build-arg USERNAME=${USERNAME} --build-arg PASSWORD=${PASSWORD} .
if [ "$?" != "0" ]
then
echo "Docker build failed: $?"
exit -1
fi
docker image ls -a
docker inspect stf549_ng112:latest
if [ "$?" != "0" ]
then
echo "Docker inspect failed: $?"
exit -1
fi
else
exit -2
fi
# That's all Floks
exit 0
NG112-tplan_lis/docker/run-container.sh 0000664 0000000 0000000 00000000303 13303253500 0020146 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Copyright ETSI 2018
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
#set -e
#set -vx
docker run -it --rm stf549_ng112:latest /bin/bash
# That's all Floks
exit 0
NG112-tplan_lis/docker/validate-in-docker.sh 0000664 0000000 0000000 00000000000 13303253500 0021016 0 ustar 00root root 0000000 0000000 NG112-tplan_lis/etc/ 0000775 0000000 0000000 00000000000 13303253500 0014336 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/etc/AtsNg112/ 0000775 0000000 0000000 00000000000 13303253500 0015576 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/etc/AtsNg112/AtsNg112.cfg 0000664 0000000 0000000 00000004617 13303253500 0017527 0 ustar 00root root 0000000 0000000 [MODULE_PARAMETERS]
# This section shall contain the values of all parameters that are defined in your TTCN-3 modules.
LibCommon_Time.PX_TAC := 10.0
[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).
LogFile := "../logs/%e.%h-%r.%s"
FileMask := LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
#FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
LogSourceInfo := Stack
LogEntityName:= Yes
LogEventTypes:= Yes
#TimeStampFormat := DateTime
[TESTPORT_PARAMETERS]
# In this section you can specify parameters that are passed to Test Ports.
system.sipPort.params := "SIP/UDP(dst_ip=192.168.1.250,dst_port=5060,src_ip=192.168.1.253,src_port=5060)/ETH(mac_src=080027d2b658,mac_dst=90fd61e61902,eth_type=0800)/PCAP(mac_src=080027d2b658,nic=eth1,filter=and udp port 12345)"
#system.pemeaPort.params := "PEMEA/HTTP/TCP(debug=1,server=httpbin.org,port=80,use_ssl=0)"
[DEFINE]
# In this section you can create macro definitions,
# that can be used in other configuration file sections except [INCLUDE] and [ORDERED_INCLUDE].
[INCLUDE]
# To use configuration settings given in other configuration files,
# the configuration files just need to be listed in this section, with their full or relative pathnames.
[ORDERED_INCLUDE]
# To use configuration settings given in other configuration files,
# the configuration files just need to be listed in this section, with their full or relative pathnames.
[EXTERNAL_COMMANDS]
# This section can define external commands (shell scripts) to be executed by the ETS
# whenever a control part or test case is started or terminated.
#BeginTestCase := ""
#EndTestCase := ""
#BeginControlPart := ""
#EndControlPart := ""
[EXECUTE]
# In this section you can specify what parts of your test suite you want to execute.
#AtsNg112_TestCases.TC_1
[GROUPS]
# In this section you can specify groups of hosts. These groups can be used inside the
# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts.
[COMPONENTS]
# This section consists of rules restricting the location of created PTCs.
[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
LocalAddress := 127.0.0.1
TCPPort := 12000
NumHCs := 1
NG112-tplan_lis/model.tdl 0000664 0000000 0000000 00000002064 13303253500 0015372 0 ustar 00root root 0000000 0000000
NG112-tplan_lis/representations.aird 0000664 0000000 0000000 00000001632 13303253500 0017653 0 ustar 00root root 0000000 0000000
model.tdl
test_purposes/lis.tplan2
NG112-tplan_lis/scripts/ 0000775 0000000 0000000 00000000000 13303253500 0015252 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/scripts/build_titan.bash 0000664 0000000 0000000 00000003565 13303253500 0020420 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Copyright ETSI 2018
# See: https://forge.etsi.org/etsi-forge-copyright-statement.txt
set -e
#set -vx
clear
if [ -z "${TOP}" ]
then
echo "Failed, TOP variable not defined, exit"
exit 1
fi
CURDIR=`pwd`
TITAN_DIR=${TOP}/..
# Move to the right directory
if [ ! -d ${TITAN_DIR} ]
then
echo "Titan directory does not exist, create it"
# Create TITAN directories
mkdir -p ${TITAN_DIR}
if [ ! "$?" -eq "0" ]
then
echo "Failed, TOP variable not defined, exit"
exit 2
fi
cd ${TITAN_DIR}
# Clone all TITAN repositories
if [ ! -f ${CURDIR}/titan_repos.txt ]
then
echo "${HOME_BIN}/titan_repos.txt file does not exist, exit"
rm -fr ${TOP}
rm -fr ${TOP}/..
exit 3
fi
TITAN_REPOS=`cat ${CURDIR}/titan_repos.txt`
for i in ${TITAN_REPOS};
do
git clone $i
if [ ! "$?" -eq "0" ]
then
echo "Failed to clone $i, exit"
exit 4
fi
done
else
cd ${TITAN_DIR}
# Update github folders
DIRS=`find . -type d -name ".git" -exec dirname {} \;`
for i in ${DIRS};
do
echo "Processing $i..."
cd $i
git fetch
if [ ! "$?" -eq "0" ]
then
echo "Failed to fetch $i, continue"
else
git pull
if [ ! "$?" -eq "0" ]
then
echo "Failed to pull $i, continue"
fi
fi
cd -
done
fi
# Build TITAN core
export JNI=no
export GUI=no
export DEBUG=no
export GEN_PDF=no
if [ -d ${TTCN3_DIR} ]
then
rm -fr ${TTCN3_DIR}
fi
mkdir ${TTCN3_DIR}
cd ./titan.core
/bin/cat < Makefile.personal
JNI:=no
GUI:=no
DEBUG:=no
GEN_PDF:=no
EOF
echo "Starting build..."
make clean
if [ "${OSTYPE}" == "cygwin" ]
then
make -j
else
make
fi
make install
echo "Build done"
# Go back to initial directory
cd ${CURDIR}
exit 0
NG112-tplan_lis/scripts/devenv.bash.ubuntu 0000664 0000000 0000000 00000003075 13303253500 0020726 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Turn on debug mode
#set -vx
set -e
# Colors and Prompt
#export PS1="\w\$ "
#export PS1="\D{%Y-%m-%d %H:%M:%S} \w\n\$ "
export EDITOR=emacs
set -o emacs
# Home working directories
export HOME_FRAMEWORKS=${HOME}/frameworks
export HOME_LIB=${HOME}/lib
export HOME_BIN=${HOME}/bin
export HOME_ETC=${HOME}/etc
export HOME_TMP=${HOME}/tmp
export HOME_DOCS=${HOME}/docs
# Home common include directory
export HOME_INC=${HOME}/include
# Update PATH environment variable
export PATH=${HOME_BIN}:${PATH}
# Update LD_LIBRARY_PATH environment variable
if [ "${LD_LIBRARY_PATH}" == "" ]
then
export LD_LIBRARY_PATH=${HOME_LIB}:/usr/local/lib
else
export LD_LIBRARY_PATH=${HOME_LIB}:/usr/local/lib:${LD_LIBRARY_PATH}
fi
# Add JAVA support
export JAVA_VERSION=1.8.0_92
export JAVA_JDK=jdk${JAVA_VERSION}
if [ -d "${HOME_FRAMEWORKS}/${JAVA_JDK}" ]
then
export JAVA_HOME=${HOME_FRAMEWORKS}/${JAVA_JDK}/bin
else
unset JAVA_VERSION
unset JAVA_JDK
fi
# Add TITAN support
export TOP=${HOME_FRAMEWORKS}/titan/titan.core
export TTCN3_DIR=${TOP}/Install
if [ -d ${TTCN3_DIR} ]
then
export TTCN3_BROWSER=mozilla
export PATH=${TTCN3_DIR}/bin:${PATH}
export LD_LIBRARY_PATH=${TTCN3_DIR}/lib:${LD_LIBRARY_PATH}
export MANPATH=${TTCN3_DIR}/man:${MANPATH}
export TTCN3_LICENSE_FILE=${TTCN3_DIR}/etc/license/license.dat
export PATH_DEV_TTCN=${HOME}/dev/ttcn3
# ITS support
export PATH_DEV_ITS=${HOME}/TriesAndDelete/etsi_its
# Emergency Communication support
export PATH_DEV_EMCOM=${HOME}/TriesAndDelete/etsi_emcom
fi
export BROWSER=netsurf
NG112-tplan_lis/scripts/titan_repos.txt 0000664 0000000 0000000 00000011630 13303253500 0020343 0 ustar 00root root 0000000 0000000 https://github.com/eclipse/titan.core.git
https://github.com/eclipse/titan.TestPorts.Common_Components.Abstract_Socket.git
https://github.com/eclipse/titan.TestPorts.HTTPmsg.git
https://github.com/eclipse/titan.TestPorts.LANL2asp.git
https://github.com/eclipse/titan.TestPorts.PCAPasp.git
https://github.com/eclipse/titan.TestPorts.PIPEasp.git
https://github.com/eclipse/titan.TestPorts.SCTPasp.git
https://github.com/eclipse/titan.TestPorts.SIPmsg.git
https://github.com/eclipse/titan.TestPorts.SQLasp.git
https://github.com/eclipse/titan.TestPorts.TCPasp.git
https://github.com/eclipse/titan.TestPorts.TELNETasp.git
https://github.com/eclipse/titan.TestPorts.UDPasp.git
https://github.com/eclipse/titan.ProtocolModules.COMMON.git
https://github.com/eclipse/titan.ProtocolModules.DHCP.git
https://github.com/eclipse/titan.ProtocolModules.DHCPv6.git
https://github.com/eclipse/titan.ProtocolModules.DIAMETER_ProtocolModule_Generator.git
https://github.com/eclipse/titan.ProtocolModules.DNS.git
https://github.com/eclipse/titan.ProtocolModules.ICMP.git
https://github.com/eclipse/titan.ProtocolModules.ICMPv6.git
https://github.com/eclipse/titan.ProtocolModules.IP.git
https://github.com/eclipse/titan.ProtocolModules.RTP.git
https://github.com/eclipse/titan.ProtocolModules.RTSP.git
https://github.com/eclipse/titan.ProtocolModules.SMPP.git
https://github.com/eclipse/titan.ProtocolModules.SMTP.git
https://github.com/eclipse/titan.ProtocolModules.SNMP.git
https://github.com/eclipse/titan.ProtocolModules.TCP.git
https://github.com/eclipse/titan.ProtocolModules.UDP.git
https://github.com/eclipse/titan.ProtocolModules.XMPP.git
https://github.com/eclipse/titan.EclipsePlug-ins.git
https://github.com/eclipse/titan.misc.git
https://github.com/eclipse/titan.TestPorts.LDAPasp_RFC4511.git
https://github.com/eclipse/titan.TestPorts.LDAPmsg.git
https://github.com/eclipse/titan.TestPorts.Common_Components.Socket-API.git
https://github.com/eclipse/titan.TestPorts.SSHCLIENTasp.git
https://github.com/eclipse/titan.TestPorts.STDINOUTmsg.git
https://github.com/eclipse/titan.TestPorts.SUNRPCasp.git
https://github.com/eclipse/titan.TestPorts.UNIX_DOMAIN_SOCKETasp.git
https://github.com/eclipse/titan.TestPorts.IPL4asp.git
https://github.com/eclipse/titan.ProtocolModules.FrameRelay.git
https://github.com/eclipse/titan.ProtocolModules.H248_v2.git
https://github.com/eclipse/titan.ProtocolModules.IMAP_4rev1.git
https://github.com/eclipse/titan.ProtocolModules.ICAP.git
https://github.com/eclipse/titan.ProtocolModules.IKEv2.git
https://github.com/eclipse/titan.ProtocolModules.IPsec.git
https://github.com/eclipse/titan.ProtocolModules.IUA.git
https://github.com/eclipse/titan.ProtocolModules.JSON_v07_2006.git
https://github.com/eclipse/titan.ProtocolModules.L2TP.git
https://github.com/eclipse/titan.ProtocolModules.M3UA.git
https://github.com/eclipse/titan.ProtocolModules.MIME.git
https://github.com/eclipse/titan.ProtocolModules.MSRP.git
https://github.com/eclipse/titan.ProtocolModules.PPP.git
https://github.com/eclipse/titan.ProtocolModules.ProtoBuff.git
https://github.com/eclipse/titan.ProtocolModules.RADIUS_ProtocolModule_Generator.git
https://github.com/eclipse/titan.ProtocolModules.SRTP.git
https://github.com/eclipse/titan.ProtocolModules.WebSocket.git
https://github.com/eclipse/titan.ProtocolModules.HTTP2.0.git
https://github.com/eclipse/titan.Libraries.TCCUsefulFunctions.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.CoAP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.DSS1_ETSI.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.DUA.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.EAP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.GRE.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.M2PA.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.M2UA.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.MobileL3_v13.4.0.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.MongoDB.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.MQTT.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.NDP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.NTAF.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.ROSE.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.SCTP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.SDP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.SNDCP_v7.0.0.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.STOMP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.STUN_RFC5389.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.SUA.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.TLS.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.WTP.git
git://git.eclipse.org/gitroot/titan/titan.TestPorts.GPIO.git
git://git.eclipse.org/gitroot/titan/titan.TestPorts.MTP3asp.git
git://git.eclipse.org/gitroot/titan/titan.TestPorts.Serial.git
NG112-tplan_lis/scripts/update_emcom_project.bash 0000664 0000000 0000000 00000013112 13303253500 0022277 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Debug mode
#set -e
set -vx
# Usage: sudo ./update_emcom_project.bash
# TODO Use git clone in temporary directory
OLDPWD=`pwd`
cd ${HOME}/dev/STF549_ng112
# Execution path
RUN_PATH="${0%/*}"
SRC_EMCOM_PATH=${HOME}/dev/STF549_ng112
PATH_DEV_EMCOM=`pwd`/../etsi_emcom
if [ -d ${PATH_DEV_EMCOM} ]
then
if [ -f ${HOME}/tmp/emcom.tar.bz2 ]
then
mv ${HOME}/tmp/emcom.tar.bz2 ${HOME}/tmp/emcom.tar.`date +'%Y%m%d'`.bz2
fi
tar jcvf ${HOME}/tmp/emcom.tar.bz2 ${PATH_DEV_EMCOM}
rm -fr ${PATH_DEV_EMCOM}
fi
# Check if target directory exist
if [ ! -d ${PATH_DEV_EMCOM} ]
then
mkdir -p ${PATH_DEV_EMCOM}/xsd ${PATH_DEV_EMCOM}/framework ${PATH_DEV_EMCOM}/include ${PATH_DEV_EMCOM}/bin ${PATH_DEV_EMCOM}/lib ${PATH_DEV_EMCOM}/objs ${PATH_DEV_EMCOM}/src ${PATH_DEV_EMCOM}/docs
fi
# Update XSD files
echo 'Updating XSD files'
XSD_SRC_PATH=${SRC_EMCOM_PATH}/xsd
XSD_DST_PATH=${PATH_DEV_EMCOM}/xsd
cp ${XSD_SRC_PATH}/*.xsd ${XSD_DST_PATH}
cp ${XSD_SRC_PATH}/*.dtd ${XSD_DST_PATH}
# Update ETSI Framework files
echo 'Updating ETSI Framework files'
FWK_SRC_PATH=${SRC_EMCOM_PATH}/ccsrc
FWK_DST_PATH=${PATH_DEV_EMCOM}/framework
mkdir -p ${FWK_DST_PATH}/src ${FWK_DST_PATH}/include
chmod -R 775 ${FWK_DST_PATH}
# Create link to TITAN Abstract_Socket
ln -sf $TOP/../titan.TestPorts.Common_Components.Abstract_Socket/src/Abstract_Socket.cc ${FWK_DST_PATH}/src/Abstract_Socket.cc
ln -sf $TOP/../titan.TestPorts.Common_Components.Abstract_Socket/src/Abstract_Socket.hh ${FWK_DST_PATH}/include/Abstract_Socket.hh
FWK_DIR_LIST_HH=`find ${FWK_SRC_PATH}/Protocols/ -name "*.h*" -type f`
FWK_DIR_LIST_THH=`find ${FWK_SRC_PATH}/Protocols/ -name "*.t.h*" -type f`
FWK_DIR_LIST_CC=`find ${FWK_SRC_PATH}/Protocols/ -name "*.c*" -type f`
FWK_DIR_LIST_L=`find ${FWK_SRC_PATH}/Protocols/ -name "*.l" -type f`
FWK_DIR_LIST_Y=`find ${FWK_SRC_PATH}/Protocols/ -name "*.y" -type f`
for i in ${FWK_DIR_LIST_HH}
do
cp $i ${FWK_DST_PATH}/include
done
for i in ${FWK_DIR_LIST_THH}
do
cp $i ${FWK_DST_PATH}/include
done
for i in ${FWK_DIR_LIST_CC}
do
cp $i ${FWK_DST_PATH}/src
done
if [ "${FWK_DIR_LIST_L}" != "" ]
then
for i in ${FWK_DIR_LIST_L}
do
cp $i ${FWK_DST_PATH}/src
done
fi
if [ "${FWK_DIR_LIST_Y}" != "" ]
then
for i in ${FWK_DIR_LIST_Y}
do
cp $i ${FWK_DST_PATH}/src
done
fi
FWK_DIR_LIST_HH=`find ${FWK_SRC_PATH}/Framework/ -name "*.h*" -type f`
FWK_DIR_LIST_CC=`find ${FWK_SRC_PATH}/Framework/ -name "*.c*" -type f`
for i in ${FWK_DIR_LIST_HH}
do
cp $i ${FWK_DST_PATH}/include
done
for i in ${FWK_DIR_LIST_CC}
do
cp $i ${FWK_DST_PATH}/src
done
# Update ATS TTCN-3 files
echo 'Update TTCN-3 files'
TTCN_3_ORG_PATH=${SRC_EMCOM_PATH}/ttcn
TTCN_3_DST_PATH=${PATH_DEV_EMCOM}/src
CC_SRC_PATH=${SRC_EMCOM_PATH}/ccsrc
TTCN_3_ATS_LIST='AtsNg112'
for i in ${TTCN_3_ATS_LIST}
do
if [ ! -d ${TTCN_3_DST_PATH}/$i ]
then
mkdir -p ${TTCN_3_DST_PATH}/$i/bin ${TTCN_3_DST_PATH}/$i/lib ${TTCN_3_DST_PATH}/$i/src ${TTCN_3_DST_PATH}/$i/include ${TTCN_3_DST_PATH}/$i/ttcn ${TTCN_3_DST_PATH}/$i/objs ${TTCN_3_DST_PATH}/$i/etc ${TTCN_3_DST_PATH}/$i/docs
chmod -R 775 ${TTCN_3_DST_PATH}/$i
fi
cp ${TTCN_3_ORG_PATH}/$i/*.ttcn ${TTCN_3_DST_PATH}/$i/ttcn
cp ${TTCN_3_ORG_PATH}/../etc/$i/*.cfg ${TTCN_3_DST_PATH}/$i/etc
cp ${TTCN_3_ORG_PATH}/../docs/$i/o2.cfg ${TTCN_3_DST_PATH}/$i/docs
done
# Update libraries & CC files
TTCN_3_LIB_LIST='LibEmcom/LibNg112 LibHttp LibSip LibCommon'
for i in ${TTCN_3_LIB_LIST}
do
if [ ! -d ${TTCN_3_DST_PATH}/$i ]
then
mkdir -p ${TTCN_3_DST_PATH}/$i/docs ${TTCN_3_DST_PATH}/$i/src ${TTCN_3_DST_PATH}/$i/include ${TTCN_3_DST_PATH}/$i/ttcn ${TTCN_3_DST_PATH}/$i/xsd
fi
cp ${TTCN_3_ORG_PATH}/$i/*.ttcn ${TTCN_3_DST_PATH}/$i/ttcn
# Update CC files
if [ "$i" == "LibNg112" ]
then
cp ${CC_SRC_PATH}/include/$i/*.hh ${TTCN_3_DST_PATH}/$i/include
cp ${CC_SRC_PATH}/src/$i/*.cc ${TTCN_3_DST_PATH}/$i/src
fi
if [ "$i" == "LibSip" ]
then
cp ${TTCN_3_ORG_PATH}/$i/ttcn/*.ttcn ${TTCN_3_DST_PATH}/$i/ttcn
cp ${TTCN_3_ORG_PATH}/$i/xsd/*.xsd ${TTCN_3_DST_PATH}/$i/xsd
cp ${TTCN_3_ORG_PATH}/$i/xsd/*.ttcn ${TTCN_3_DST_PATH}/$i/ttcn
cp ${CC_SRC_PATH}/EncDec/LibSip_Encdec.cc ${TTCN_3_DST_PATH}/$i/src
cp ${CC_SRC_PATH}/Ports/$i/*.hh ${TTCN_3_DST_PATH}/$i/include
cp ${CC_SRC_PATH}/Ports/$i/*.cc ${TTCN_3_DST_PATH}/$i/src
cp ${CC_SRC_PATH}/include/$i/*.hh ${TTCN_3_DST_PATH}/$i/include
cp ${CC_SRC_PATH}/src/$i/*.cc ${TTCN_3_DST_PATH}/$i/src
fi
done
# Generate Bison parsers is any
cd ${FWK_DST_PATH}/src
if [ "${FWK_DIR_LIST_Y}" != "" ]
then
for i in ${FWK_DIR_LIST_Y}
do
BASE_NAME=$(basename "$i" .y)
bison -dv -p${BASE_NAME}_ -b${BASE_NAME}_ ${BASE_NAME}.y #--defines=../include/${BASE_NAME}.h -o${BASE_NAME}.c
done
fi
if [ "${FWK_DIR_LIST_L}" != "" ]
then
for i in ${FWK_DIR_LIST_L}
do
BASE_NAME=$(basename "$i" .l)
flex -Cfr -8 -Bvpp -P${BASE_NAME}_ ${BASE_NAME}.l # -o${BASE_NAME}_flex.c ${BASE_NAME}.l
done
mv ${BASE_NAME}_.tab.h ../include
fi
cd -
# Apply patches
PATH_PATCHES=`pwd`/etsi_emcom_patches
if [ -d ${PATH_PATCHES} ]
then
cp ${PATH_PATCHES}/ng112.bash ${PATH_DEV_EMCOM}/src/AtsNg112/bin
cp ${PATH_PATCHES}/../run_mtc.bash ${PATH_DEV_EMCOM}/src/AtsNg112/bin
cp ${PATH_PATCHES}/../run_ptcs.bash ${PATH_DEV_EMCOM}/src/AtsNg112/bin
fi
# Set rights
find ${PATH_DEV_EMCOM} -type f -exec chmod 664 {} \;
find ${PATH_DEV_EMCOM} -name "*.bash" -type f -exec chmod 775 {} \;
find ${PATH_DEV_EMCOM} -type d -exec chmod 775 {} \;
chown -R ${CHOWN_USER_GROUP} ${PATH_DEV_EMCOM}
cd ${OLDPWD}
exit 0
NG112-tplan_lis/test_purposes/ 0000775 0000000 0000000 00000000000 13303253500 0016502 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/test_purposes/README.md 0000664 0000000 0000000 00000000124 13303253500 0017756 0 ustar 00root root 0000000 0000000 This folder will contain the Test Purposes. They are defined in teh TPLan language.
NG112-tplan_lis/test_purposes/example.tplan2 0000664 0000000 0000000 00000010557 13303253500 0021267 0 ustar 00root root 0000000 0000000 /* ETSI Software License
* As long as the hereunder conditions are respected, non-exclusive permission is hereby granted,
* free of charge, to use, reproduce and modify this software source code, under the following conditions:
* This source code is provided “AS IS” with no warranties, express or implied, including but not limited to,
* the warranties of merchantability, fitness for a particular purpose and warranties for non-infringement
* of intellectual property rights.
* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without
* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary
* loss) arising out of or related to the use of or inability to use the source code.
* This permission is granted to facilitate the implementation of the related ETSI standard, provided that
* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions
* as the present permission.
* This permission does not apply to any documentation associated with this source code for which ETSI keeps
* all rights reserved.
* The present ETSI Source Code license shall be included in all copies of whole or part of this source code
* and shall not imply any sub-license right.
* (c) ETSI 2018
*/
Package NG112_LIS {
Domain {
pics:
- PICS_HTTP_POST_REQUEST
- PICS_LOCATION_HELD;
entities:
- IUT
- MTC;
events:
- receives //for packets coming from the network to the IUT
- sends //for packets sent by the IUT to the network
- havingLocationMappingFor //IUT is provisioned with the relevant location data
- isRequestedToSend //an upper layer requests the IUT to send a packet
- generates //for internal event generation
;
}
// Data {
// type PDU;
// }
// Configuration {
// Interface Type defaultGT accepts PDU;
// Component Type NG112Comp with gate g of type defaultGT;
// Test Configuration CFG_ESRP_01
// containing
// Tester component BCF of type NG112Comp
// Tester component LIS of type NG112Comp
// Tester component ECRF of type NG112Comp
// SUT component IUT of type NG112Comp
// connection between BCF.g and IUT.g
// connection between LIS.g and IUT.g
// connection between ECRF.g and IUT.g;
// }
Test Purpose {
TP Id TP_LIS_HTTP_POST_BV_01
Test objective
"IUT successfully processes all mandatory HTTP headers when it receives a HTTP POST request"
Reference
"ETSI TS 103 479 Vm.t.e (yyyy-mm) Clause 5.5 Location Information Server (LIS)",
"https://tools.ietf.org/html/rfc5985"
//Config Id CFG_LIS_01
PICS Selection PICS_HTTP_POST_REQUEST PICS_LOCATION_HELD
Initial conditions with {
the IUT entity havingLocationMappingFor the "identifier"
}
Expected behaviour
ensure that {
when {
the IUT entity receives a POST containing
Uri indicating value "location",
Host,
"not" Accept,
Content_type indicating value "application/held+xml",
body containing
xmlMessage containing
version indicating value "1.0",
presence containing
uri indicating value "urn:ietf:params:xml:ns:held";
;
;
;
}
then {
the IUT entity sends a httpResponse containing
Status_Code indicating value "200 OK",
body containing
xmlMessage containing
version indicating value "1.0",
locationRequest containing
Uri indicating value "urn:ietf:params:xml:ns:geopriv:held";
;
;
;
}
}
}
} NG112-tplan_lis/test_purposes/lis.tplan2 0000664 0000000 0000000 00000030302 13303253500 0020411 0 ustar 00root root 0000000 0000000 /* ETSI Software License
* As long as the hereunder conditions are respected, non-exclusive permission is hereby granted,
* free of charge, to use, reproduce and modify this software source code, under the following conditions:
* This source code is provided ���AS IS��� with no warranties, express or implied, including but not limited to,
* the warranties of merchantability, fitness for a particular purpose and warranties for non-infringement
* of intellectual property rights.
* ETSI shall not be held liable in any event for any direct or indirect damages whatsoever (including, without
* limitation, damages for loss of profits, business interruption, loss of information, or any other pecuniary
* loss) arising out of or related to the use of or inability to use the source code.
* This permission is granted to facilitate the implementation of the related ETSI standard, provided that
* ETSI is given the right to use, reproduce and amend the modified source code under the same conditions
* as the present permission.
* This permission does not apply to any documentation associated with this source code for which ETSI keeps
* all rights reserved.
* The present ETSI Source Code license shall be included in all copies of whole or part of this source code
* and shall not imply any sub-license right.
* (c) ETSI 2018
*/
Package NG112_LIS {
Domain {
pics:
- PICS_HTTP_POST_REQUEST
- PICS_LOCATION_HELD
;
entities:
- IUT
- MTC
;
events:
- receives //for packets coming from the network to the IUT
- sends //for packets sent by the IUT to the network
- havingLocationMappingFor //IUT is provisioned with the relevant location data
- isRequestedToSend //an upper layer requests the IUT to send a packet
- generates //for internal event generation
;
}
// Const {
// DEVICE_NUMBER: "+331234567890"
// POINT_POS: "-34.400 134.4000";
// CIRCLE_POS: "-35.500 135.5000";
// CIRCLE_RADIUS: "15";
// }
// Data {
// type PDU;
// }
// Configuration {
// Interface Type defaultGT accepts PDU;
// Component Type NG112Comp with gate g of type defaultGT;
// Test Configuration CFG_ESRP_01
// containing
// Tester component BCF of type NG112Comp
// Tester component LIS of type NG112Comp
// Tester component ECRF of type NG112Comp
// SUT component IUT of type NG112Comp
// connection between BCF.g and IUT.g
// connection between LIS.g and IUT.g
// connection between ECRF.g and IUT.g;
// }
Test Purpose {
TP Id TP_LIS_HTTP_POST_BV_01
Test objective
"IUT successfully responds with a Point when it receives a HTTP POST location request without location type"
Reference
"ETSI TS 103 479 Vm.t.e (yyyy-mm) Clause 5.5 Location Information Server (LIS)",
"Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.10",
"https://tools.ietf.org/html/rfc5985"
//Config Id CFG_LIS_01
PICS Selection PICS_HTTP_POST_REQUEST PICS_LOCATION_HELD
Initial conditions with {
the IUT entity havingLocationMappingFor the DEVICE_NUMBER containing
"point" containing
"position" indicating value POINT_POS
;
;
}
Expected behaviour
ensure that {
when {
the IUT entity receives a POST containing
Uri indicating value "/location",
Host,
not Accept,
Content_type indicating value "application/held+xml;charset=utf-8",
body containing
xmlMessage containing
version indicating value "1.0",
element "locationRequest" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
element "device" inNamespace "urn:ietf:params:xml:ns:geopriv:held:id" containing
element "uri" inNamespace "urn:ietf:params:xml:ns:geopriv:held:id" indicating value DEVICE_NUMBER
;
;
;
;
;
}
then {
the IUT entity sends a httpResponse containing
Status_Code indicating value "200 OK",
version indicating value "1.0",
Content_type indicating value "application/held+xml;charset=utf-8",
body containing
xmlMessage containing
version indicating value "1.0",
element "locationResponse" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
element "presence" inNamespace "urn:ietf:params:xml:ns:pidf" containing
attribute "entity" indicating value valid "pres:" uri,
element "tuple" containing
attribute "id",
element "status" containing
element "geopriv" inNamespace "urn:ietf:params:xml:ns:pidf:geopriv10" containing
element "location-info" containing
element "Point" inNamespace "http://www.opengis.net/gml" containing
attribute "srsName" indicating value "urn:ogc:def:crs:EPSG::4326",
element "pos" indicating value POINT_POS
;
;
;
;
;
;
;
;
;
;
}
}
}
Test Purpose {
TP Id TP_LIS_HTTP_POST_BV_02
Test objective
"IUT successfully responds with a Circle when it receives a HTTP POST location request without location type"
Reference
"ETSI TS 103 479 Vm.t.e (yyyy-mm) Clause 5.5 Location Information Server (LIS)",
"Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.10",
"https://tools.ietf.org/html/rfc5985"
//Config Id CFG_LIS_01
PICS Selection PICS_HTTP_POST_REQUEST PICS_LOCATION_HELD
Initial conditions with {
the IUT entity havingLocationMappingFor the DEVICE_NUMBER containing
"circle" containing
"position" indicating value CIRCLE_POS,
"radius" indicating value CIRCLE_RADIUS
;
;
}
Expected behaviour
ensure that {
when {
the IUT entity receives a POST containing
Uri indicating value "/location",
Host,
not Accept,
Content_type indicating value "application/held+xml;charset=utf-8",
body containing
xmlMessage containing
version indicating value "1.0",
element "locationRequest" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
element "device" inNamespace "urn:ietf:params:xml:ns:geopriv:held:id" containing
element "uri" inNamespace "urn:ietf:params:xml:ns:geopriv:held:id" indicating value DEVICE_NUMBER
;
;
;
;
;
}
then {
the IUT entity sends a httpResponse containing
Status_Code indicating value "200 OK",
version indicating value "1.0",
Content_type indicating value "application/held+xml;charset=utf-8",
body containing
xmlMessage containing
version indicating value "1.0",
element "locationResponse" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
element "presence" inNamespace "urn:ietf:params:xml:ns:pidf" containing
attribute "entity" indicating value valid "pres:" uri,
element "tuple" containing
attribute "id",
element "status" containing
element "geopriv" inNamespace "urn:ietf:params:xml:ns:pidf:geopriv10" containing
element "location-info" containing
element "Circle" inNamespace "http://www.opengis.net/pidflo/1.0" containing
attribute "srsName" indicating value "urn:ogc:def:crs:EPSG::4326",
element "pos" inNamespace "http://www.opengis.net/gml" indicating value CIRCLE_POS,
element "radius" indicating value CIRCLE_RADIUS containing
attribute "uom" indicating value "urn:ogc:def:uom:EPSG::9001";
;
;
;
;
;
;
;
;
;
;
}
}
}
Test Purpose {
TP Id TP_LIS_HTTP_POST_BV_03
Test objective
"IUT successfully responds with an error responds when it receives a HTTP POST location request for an unknown device"
Reference
"ETSI TS 103 479 Vm.t.e (yyyy-mm) Clause 5.5 Location Information Server (LIS)",
"Next Generation 112 Long Term Definition http://www.eena.org/uploads/gallery/files/pdf/2013-03-15-eena_ng_longtermdefinitionupdated.pdf Clause 4.10",
"https://tools.ietf.org/html/rfc5985"
//Config Id CFG_LIS_01
PICS Selection PICS_HTTP_POST_REQUEST PICS_LOCATION_HELD
Initial conditions with {
the IUT entity havingLocationMappingFor the "deviceNumber" containing
"circle" containing
"position" indicating value CIRCLE_POS,
"radius" indicating value CIRCLE_RADIUS
;
;
}
Expected behaviour
ensure that {
when {
the IUT entity receives a POST containing
Uri indicating value "/location",
Host,
not Accept,
Content_type indicating value "application/held+xml;charset=utf-8",
body containing
xmlMessage containing
version indicating value "1.0",
element "locationRequest" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
element "device" inNamespace "urn:ietf:params:xml:ns:geopriv:held:id" containing
element "uri" inNamespace "urn:ietf:params:xml:ns:geopriv:held:id" indicating value DEVICE_NUMBER
;
;
;
;
;
}
then {
the IUT entity sends a httpResponse containing
Status_Code indicating value "200 OK",
version indicating value "1.0",
Content_type indicating value "application/held+xml;charset=utf-8",
body containing
xmlMessage containing
version indicating value "1.0",
element "error" inNamespace "urn:ietf:params:xml:ns:geopriv:held" containing
attribute "code" indicating value "locationUnknown";
;
;
;
}
}
}
} NG112-tplan_lis/ttcn/ 0000775 0000000 0000000 00000000000 13303253500 0014533 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/ttcn/AtsNg112/ 0000775 0000000 0000000 00000000000 13303253500 0015773 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/ttcn/AtsNg112/AtsNg112_TestCases.ttcn 0000664 0000000 0000000 00000001634 13303253500 0022107 0 ustar 00root root 0000000 0000000 /**
* @author ETSI / STF549
* @version $URL:$
* $ID:$
* @desc This module provides the NG112 test cases.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
* @see ETSI TS 103 478
*/
module AtsNg112_TestCases {
// LibCommon
// LibSip
import from LibSip_Interface all;
// LibNg112
import from LibNg112_TypesAndValues all;
import from LibNg112_Templates all;
import from LibNg112_TestSystem all;
testcase TC_1() runs on SipComponent system TestAdapter {
map(self:SIPP, system:SIPP);
unmap(self:SIPP, system:SIPP);
}
} // End of module AtsNg112_TestCases
NG112-tplan_lis/ttcn/LibEmcom/ 0000775 0000000 0000000 00000000000 13303253500 0016222 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/ttcn/LibEmcom/LibNg112/ 0000775 0000000 0000000 00000000000 13303253500 0017441 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/ttcn/LibEmcom/LibNg112/LibNg112_Templates.ttcn 0000664 0000000 0000000 00000000103 13303253500 0023562 0 ustar 00root root 0000000 0000000 module LibNg112_Templates {
} // End of module LibNg112_Templates
NG112-tplan_lis/ttcn/LibEmcom/LibNg112/LibNg112_TestSystem.ttcn 0000664 0000000 0000000 00000000337 13303253500 0023761 0 ustar 00root root 0000000 0000000 module LibNg112_TestSystem {
// LibCommon
// LibSip
import from LibSip_Interface all;
type component TestAdapter {
port SipPort SIPP;
}
} // End of module LibNg112_TestSystem
NG112-tplan_lis/ttcn/LibEmcom/LibNg112/LibNg112_TypesAndValues.ttcn 0000664 0000000 0000000 00000000115 13303253500 0024536 0 ustar 00root root 0000000 0000000 module LibNg112_TypesAndValues {
} // End of module LibNg112_TypesAndValues
NG112-tplan_lis/ttcn/README.md 0000664 0000000 0000000 00000000623 13303253500 0016013 0 ustar 00root root 0000000 0000000 # Emmergency Call: NG112
This folder will contain the TTCN-3 files.
## Dependencies
This Abstract Test Suite requires the following TTCN-3 libraries to be compiled properly:
- The ETSI TTCN-3 Common Library, accessible [here](https://oldforge.etsi.org/svn/LibCommon/tags/v1.4.0/ttcn "LibSip")
- The ETSI TTCN-3 SIP Library, accessible [here](https://oldforge.etsi.org/svn/LibSip/trunk "ETSI LibSip")
NG112-tplan_lis/ttcn/TestCodec/ 0000775 0000000 0000000 00000000000 13303253500 0016410 5 ustar 00root root 0000000 0000000 NG112-tplan_lis/ttcn/TestCodec/TestCodec_Register.ttcn 0000664 0000000 0000000 00000005432 13303253500 0023027 0 ustar 00root root 0000000 0000000 /**
* @author ETSI / STF549
* @version $URL:$
* $ID:$
* @desc This module provides the codec validation test cases.
* @copyright ETSI Copyright Notification
* No part may be reproduced except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* All rights reserved.
* @see ETSI TS 103 478
*/
module TestCodec_Register {
// LibCommon
// LibSip
import from LibSip_SIPTypesAndValues all;
import from LibSip_Templates all;
import from LibSip_EncdecDeclarations all;
// LibNg112
import from LibNg112_TypesAndValues all;
import from LibNg112_Templates all;
import from LibNg112_TestSystem all;
// TestCodec
import from TestCodec_TestAndSystem all;
testcase register_request_1() runs on TCType system TCType {
var bitstring v_raw_message := oct2bit('4d455353414745207369703a757365723140657473692e6f7267205349502f322e300d0a43616c6c2d49443a2031373731353939344031302e3130302e342e31310d0a436f6e74656e742d4c656e6774683a20300d0a437365713a2032303130204d4553534147450d0a46726f6d3a203c7369703a494d533155454074657374657473692e6f72673a353036303e3b7461673d36373638373036300d0a4d61782d466f7277617264733a2037300d0a502d4368617267696e672d46756e6374696f6e2d4164647265737365733a206363663d3139322e312e312e313b6563663d3139322e312e312e320d0a502d4368617267696e672d566563746f723a20696369642d76616c75653d3132336162633b696369642d67656e6572617465642d61743d3139322e312e312e31303b6f7269672d696f693d74657374657473692e6f72670d0a546f3a203c7369703a757365723140657473692e6f72673e0d0a5669613a205349502f322e302f5544502031302e3130302e342e31313a353036303b6272616e63683d7a39684734624b34333731323138300d0a0d0a'O);
var REGISTER_Request v_dec_msg;
var integer v_result := fx_dec_REGISTER_Request (v_raw_message, v_dec_msg);
if (v_result == 0) {
setverdict(pass, "Decode match");
} else {
setverdict(fail, "Decode failure");
}
} // End of testcase register_request_1
testcase register_request_2() runs on TCType system TCType {
var REGISTER_Request v_org_msg := valueof(m_REGISTER_Dummy);
var bitstring v_enc_msg := fx_enc_REGISTER_Request (v_org_msg);
var REGISTER_Request v_dec_msg;
var integer v_result := fx_dec_REGISTER_Request (v_enc_msg, v_dec_msg);
if (v_result == 0) {
if (match(v_dec_msg, v_org_msg)) {
setverdict(pass, "Decode match");
} else {
setverdict(fail, "Decode mismatch");
}
} else {
setverdict(fail, "Decode failure");
}
} // End of testcase register_request_2
} // End of module AtsNg112_TestCases
NG112-tplan_lis/ttcn/TestCodec/TestCodec_TestAndSystem.ttcn 0000664 0000000 0000000 00000000271 13303253500 0024006 0 ustar 00root root 0000000 0000000 module TestCodec_TestAndSystem {
type component TCType { }
type record TestRecord {
bitstring bs optional
}
} // End of module TestCodec_TestAndSystem