diff --git a/regression_test/BER/.gitignore b/regression_test/BER/.gitignore deleted file mode 100644 index 9967ab4b1a670daf1000b63a8a567eded4de535c..0000000000000000000000000000000000000000 --- a/regression_test/BER/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -Regr -Regr.cc -Regr_se[qt].cc -Regr_se[qt]of.cc -Regr_union.cc -Regr.hh -Regr.log -Regr1.cc -Regr1_se[qt].cc -Regr1_se[qt]of.cc -Regr1_union.cc -Regr1.hh -Regr2.cc -Regr2_se[qt].cc -Regr2_se[qt]of.cc -Regr2_union.cc -Regr2.hh diff --git a/regression_test/BER/MyPort1.cc b/regression_test/BER/MyPort1.cc deleted file mode 100644 index e19b7be26ebad339de92ce907fd07cd1d9f40fcf..0000000000000000000000000000000000000000 --- a/regression_test/BER/MyPort1.cc +++ /dev/null @@ -1,115 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * Raduly, Csaba - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -// This Test Port skeleton source file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2 -// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002 - - -// You may modify this file. Complete the body of empty functions and -// add your member functions here. - -#include "MyPort1.hh" - -#ifndef OLD_NAMES -namespace Regr { -#endif - -MyPort1::MyPort1(const char *par_port_name) - : MyPort1_BASE(par_port_name) -{ - -} - -MyPort1::~MyPort1() -{ - -} - -void MyPort1::set_parameter(const char *parameter_name, - const char *parameter_value) -{ - -} - -void MyPort1::Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call) -{ - -} - -void MyPort1::user_map(const char *system_port) -{ - -} - -void MyPort1::user_unmap(const char *system_port) -{ - -} - -void MyPort1::user_start() -{ - -} - -void MyPort1::user_stop() -{ - -} - -#ifndef OLD_NAMES - -#define SEND_MACRO(module, type) \ -void MyPort1::outgoing_send(const module::type& send_par) \ -{ \ - TTCN_Buffer buf; \ - send_par.encode(module::type##_descr_, buf, \ - TTCN_EncDec::CT_BER, BER_ENCODE_DER); \ - OCTETSTRING os; \ - buf.get_string(os); \ - incoming_message(os); \ -} - -#else - -#define SEND_MACRO(module, type) \ -void MyPort1::outgoing_send(const type& send_par) \ -{ \ - TTCN_Buffer buf; \ - send_par.encode(type##_descr_, buf, \ - TTCN_EncDec::CT_BER, BER_ENCODE_DER); \ - OCTETSTRING os; \ - buf.get_string(os); \ - incoming_message(os); \ -} - -#endif - -SEND_MACRO(Regr1, T0) -SEND_MACRO(Regr1, T2) -SEND_MACRO(Regr1, T3) -SEND_MACRO(Regr1, T4) -SEND_MACRO(Regr1, T5) -SEND_MACRO(Regr1, T6) -SEND_MACRO(Regr1, T7) -SEND_MACRO(Regr1, T8) -SEND_MACRO(Regr2, T10) -SEND_MACRO(Regr2, T11) - -#ifndef OLD_NAMES -} /* end of namespace */ -#endif diff --git a/regression_test/BER/MyPort1.hh b/regression_test/BER/MyPort1.hh deleted file mode 100644 index c59c4a38aa57b7b8939cd729c106386bc27063b8..0000000000000000000000000000000000000000 --- a/regression_test/BER/MyPort1.hh +++ /dev/null @@ -1,73 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * Raduly, Csaba - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -// This Test Port skeleton header file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2 -// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002 - - -// You may modify this file. Add your attributes and prototypes of your -// member functions here. - -#ifndef MyPort1_HH -#define MyPort1_HH - -#include "Regr.hh" - -#ifndef OLD_NAMES -namespace Regr { -#define REGR1_NS Regr1:: -#define REGR2_NS Regr2:: -#else -#define REGR1_NS -#define REGR2_NS -#endif - -class MyPort1 : public MyPort1_BASE { -public: - MyPort1(const char *par_port_name); - ~MyPort1(); - - void set_parameter(const char *parameter_name, - const char *parameter_value); - - void Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call); - -protected: - void user_map(const char *system_port); - void user_unmap(const char *system_port); - - void user_start(); - void user_stop(); - - void outgoing_send(const REGR1_NS T0& send_par); - void outgoing_send(const REGR1_NS T1& send_par); - void outgoing_send(const REGR1_NS T3& send_par); - void outgoing_send(const REGR1_NS T4& send_par); - void outgoing_send(const REGR1_NS T5& send_par); - void outgoing_send(const REGR1_NS T6& send_par); - void outgoing_send(const REGR1_NS T7& send_par); - void outgoing_send(const REGR1_NS T8& send_par); - void outgoing_send(const REGR2_NS T10& send_par); - void outgoing_send(const REGR2_NS T11& send_par); -}; - -#ifndef OLD_NAMES -} /* end of namespace */ -#endif - -#endif diff --git a/regression_test/BER/MyPort2.cc b/regression_test/BER/MyPort2.cc deleted file mode 100644 index 85ec1d2bdc2a8108334bb5e9e84b7711f2076724..0000000000000000000000000000000000000000 --- a/regression_test/BER/MyPort2.cc +++ /dev/null @@ -1,124 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * Raduly, Csaba - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -// This Test Port skeleton source file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2 -// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002 - - -// You may modify this file. Complete the body of empty functions and -// add your member functions here. - -#include "MyPort2.hh" - -#ifndef OLD_NAMES -namespace Regr { -#endif - -MyPort2::MyPort2(const char *par_port_name) - : MyPort2_BASE(par_port_name) -{ - -} - -MyPort2::~MyPort2() -{ - -} - -void MyPort2::set_parameter(const char *parameter_name, - const char *parameter_value) -{ - -} - -void MyPort2::Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call) -{ - -} - -void MyPort2::user_map(const char *system_port) -{ - -} - -void MyPort2::user_unmap(const char *system_port) -{ - -} - -void MyPort2::user_start() -{ - -} - -void MyPort2::user_stop() -{ - -} - -#ifndef OLD_NAMES - -#define DECODER_MACRO(module, type) \ -{ \ - module::type pdu; \ - TTCN_EncDec::clear_error(); \ - buf.rewind(); \ - pdu.decode(module::type##_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); \ - if(TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { \ - incoming_message(pdu); \ - return; \ - } \ -} - -#else - -#define DECODER_MACRO(module, type) \ -{ \ - type pdu; \ - TTCN_EncDec::clear_error(); \ - buf.rewind(); \ - pdu.decode(type##_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); \ - if(TTCN_EncDec::get_last_error_type() == TTCN_EncDec::ET_NONE) { \ - incoming_message(pdu); \ - return; \ - } \ -} - -#endif - -void MyPort2::outgoing_send(const OCTETSTRING& send_par) -{ - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, - TTCN_EncDec::EB_WARNING); - TTCN_Buffer buf(send_par); - - DECODER_MACRO(Regr1, T0) - DECODER_MACRO(Regr1, T2) - DECODER_MACRO(Regr1, T3) - DECODER_MACRO(Regr1, T4) - DECODER_MACRO(Regr1, T5) - DECODER_MACRO(Regr1, T6) - DECODER_MACRO(Regr1, T7) - DECODER_MACRO(Regr1, T8) - DECODER_MACRO(Regr2, T10) - DECODER_MACRO(Regr2, T11) -} - -#ifndef OLD_NAMES -} /* end of namespace */ -#endif diff --git a/regression_test/BER/MyPort2.hh b/regression_test/BER/MyPort2.hh deleted file mode 100644 index aab86cf7caefc13972acb87e8910e0320e8f31fa..0000000000000000000000000000000000000000 --- a/regression_test/BER/MyPort2.hh +++ /dev/null @@ -1,59 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * Raduly, Csaba - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -// This Test Port skeleton header file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.2.pl2 -// for Matyas Forstner (tmpmfr@saussure) on Thu Oct 17 16:56:18 2002 - - -// You may modify this file. Add your attributes and prototypes of your -// member functions here. - -#ifndef MyPort2_HH -#define MyPort2_HH - -#include "Regr.hh" - -#ifndef OLD_NAMES -namespace Regr { -#endif - -class MyPort2 : public MyPort2_BASE { -public: - MyPort2(const char *par_port_name); - ~MyPort2(); - - void set_parameter(const char *parameter_name, - const char *parameter_value); - - void Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call); - -protected: - void user_map(const char *system_port); - void user_unmap(const char *system_port); - - void user_start(); - void user_stop(); - - void outgoing_send(const OCTETSTRING& send_par); -}; - -#ifndef OLD_NAMES -} /* end of namespace */ -#endif - -#endif diff --git a/regression_test/BER/Regr.cfg b/regression_test/BER/Regr.cfg deleted file mode 100644 index 9ad20509f84e7b1ffd0714a814b2b8b6ba2641f1..0000000000000000000000000000000000000000 --- a/regression_test/BER/Regr.cfg +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################### -# 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 -# -# Contributors: -# Balasko, Jeno -# Beres, Szabolcs -# Forstner, Matyas -# Szabo, Janos Zoltan – initial implementation -# -############################################################################### -[MODULE_PARAMETERS] - -[LOGGING] - -LogFile := "Regr.log" -FileMask := LOG_ALL -ConsoleMask := TTCN_TESTCASE | TTCN_STATISTICS -SourceInfoFormat := Single - -[EXECUTE] - -Regr.control diff --git a/regression_test/BER/Regr.ttcn b/regression_test/BER/Regr.ttcn deleted file mode 100644 index 407a07d437e5cc153b3d8008a31c46a4101964c0..0000000000000000000000000000000000000000 --- a/regression_test/BER/Regr.ttcn +++ /dev/null @@ -1,1176 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Beres, Szabolcs - * Forstner, Matyas - * Koppany, Csaba - * Kovacs, Ferenc - * Szabados, Kristof - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -module Regr -{ - import from Regr1 language "ASN.1:1997" all - with {encode "DER:1997"}; - import from Regr2 language "ASN.1:1997" all - with {encode "DER:1997"}; - - external function enc_ber_int(in integer r) return octetstring - with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } - external function dec_ber_int(in octetstring r) return integer - with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } - - type component comp_ber { } - - type port MyPort1 message - { - out T0, T2, T3, T4, T5, T6, T7, T8, - T10, T11; - in octetstring; - } - - type port MyPort2 message - { - in T0, T2, T3, T4, T5, T6, T7, T8, - T10, T11; - out octetstring; - } - - type component MyComponent - { - timer T := 1.0; - port MyPort1 P1; - port MyPort2 P2; - } - - type component MySystemType - { - port MyPort2 S1; - port MyPort1 S2; - } - - altstep MyAltstep() runs on MyComponent - { - [] P1.receive { setverdict(fail); } - [] P2.receive { setverdict(fail); } - [] T.timeout { setverdict(inconc); T.start; } - } - - testcase TC0a() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c0a); - T.start; - P1.receive(d0a); - setverdict(pass); - T.stop; - - P2.send(d0a); - T.start; - P2.receive(c0a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC2a() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c2a); - T.start; - P1.receive(d2a); - setverdict(pass); - T.stop; - - P2.send(d2a); - T.start; - P2.receive(c2a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC2b() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c2b); - T.start; - P1.receive(d2b); - setverdict(pass); - T.stop; - - P2.send(d2b); - T.start; - P2.receive(c2b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC3a() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c3a); - T.start; - P1.receive(d3a); - setverdict(pass); - T.stop; - - P2.send(d3a); - T.start; - P2.receive(c3a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC3b() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c3b); - T.start; - P1.receive(d3b); - setverdict(pass); - T.stop; - - P2.send(d3b); - T.start; - P2.receive(c3b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC3c() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c3c); - T.start; - P1.receive(d3c); - setverdict(pass); - T.stop; - - P2.send(d3c); - T.start; - P2.receive(c3c); - setverdict(pass); - T.stop; - - P1.send(c3d); - T.start; - P1.receive(d3d); - setverdict(pass); - T.stop; - - P2.send(d3d); - T.start; - P2.receive(c3d); - setverdict(pass); - T.stop; - - P1.send(c3e); - T.start; - P1.receive(d3e); - setverdict(pass); - T.stop; - - P2.send(d3e); - T.start; - P2.receive(c3e); - setverdict(pass); - T.stop; - - P1.send(c3f); - T.start; - P1.receive(d3f); - setverdict(pass); - T.stop; - - P2.send(d3f); - T.start; - P2.receive(c3f); - setverdict(pass); - T.stop; - - P1.send(c3g); - T.start; - P1.receive(d3g); - setverdict(pass); - T.stop; - - P2.send(d3g); - T.start; - P2.receive(c3g); - setverdict(pass); - T.stop; - - P1.send(c3h); - T.start; - P1.receive(d3h); - setverdict(pass); - T.stop; - - P2.send(d3h); - T.start; - P2.receive(c3h); - setverdict(pass); - T.stop; - - P1.send(c3i); - T.start; - P1.receive(d3i); - setverdict(pass); - T.stop; - - P2.send(d3i); - T.start; - P2.receive(c3i); - setverdict(pass); - T.stop; - - P1.send(c3j); - T.start; - P1.receive(d3j); - setverdict(pass); - T.stop; - - P2.send(d3j); - T.start; - P2.receive(c3j); - setverdict(pass); - T.stop; - - P1.send(c3k); - T.start; - P1.receive(d3k); - setverdict(pass); - T.stop; - - P2.send(d3k); - T.start; - P2.receive(c3k); - setverdict(pass); - T.stop; - - P1.send(c3l); - T.start; - P1.receive(d3l); - setverdict(pass); - T.stop; - - P2.send(d3l); - T.start; - P2.receive(c3l); - setverdict(pass); - T.stop; - - P1.send(c3m); - T.start; - P1.receive(d3m); - setverdict(pass); - T.stop; - - P2.send(d3m); - T.start; - P2.receive(c3m); - setverdict(pass); - T.stop; - - P1.send(c3n); - T.start; - P1.receive(d3n); - setverdict(pass); - T.stop; - - P2.send(d3n); - T.start; - P2.receive(c3n); - setverdict(pass); - T.stop; - - P1.send(c3o); - T.start; - P1.receive(d3o); - setverdict(pass); - T.stop; - - P2.send(d3o); - T.start; - P2.receive(c3o); - setverdict(pass); - T.stop; - - P1.send(c3p); - T.start; - P1.receive(d3p); - setverdict(pass); - T.stop; - - P2.send(d3p); - T.start; - P2.receive(c3p); - setverdict(pass); - T.stop; - - P1.send(c3q); - T.start; - P1.receive(d3q); - setverdict(pass); - T.stop; - - P2.send(d3q); - T.start; - P2.receive(c3q); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC4() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c4a); - T.start; - P1.receive(d4a); - setverdict(pass); - T.stop; - - P2.send(d4a); - T.start; - P2.receive(c4a); - setverdict(pass); - T.stop; - - P1.send(c4b); - T.start; - P1.receive(d4b); - setverdict(pass); - T.stop; - - P2.send(d4b); - T.start; - P2.receive(c4b); - setverdict(pass); - T.stop; - - P1.send(c4c); - T.start; - P1.receive(d4c); - setverdict(pass); - T.stop; - - P2.send(d4c); - T.start; - P2.receive(c4c); - setverdict(pass); - T.stop; - - P1.send(c4d); - T.start; - P1.receive(d4d); - setverdict(pass); - T.stop; - - P2.send(d4d); - T.start; - P2.receive(c4d); - setverdict(pass); - T.stop; - - P1.send(c4e); - T.start; - P1.receive(d4e); - setverdict(pass); - T.stop; - - P2.send(d4d); - T.start; - P2.receive(c4d); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC5() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c5a); - T.start; - P1.receive(d5a); - setverdict(pass); - T.stop; - - P2.send(d5a); - T.start; - P2.receive(c5a); - setverdict(pass); - T.stop; - - P1.send(c5b); - T.start; - P1.receive(d5b); - setverdict(pass); - T.stop; - - P2.send(d5b); - T.start; - P2.receive(c5b); - setverdict(pass); - T.stop; - - P1.send(c5c); - T.start; - P1.receive(d5c); - setverdict(pass); - T.stop; - - P2.send(d5c); - T.start; - P2.receive(c5c); - setverdict(pass); - T.stop; - - P1.send(c5d); - T.start; - P1.receive(d5d); - setverdict(pass); - T.stop; - - P2.send(d5d); - T.start; - P2.receive(c5d); - setverdict(pass); - T.stop; - - P1.send(c5e); - T.start; - P1.receive(d5e); - setverdict(pass); - T.stop; - - P2.send(d5e); - T.start; - P2.receive(c5e); - setverdict(pass); - T.stop; - - P1.send(c5f); - T.start; - P1.receive(d5f); - setverdict(pass); - T.stop; - - P2.send(d5f); - T.start; - P2.receive(c5f); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC6() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c6a); - T.start; - P1.receive(d6a); - setverdict(pass); - T.stop; - - P2.send(d6a); - T.start; - P2.receive(c6a); - setverdict(pass); - T.stop; - - P1.send(c6b); - T.start; - P1.receive(d6b); - setverdict(pass); - T.stop; - - P2.send(d6b); - T.start; - P2.receive(c6b); - setverdict(pass); - T.stop; - - P1.send(c6c); - T.start; - P1.receive(d6c); - setverdict(pass); - T.stop; - - P2.send(d6c); - T.start; - P2.receive(c6d); // Yes, c6d==c6c - setverdict(pass); - T.stop; - - P1.send(c6d); - T.start; - P1.receive(d6d); - setverdict(pass); - T.stop; - - P2.send(d6d); - T.start; - P2.receive(c6d); - setverdict(pass); - T.stop; - - P1.send(c6e); - T.start; - P1.receive(d6e); - setverdict(pass); - T.stop; - - P2.send(d6e); - T.start; - P2.receive(c6e); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC7() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c7a); - T.start; - P1.receive(d7a); - setverdict(pass); - T.stop; - - P2.send(d7a); - T.start; - P2.receive(c7a); - setverdict(pass); - T.stop; - - P1.send(c7b); - T.start; - P1.receive(d7b); - setverdict(pass); - T.stop; - - P2.send(d7b); - T.start; - P2.receive(c7b); - setverdict(pass); - T.stop; - - P1.send(c7c); - T.start; - P1.receive(d7c); - setverdict(pass); - T.stop; - - P2.send(d7c); - T.start; - P2.receive(c7c); - setverdict(pass); - T.stop; - - P1.send(c7d); - T.start; - P1.receive(d7d); - setverdict(pass); - T.stop; - - P2.send(d7d); - T.start; - P2.receive(c7d); - setverdict(pass); - T.stop; - - P1.send(c7e); - T.start; - P1.receive(d7e); - setverdict(pass); - T.stop; - - P2.send(d7e); - T.start; - P2.receive(c7e); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC8() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c8a); - T.start; - P1.receive(d8a); - setverdict(pass); - T.stop; - - P2.send(d8a); - T.start; - P2.receive(c8a); - setverdict(pass); - T.stop; - - P1.send(c8b); - T.start; - P1.receive(d8b); - setverdict(pass); - T.stop; - - P2.send(d8b); - T.start; - P2.receive(c8b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC10() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c10a); - T.start; - P1.receive(d10a); - setverdict(pass); - T.stop; - - P2.send(d10a); - T.start; - P2.receive(c10a); - setverdict(pass); - T.stop; - - P1.send(c10b); - T.start; - P1.receive(d10b); - setverdict(pass); - T.stop; - - P2.send(d10b); - T.start; - P2.receive(c10b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_12() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_12a); - T.start; - P1.receive(d11_12a); - setverdict(pass); - T.stop; - - P2.send(d11_12a); - T.start; - P2.receive(c11_12a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_13() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_13a); - T.start; - P1.receive(d11_13a); - setverdict(pass); - T.stop; - - P2.send(d11_13a); - T.start; - P2.receive(c11_13a); - setverdict(pass); - T.stop; - - P1.send(c11_13b); - T.start; - P1.receive(d11_13b); - setverdict(pass); - T.stop; - - P2.send(d11_13b); - T.start; - P2.receive(c11_13b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_14() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_14a); - T.start; - P1.receive(d11_14a); - setverdict(pass); - T.stop; - - P2.send(d11_14a); - T.start; - P2.receive(c11_14a); - setverdict(pass); - T.stop; - - P1.send(c11_14b); - T.start; - P1.receive(d11_14b); - setverdict(pass); - T.stop; - - P2.send(d11_14b); - T.start; - P2.receive(c11_14b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_15() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_15a); - T.start; - P1.receive(d11_15a); - setverdict(pass); - T.stop; - - P2.send(d11_15a); - T.start; - P2.receive(c11_15a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_16() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_16a); - T.start; - P1.receive(d11_16a); - setverdict(pass); - T.stop; - - P2.send(d11_16a); - T.start; - P2.receive(c11_16a); - setverdict(pass); - T.stop; - - P1.send(c11_16b); - T.start; - P1.receive(d11_16b); - setverdict(pass); - T.stop; - - P2.send(d11_16b); - T.start; - P2.receive(c11_16b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_17() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_17a); - T.start; - P1.receive(d11_17a); - setverdict(pass); - T.stop; - - P2.send(d11_17a); - T.start; - P2.receive(c11_17a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_18() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_18a); - T.start; - P1.receive(d11_18a); - setverdict(pass); - T.stop; - - P2.send(d11_18a); - T.start; - P2.receive(c11_18a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_19() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_19a); - T.start; - P1.receive(d11_19a); - setverdict(pass); - T.stop; - - P2.send(d11_19a); - T.start; - P2.receive(c11_19a); - setverdict(pass); - T.stop; - - P1.send(c11_19b); - T.start; - P1.receive(d11_19b); - setverdict(pass); - T.stop; - - P2.send(d11_19b); - T.start; - P2.receive(c11_19b); - setverdict(pass); - T.stop; - - P1.send(c11_19c); - T.start; - P1.receive(d11_19c); - setverdict(pass); - T.stop; - - P2.send(d11_19c); - T.start; - P2.receive(c11_19c); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_20() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_20a); - T.start; - P1.receive(d11_20a); - setverdict(pass); - T.stop; - - P2.send(d11_20a); - T.start; - P2.receive(c11_20a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_21() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_21a); - T.start; - P1.receive(d11_21a); - setverdict(pass); - T.stop; - - P2.send(d11_21a); - T.start; - P2.receive(c11_21a); - setverdict(pass); - T.stop; - - P1.send(c11_21b); - T.start; - P1.receive(d11_21b); - setverdict(pass); - T.stop; - - P2.send(d11_21b); - T.start; - P2.receive(c11_21b); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC11_22() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(c11_22a); - T.start; - P1.receive(d11_22a); - setverdict(pass); - T.stop; - - P2.send(d11_22a); - T.start; - P2.receive(c11_22a); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - function check_enc_dec(integer int, octetstring expected) { - var octetstring encoded_pdu := enc_ber_int(int); - if (encoded_pdu == expected) {setverdict(pass);} - else {setverdict(fail, "Encoding failed, encoded_pdu is ", log2str(encoded_pdu));} - var integer decoded := dec_ber_int(encoded_pdu); - if (int == decoded) { setverdict(pass); } - else {setverdict(fail, "decoding failed, decoded is ", decoded);} - } with { - extension "transparent" - } - - testcase tc_int_enc_dec() runs on comp_ber { - - check_enc_dec( 0, '020100'O); - - check_enc_dec(-1, '0201FF'O); - check_enc_dec( 1, '020101'O); - - check_enc_dec(-2, '0201FE'O); - check_enc_dec( 2, '020102'O); - check_enc_dec(-5, '0201FB'O); - check_enc_dec( 5, '020105'O); - - check_enc_dec(-254, '0202FF02'O); - check_enc_dec( 254, '020200FE'O); - check_enc_dec(-255, '0202FF01'O); - check_enc_dec( 255, '020200FF'O); - check_enc_dec(-256, '0202FF00'O); - check_enc_dec( 256, '02020100'O); - - check_enc_dec(-1234, '0202FB2E'O); - - // 2^16 - check_enc_dec(-65534, '0203FF0002'O); - check_enc_dec( 65534, '020300FFFE'O); - check_enc_dec(-65535, '0203FF0001'O); - check_enc_dec( 65535, '020300FFFF'O); - check_enc_dec(-65536, '0203FF0000'O); - check_enc_dec( 65536, '0203010000'O); - - // 2^24 - check_enc_dec(-16777215, '0204FF000001'O); - check_enc_dec( 16777215, '020400FFFFFF'O); - check_enc_dec(-16777216, '0204FF000000'O); - check_enc_dec( 16777216, '020401000000'O); - check_enc_dec(-16777217, '0204FEFFFFFF'O); - check_enc_dec( 16777217, '020401000001'O); - - // 2^32 - check_enc_dec(-4294967295, '0205FF00000001'O); - check_enc_dec( 4294967295, '020500FFFFFFFF'O); - check_enc_dec(-4294967296, '0205FF00000000'O); - check_enc_dec( 4294967296, '02050100000000'O); - check_enc_dec(-4294967297, '0205FEFFFFFFFF'O); - check_enc_dec( 4294967297, '02050100000001'O); - - // 8 bit min,max - check_enc_dec(-128, '020180'O); - check_enc_dec( 127, '02017F'O); - - // 32 bit min,max - check_enc_dec(-2147483648, '020480000000'O); - check_enc_dec( 2147483647, '02047FFFFFFF'O); - - // 40 bit min,max - check_enc_dec(-549755813888, '02058000000000'O); - check_enc_dec( 549755813887, '02057FFFFFFFFF'O); - - // 48 bit min,max - check_enc_dec(-140737488355328, '0206800000000000'O); - check_enc_dec( 140737488355327, '02067FFFFFFFFFFF'O); - - // 56 bit min,max - check_enc_dec(-36028797018963968, '020780000000000000'O); - check_enc_dec( 36028797018963967, '02077FFFFFFFFFFFFF'O); - - // 64 bit min,max - check_enc_dec(-9223372036854775808, '02088000000000000000'O); - check_enc_dec( 9223372036854775807, '02087FFFFFFFFFFFFFFF'O); - - check_enc_dec(-12345678910111213141516, '020AFD62BD49A976CD7441F4'O); - check_enc_dec( 12345678910111213141516, '020A029D42B65689328BBE0C'O); - - } - - control - { - execute(TC0a()); - execute(TC2a()); - execute(TC2b()); - execute(TC3a()); - execute(TC3b()); - execute(TC3c()); - execute(TC4()); - execute(TC5()); - execute(TC6()); - execute(TC7()); - execute(TC8()); - execute(TC10()); - execute(TC11_12()); - execute(TC11_13()); - execute(TC11_14()); - execute(TC11_15()); - execute(TC11_16()); - execute(TC11_17()); - execute(TC11_18()); - execute(TC11_19()); - execute(TC11_20()); - execute(TC11_21()); - execute(TC11_22()); - execute(tc_int_enc_dec()); - } - -} diff --git a/regression_test/BER_x682/.gitignore b/regression_test/BER_x682/.gitignore deleted file mode 100644 index 3e2d69402bcf6b575b64220f073157dc992c5cdd..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -X -X.cc -X_se[qt].cc -X_se[qt]of.cc -X_union.cc -X.hh -X.log -X682.cc -X682_se[qt].cc -X682_se[qt]of.cc -X682_union.cc -X682.hh -compile diff --git a/regression_test/BER_x682/Makefile b/regression_test/BER_x682/Makefile deleted file mode 100644 index 8c2306be2fda5d3b3ca519290dc56eeeacd0e8af..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682/Makefile +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################## -# 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 -# -# Contributors: -# Balasko, Jeno -# Delic, Adam -# Koppany, Csaba -# Kovacs, Ferenc -# Raduly, Csaba -# Szabados, Kristof -# Szabo, Bence Janos -# Szabo, Janos Zoltan – initial implementation -# -############################################################################## -TOPDIR := .. -include $(TOPDIR)/Makefile.regression - -.PHONY: all clean dep run - -TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX) - -TTCN3_MODULES = X.ttcn -ASN1_MODULES = X682.asn - -GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc) -GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh) -ifdef CODE_SPLIT -GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc _seqof.cc _setof.cc _union.cc)) -else ifdef SPLIT_TO_SLICES -POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_)) -POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc)) -GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES))) -GENERATED_SOURCES += $(GENERATED_SOURCES2) -endif - -USER_SOURCES = MyPort1.cc MyPort2.cc -USER_HEADERS = MyPort1.hh MyPort2.hh - -OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o) - -TARGET = X$(EXESUFFIX) - -all: $(TARGET) - -$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \ - -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS) - -$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile - -compile: $(TTCN3_MODULES) $(ASN1_MODULES) - $(TTCN3_COMPILER) $^ - touch compile - -clean distclean: - -rm -f $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \ - $(GENERATED_SOURCES) compile *.log - -dep: $(GENERATED_SOURCES) - makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES) - -run: $(TARGET) X.cfg - ./$^ - -MyPort1.o: MyPort1.hh X.hh X682.hh MyPort2.hh -MyPort2.o: MyPort2.hh X.hh X682.hh MyPort1.hh -X.o: X.hh X682.hh MyPort1.hh MyPort2.hh -X682.o: X682.hh - -ifdef SRCDIR -$(foreach src, $(USER_SOURCES), $(eval vpath $(src) $(ABS_SRC))) -endif diff --git a/regression_test/BER_x682/MyPort1.cc b/regression_test/BER_x682/MyPort1.cc deleted file mode 100644 index eda0ead55159119dc7aa586ef0325978ec32ac93..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682/MyPort1.cc +++ /dev/null @@ -1,90 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Delic, Adam - * Forstner, Matyas - * Koppany, Csaba - * Lovassy, Arpad - * Raduly, Csaba - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -// This Test Port skeleton source file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 - - -// You may modify this file. Complete the body of empty functions and -// add your member functions here. - -#include "MyPort1.hh" - -#ifndef OLD_NAMES -using namespace X682; - -namespace X { -#endif - -MyPort1::MyPort1(const char *par_port_name) - : MyPort1_BASE(par_port_name) -{ - -} - -MyPort1::~MyPort1() -{ - -} - -void MyPort1::set_parameter(const char *parameter_name, - const char *parameter_value) -{ - -} - -void MyPort1::Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call) -{ - -} - -void MyPort1::user_map(const char *system_port) -{ - -} - -void MyPort1::user_unmap(const char *system_port) -{ - -} - -void MyPort1::user_start() -{ - -} - -void MyPort1::user_stop() -{ - -} - -void MyPort1::outgoing_send(const ErrorReturn& send_par) -{ - TTCN_Buffer buf; - send_par.encode(ErrorReturn_descr_, buf, - TTCN_EncDec::CT_BER, BER_ENCODE_DER); - OCTETSTRING os; - buf.get_string(os); - incoming_message(os); -} - -#ifndef OLD_NAMES -} -#endif diff --git a/regression_test/BER_x682/MyPort1.hh b/regression_test/BER_x682/MyPort1.hh deleted file mode 100644 index 42738c500e8594b6d07d26275065993a698a43c0..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682/MyPort1.hh +++ /dev/null @@ -1,62 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Delic, Adam - * Koppany, Csaba - * Lovassy, Arpad - * Raduly, Csaba - * - ******************************************************************************/ -// This Test Port skeleton header file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 - - -// You may modify this file. Add your attributes and prototypes of your -// member functions here. - -#ifndef MyPort1_HH -#define MyPort1_HH - -#include "X.hh" - -#ifndef OLD_NAMES -#define X682NS X682:: -namespace X { -#else -#define X682NS -#endif - -class MyPort1 : public MyPort1_BASE { -public: - MyPort1(const char *par_port_name); - ~MyPort1(); - - void set_parameter(const char *parameter_name, - const char *parameter_value); - - void Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call); - -protected: - void user_map(const char *system_port); - void user_unmap(const char *system_port); - - void user_start(); - void user_stop(); - - void outgoing_send(const X682NS ErrorReturn& send_par); -}; - -#ifndef OLD_NAMES -} -#endif - -#endif diff --git a/regression_test/BER_x682/MyPort2.cc b/regression_test/BER_x682/MyPort2.cc deleted file mode 100644 index cd513b52a0cf503d94edfd1326fc1b0a8b820a2c..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682/MyPort2.cc +++ /dev/null @@ -1,92 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Delic, Adam - * Forstner, Matyas - * Koppany, Csaba - * Lovassy, Arpad - * Raduly, Csaba - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -// This Test Port skeleton source file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 - - -// You may modify this file. Complete the body of empty functions and -// add your member functions here. - -#include "MyPort2.hh" - -#ifndef OLD_NAMES -using namespace X682; - -namespace X { -#endif - -MyPort2::MyPort2(const char *par_port_name) - : MyPort2_BASE(par_port_name) -{ - -} - -MyPort2::~MyPort2() -{ - -} - -void MyPort2::set_parameter(const char *parameter_name, - const char *parameter_value) -{ - -} - -void MyPort2::Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call) -{ - -} - -void MyPort2::user_map(const char *system_port) -{ - -} - -void MyPort2::user_unmap(const char *system_port) -{ - -} - -void MyPort2::user_start() -{ - -} - -void MyPort2::user_stop() -{ - -} - -void MyPort2::outgoing_send(const OCTETSTRING& send_par) -{ - /* - TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, - TTCN_EncDec::EB_ERROR); - */ - TTCN_Buffer buf(send_par); - ErrorReturn pdu; - pdu.decode(ErrorReturn_descr_, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); - incoming_message(pdu); -} - -#ifndef OLD_NAMES -} -#endif diff --git a/regression_test/BER_x682/MyPort2.hh b/regression_test/BER_x682/MyPort2.hh deleted file mode 100644 index 4b694901b60a0607bda39eb22dc5d821fdee637d..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682/MyPort2.hh +++ /dev/null @@ -1,60 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Delic, Adam - * Koppany, Csaba - * Lovassy, Arpad - * Raduly, Csaba - * Szabados, Kristof - * - ******************************************************************************/ -// This Test Port skeleton header file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 - - -// You may modify this file. Add your attributes and prototypes of your -// member functions here. - -#ifndef MyPort2_HH -#define MyPort2_HH - -#include "X.hh" - -#ifndef OLD_NAMES -namespace X { -#endif - -class MyPort2 : public MyPort2_BASE { -public: - MyPort2(const char *par_port_name); - ~MyPort2(); - - void set_parameter(const char *parameter_name, - const char *parameter_value); - - void Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call); - -protected: - void user_map(const char *system_port); - void user_unmap(const char *system_port); - - void user_start(); - void user_stop(); - - void outgoing_send(const OCTETSTRING& send_par); -}; - -#ifndef OLD_NAMES -} -#endif - -#endif diff --git a/regression_test/BER_x682/X.ttcn b/regression_test/BER_x682/X.ttcn deleted file mode 100644 index fb18bc3b2e46f81cd9f6e817933fdb63c0092833..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682/X.ttcn +++ /dev/null @@ -1,90 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Koppany, Csaba - * Szabo, Janos Zoltan – initial implementation - * - ******************************************************************************/ -module X -{ - import from X682 language "ASN.1:1997" all - - type port MyPort1 message - { - out ErrorReturn; - in octetstring; - } - - type port MyPort2 message - { - out octetstring; - in ErrorReturn; - } - - type component MyComponent - { - timer T := 1.0; - port MyPort1 P1; - port MyPort2 P2; - } - - type component MySystemType - { - port MyPort2 S1; - port MyPort1 S2; - } - - altstep MyAltstep() runs on MyComponent - { - [] P1.receive { setverdict(fail); } - [] P2.receive { setverdict(fail); } - [] T.timeout { setverdict(inconc); T.start; } - } - - testcase TC0a() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(errorReturn1); - T.start; - P1.receive(ber_errorReturn1); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC0b() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P2.send(ber_errorReturn1); - T.start; - P2.receive(errorReturn1); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - control - { - execute(TC0a()); - execute(TC0b()); - } - -} diff --git a/regression_test/BER_x682_wa/Makefile b/regression_test/BER_x682_wa/Makefile deleted file mode 100644 index 413fe3c58324da43df6e082571dfcc1cf351072d..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682_wa/Makefile +++ /dev/null @@ -1,71 +0,0 @@ -############################################################################## -# 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 -# -# Contributors: -# Balasko, Jeno -# Delic, Adam -# Forstner, Matyas -# Kovacs, Ferenc -# Raduly, Csaba -# Szabados, Kristof -# Szabo, Bence Janos -# Szabo, Janos Zoltan – initial implementation -# -############################################################################## -TOPDIR := .. -include ../Makefile.regression - -.SUFFIXES: .ttcn .asn .hh -.PHONY: all clean dep run - -TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX) - -TTCN3_MODULES = X.ttcn -ASN1_MODULES = x682.asn - -GENERATED_SOURCES = $(ASN1_MODULES:.asn=.cc) $(TTCN3_MODULES:.ttcn=.cc) -GENERATED_HEADERS = $(ASN1_MODULES:.asn=.hh) $(TTCN3_MODULES:.ttcn=.hh) -ifdef CODE_SPLIT -GENERATED_SOURCES := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), .cc _seq.cc _set.cc _seqof.cc _setof.cc _union.cc)) -else ifdef SPLIT_TO_SLICES -POSTFIXES := $(foreach file, $(SPLIT_TO_SLICES), $(addsuffix $(file), _part_)) -POSTFIXES := $(foreach file, $(POSTFIXES), $(addprefix $(file), .cc)) -GENERATED_SOURCES2 := $(foreach file, $(GENERATED_SOURCES:.cc=), $(addprefix $(file), $(POSTFIXES))) -GENERATED_SOURCES += $(GENERATED_SOURCES2) -endif - -USER_SOURCES = MyPort1.cc MyPort2.cc -USER_HEADERS = MyPort1.hh MyPort2.hh - -OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o) - -TARGET = X - -all: $(TARGET) - -$(TARGET): $(GENERATED_SOURCES) $(USER_SOURCES) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ -L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \ - -L$(OPENSSL_DIR)/lib -lcrypto $($(PLATFORM)_LIBS) - -.ttcn.cc .ttcn.hh: - $(TTCN3_COMPILER) $< - -.asn.cc .asn.hh: - $(TTCN3_COMPILER) $< - -clean distclean: - -rm -f $(TARGET) $(OBJECTS) $(GENERATED_HEADERS) \ - $(GENERATED_SOURCES) *.log Makefile.bak - -dep: $(GENERATED_SOURCES) - makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES) - -run: $(TARGET) - ./$(TARGET) X.cfg - -.NOTPARALLEL: - diff --git a/regression_test/BER_x682_wa/MyPort1.cc b/regression_test/BER_x682_wa/MyPort1.cc deleted file mode 100644 index ec048cd5ff7e187ee5bc6af9c01a847f61245803..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682_wa/MyPort1.cc +++ /dev/null @@ -1,72 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * - ******************************************************************************/ -// This Test Port skeleton source file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 -// You may modify this file. Complete the body of empty functions and -// add your member functions here. - -#include "MyPort1.hh" - -MyPort1::MyPort1(const char *par_port_name) - : MyPort1_BASE(par_port_name) -{ - -} - -MyPort1::~MyPort1() -{ - -} - -void MyPort1::set_parameter(const char *parameter_name, - const char *parameter_value) -{ - -} - -void MyPort1::Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call) -{ - -} - -void MyPort1::user_map(const char *system_port) -{ - -} - -void MyPort1::user_unmap(const char *system_port) -{ - -} - -void MyPort1::user_start() -{ - -} - -void MyPort1::user_stop() -{ - -} - -void MyPort1::outgoing_send(const ErrorReturn& send_par) -{ - BER_Buf BER_buf; - send_par.encode_BER(BER_ENCODE_DER, ErrorReturn_tag, BER_buf); - incoming_message(OCTETSTRING(BER_buf.get_len(), BER_buf.get_data())); -} - diff --git a/regression_test/BER_x682_wa/MyPort1.hh b/regression_test/BER_x682_wa/MyPort1.hh deleted file mode 100644 index 6fb0cf3c31521552e60a6168dc4ecff13164c8ac..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682_wa/MyPort1.hh +++ /dev/null @@ -1,47 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * - ******************************************************************************/ -// This Test Port skeleton header file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 -// You may modify this file. Add your attributes and prototypes of your -// member functions here. - -#ifndef MyPort1_HH -#define MyPort1_HH - -#include "X.hh" - -class MyPort1 : public MyPort1_BASE { -public: - MyPort1(const char *par_port_name); - ~MyPort1(); - - void set_parameter(const char *parameter_name, - const char *parameter_value); - - void Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call); - -protected: - void user_map(const char *system_port); - void user_unmap(const char *system_port); - - void user_start(); - void user_stop(); - - void outgoing_send(const ErrorReturn& send_par); -}; - -#endif diff --git a/regression_test/BER_x682_wa/MyPort2.cc b/regression_test/BER_x682_wa/MyPort2.cc deleted file mode 100644 index c21ef2c34a4917a1e3c38bec921956ae43bf37cb..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682_wa/MyPort2.cc +++ /dev/null @@ -1,76 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * - ******************************************************************************/ -// This Test Port skeleton source file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 -// -// You may modify this file. Complete the body of empty functions and -// add your member functions here. - -#include "MyPort2.hh" - -MyPort2::MyPort2(const char *par_port_name) - : MyPort2_BASE(par_port_name) -{ - -} - -MyPort2::~MyPort2() -{ - -} - -void MyPort2::set_parameter(const char *parameter_name, - const char *parameter_value) -{ - -} - -void MyPort2::Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call) -{ - -} - -void MyPort2::user_map(const char *system_port) -{ - -} - -void MyPort2::user_unmap(const char *system_port) -{ - -} - -void MyPort2::user_start() -{ - -} - -void MyPort2::user_stop() -{ - -} - -void MyPort2::outgoing_send(const OCTETSTRING& send_par) -{ - BER_Buf BER_buf; - BER_buf.put_s(send_par.lengthof(), send_par); - - ErrorReturn pdu; - pdu.decode_BER(BER_buf, ErrorReturn_tag, BER_ACCEPT_ALL); - incoming_message(pdu); -} - diff --git a/regression_test/BER_x682_wa/MyPort2.hh b/regression_test/BER_x682_wa/MyPort2.hh deleted file mode 100644 index d953859544cf5f94a2da1bea71d175dd4b6f8b6d..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682_wa/MyPort2.hh +++ /dev/null @@ -1,48 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * Lovassy, Arpad - * - ******************************************************************************/ -// This Test Port skeleton header file was generated by the -// TTCN-3 Compiler of the TTCN-3 Test Executor version 1.3.pl0 -// for Matyas Forstner (tmpmfr@saussure) on Thu Apr 10 16:06:07 2003 -// -// You may modify this file. Add your attributes and prototypes of your -// member functions here. - -#ifndef MyPort2_HH -#define MyPort2_HH - -#include "X.hh" - -class MyPort2 : public MyPort2_BASE { -public: - MyPort2(const char *par_port_name); - ~MyPort2(); - - void set_parameter(const char *parameter_name, - const char *parameter_value); - - void Event_Handler(const fd_set *read_fds, - const fd_set *write_fds, const fd_set *error_fds, - double time_since_last_call); - -protected: - void user_map(const char *system_port); - void user_unmap(const char *system_port); - - void user_start(); - void user_stop(); - - void outgoing_send(const OCTETSTRING& send_par); -}; - -#endif diff --git a/regression_test/BER_x682_wa/X.cfg b/regression_test/BER_x682_wa/X.cfg deleted file mode 100644 index 0d70aba719753f1f4711c88c674ca3f0c5815dd0..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682_wa/X.cfg +++ /dev/null @@ -1,23 +0,0 @@ -############################################################################### -# 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 -# -# Contributors: -# Balasko, Jeno -# Forstner, Matyas -# -############################################################################### -[MODULE_PARAMETERS] - -[LOGGING] - -LogFile := "X.log" -FileMask := LOG_ALL -ConsoleMask := TTCN_TESTCASE | TTCN_STATISTICS - -[EXECUTE] - -X.control diff --git a/regression_test/BER_x682_wa/X.ttcn b/regression_test/BER_x682_wa/X.ttcn deleted file mode 100644 index 716a1a6660621bb9b2a97bb1581c691b44d5d329..0000000000000000000000000000000000000000 --- a/regression_test/BER_x682_wa/X.ttcn +++ /dev/null @@ -1,89 +0,0 @@ -/****************************************************************************** - * 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 - * - * Contributors: - * Balasko, Jeno - * Forstner, Matyas - * - ******************************************************************************/ -module X -{ - import from x682 language "ASN.1:1997" all - - type port MyPort1 message - { - out ErrorReturn; - in octetstring; - } - - type port MyPort2 message - { - out octetstring; - in ErrorReturn; - } - - type component MyComponent - { - timer T := 1.0; - port MyPort1 P1; - port MyPort2 P2; - } - - type component MySystemType - { - port MyPort1 S1; - port MyPort2 S2; - } - - altstep MyAltstep() runs on MyComponent - { - [] P1.receive { setverdict(fail); } - [] P2.receive { setverdict(fail); } - [] T.timeout { setverdict(inconc); T.start; } - } - - testcase TC0a() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P1.send(errorReturn1); - T.start; - P1.receive(ber_errorReturn1); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - testcase TC0b() runs on MyComponent system MySystemType - { - var default d := activate(MyAltstep()); - map(mtc:P1, system:S2); - map(mtc:P2, system:S1); - - P2.send(ber_errorReturn1); - T.start; - P2.receive(errorReturn1); - setverdict(pass); - T.stop; - - deactivate(d); - unmap(mtc:P1, system:S2); - unmap(mtc:P2, system:S1); - } - - control - { - execute(TC0a()); - execute(TC0b()); - } - -} diff --git a/regression_test/EncodeDecode/BER/.gitignore b/regression_test/EncodeDecode/BER/.gitignore new file mode 100755 index 0000000000000000000000000000000000000000..a452aa02b1f98a18bf894279383bdd9f2b3a7235 --- /dev/null +++ b/regression_test/EncodeDecode/BER/.gitignore @@ -0,0 +1,3 @@ +*.cc +*.hh +*.exe \ No newline at end of file diff --git a/regression_test/BER_x682/X.cfg b/regression_test/EncodeDecode/BER/BER.cfg similarity index 89% rename from regression_test/BER_x682/X.cfg rename to regression_test/EncodeDecode/BER/BER.cfg index ab421fd1f0808a0b7c49713a72f4b63bdc5ddb0d..98a5d5a59b08e48e1f2390a91b1ec839e13f4dcc 100644 --- a/regression_test/BER_x682/X.cfg +++ b/regression_test/EncodeDecode/BER/BER.cfg @@ -15,11 +15,12 @@ [LOGGING] -LogFile := "X.log" +LogFile := "BER.log" FileMask := LOG_ALL ConsoleMask := TTCN_TESTCASE | TTCN_STATISTICS #ConsoleMask := LOG_ALL [EXECUTE] - -X.control +BERTest +X682_Test.control +X682_simplified_Test.control diff --git a/regression_test/BER/Regr1.asn b/regression_test/EncodeDecode/BER/BER1.asn similarity index 97% rename from regression_test/BER/Regr1.asn rename to regression_test/EncodeDecode/BER/BER1.asn index 000470e56304b2fc3345aa3db0add67aabeed432..37285df8d0c42d7230f48094d8743722ccf06665 100644 --- a/regression_test/BER/Regr1.asn +++ b/regression_test/EncodeDecode/BER/BER1.asn @@ -1,5 +1,5 @@ --///////////////////////////////////////////////////////////////////////////// --- Copyright (c) 2000-2019 Ericsson Telecom AB +-- Copyright (c) 2000-2020 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 @@ -13,7 +13,7 @@ -- Szabo, Janos Zoltan – initial implementation -- --///////////////////////////////////////////////////////////////////////////// -Regr1 +BER1 DEFINITIONS AUTOMATIC TAGS @@ -36,8 +36,7 @@ d1a OCTET STRING ::= '0101FF'H c1b T1 ::= FALSE d1b OCTET STRING ::= '010100'H -T2 ::= [APPLICATION 1] EXPLICIT [PRIVATE v2] [APPLICATION 3] EXPLICIT - [PRIVATE 20021018] T1 +T2 ::= [APPLICATION 1] EXPLICIT [PRIVATE v2] [APPLICATION 3] EXPLICIT [PRIVATE 20021018] T1 c2a T2 ::= c1a d2a OCTET STRING ::= '6109E307DF89C5FE1A01FF'H c2b T2 ::= c1b diff --git a/regression_test/BER/Regr2.asn b/regression_test/EncodeDecode/BER/BER2.asn similarity index 98% rename from regression_test/BER/Regr2.asn rename to regression_test/EncodeDecode/BER/BER2.asn index 9123c0870174341d913f982fe358af4f1cd25ebb..06084831782738b3a429e57757fea41f523966ec 100644 --- a/regression_test/BER/Regr2.asn +++ b/regression_test/EncodeDecode/BER/BER2.asn @@ -1,5 +1,5 @@ --///////////////////////////////////////////////////////////////////////////// --- Copyright (c) 2000-2019 Ericsson Telecom AB +-- Copyright (c) 2000-2020 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 @@ -12,7 +12,7 @@ -- Szabados, Kristof -- --///////////////////////////////////////////////////////////////////////////// -Regr2 +BER2 DEFINITIONS AUTOMATIC TAGS @@ -23,7 +23,7 @@ EXTENSIBILITY IMPLIED BEGIN EXPORTS ; -IMPORTS c6a, T4, c4e FROM Regr1; +IMPORTS c6a, T4, c4e FROM BER1; T10 ::= CHOICE { f1 BOOLEAN, diff --git a/regression_test/EncodeDecode/BER/BERTest.ttcn b/regression_test/EncodeDecode/BER/BERTest.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..3d95b286b94bddbed79cd7ae2442001e2edbec76 --- /dev/null +++ b/regression_test/EncodeDecode/BER/BERTest.ttcn @@ -0,0 +1,705 @@ +/****************************************************************************** +* Copyright (c) 2000-2020 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 +* +* Contributors: +* Balasko, Jeno +* Beres, Szabolcs +* Forstner, Matyas +* Koppany, Csaba +* Kovacs, Ferenc +* Szabados, Kristof +* Szabo, Janos Zoltan – initial implementation +* +******************************************************************************/ +//This file replaces the old Regr.ttcn. +//It applies explicit encodin-decoding functions instead of send-recv mechanism with implicit encoding. +module BERTest +{ +import from BER1 language "ASN.1:1997" all +with {encode "DER:1997"}; +import from BER2 language "ASN.1:1997" all +with {encode "DER:1997"}; + +//=== encoding functions ==== + +external function enc_ber_int(in integer r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function enc_ber_T0(in T0 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T1(in T1 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T2(in T2 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T3(in T3 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T4(in T4 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T5(in T5 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T6(in T6 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T7(in T7 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T8(in T8 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T10(in T10 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +external function enc_ber_T11(in T11 r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" }; + +//=== decoding functions ==== +external function dec_ber_int(in octetstring r) return integer +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T0(in octetstring r) return T0 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T1(in octetstring r) return T1 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T2(in octetstring r) return T2 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T3(in octetstring r) return T3 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T4(in octetstring r) return T4 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T5(in octetstring r) return T5 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T6(in octetstring r) return T6 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T7(in octetstring r) return T7 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T8(in octetstring r) return T8 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T10(in octetstring r) return T10 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_T11(in octetstring r) return T11 +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } +//=== functions ==== +function f_compare_octetstring(in octetstring pl_val, in octetstring pl_expected) { + if ( pl_val == pl_expected ){ + setverdict(pass); + } else { + setverdict( fail, "expected:", pl_expected, " got: ", pl_val) + } +} with { extension "transparent"} +//==== types +type component CT { } + +//==== Testcases ===== +testcase TC0a() runs on CT { + var octetstring encoded; + encoded := enc_ber_T0(c0a); + log(encoded); + f_compare_octetstring(encoded,d0a); + + var T0 decoded := dec_ber_T0(encoded); + log(decoded); + if ( decoded == c0a ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c0a, " got: ",decoded); + } +} + +testcase TC1a() runs on CT { + var octetstring encoded; + encoded := enc_ber_T1(c1a); + log(encoded); + f_compare_octetstring(encoded,d1a); + + var T1 decoded := dec_ber_T1(encoded); + log(decoded); + if ( decoded == c1a ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c1a, " got: ",decoded); + } +} +testcase TC2a() runs on CT { + var octetstring encoded; + encoded := enc_ber_T2(c2a); + log(encoded); + f_compare_octetstring(encoded,d2a); + + var T2 decoded := dec_ber_T2(encoded); + log(decoded); + if ( decoded == c2a ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c2a, " got: ",decoded); + } +} + +testcase TC2b() runs on CT { + var octetstring encoded; + encoded := enc_ber_T2(c2b); + log(encoded); + f_compare_octetstring(encoded,d2b); + + var T2 decoded := dec_ber_T2(encoded); + log(decoded); + if ( decoded == c2b ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c2b, " got: ",decoded); + } +} + +testcase TC3a() runs on CT { + var octetstring encoded, expected; + encoded := enc_ber_T3(c3a); + log(encoded); + f_compare_octetstring(encoded,d3a); + + var T3 decoded := dec_ber_T3(encoded); + log(decoded); + if ( decoded == c3a ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c3a, " got: ",decoded); + } +} + +testcase TC3b() runs on CT { + var octetstring encoded; + encoded := enc_ber_T3(c3b); + log(encoded); + f_compare_octetstring(encoded,d3b); + + var T3 decoded := dec_ber_T3(encoded); + log(decoded); + if ( decoded == c3b ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c3b, " got: ",decoded); + } +} + + +type record of T3 RoT3; +type record of octetstring RoOS; + +testcase TC3c() runs on CT { + var octetstring encoded; + var T3 decoded; + const RoT3 c3list := { c3c, c3d, c3e, c3f, c3g, c3h, c3i, c3j, c3k, c3l, c3m, c3n, c3o, c3p, c3q } + const RoOS d3list := { d3c, d3d, d3e, d3f, d3g, d3h, d3i, d3j, d3k, d3l, d3m, d3n, d3o, d3p, d3q } + const integer N := sizeof(c3list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T3(c3list[i]); + log(encoded); + f_compare_octetstring(encoded,d3list[i]); + + decoded := dec_ber_T3(encoded); + log(decoded); + if ( decoded == c3list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c3list[i], " got: ",decoded); + } + } +} + +type record of T4 RoT4; +testcase TC4() runs on CT { + var octetstring encoded; + var T4 decoded; + const RoT4 c4list := { c4a, c4b, c4c, c4d } + const RoOS d4list := { d4a, d4b, d4c, d4d } + const integer N := sizeof(c4list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T4(c4list[i]); + log(encoded); + f_compare_octetstring(encoded,d4list[i]); + + decoded := dec_ber_T4(encoded); + log(decoded); + if ( decoded == c4list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c4list[i], " got: ",decoded); + } + } +} + +type record of T5 RoT5; +testcase TC5() runs on CT { + var octetstring encoded; + var T5 decoded; + const RoT5 c5list := { c5a, c5b, c5c, c5d, c5e, c5f } + const RoOS d5list := { d5a, d5b, d5c, d5d, d5e, d5f } + const integer N := sizeof(c5list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T5(c5list[i]); + log(encoded); + f_compare_octetstring(encoded,d5list[i]); + + decoded := dec_ber_T5(encoded); + log(decoded); + if ( decoded == c5list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c5list[i], " got: ",decoded); + } + } +} + +type record of T6 RoT6; +testcase TC6() runs on CT { + var octetstring encoded; + var T6 decoded; + const RoT6 c6list := { c6a, c6b, c6c, c6d, c6e } + const RoOS d6list := { d6a, d6b, d6c, d6d, d6e } + const integer N := sizeof(c6list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T6(c6list[i]); + log(encoded); + f_compare_octetstring(encoded,d6list[i]); + + decoded := dec_ber_T6(encoded); + log(decoded); + if ( decoded == c6list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c6list[i], " got: ",decoded); + } + } +} + +type record of T7 RoT7; +testcase TC7() runs on CT { + var octetstring encoded; + var T7 decoded; + const RoT7 c7list := { c7a, c7b, c7c, c7d, c7e } + const RoOS d7list := { d7a, d7b, d7c, d7d, d7e } + const integer N := sizeof(c7list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T7(c7list[i]); + log(encoded); + f_compare_octetstring(encoded,d7list[i]); + + decoded := dec_ber_T7(encoded); + log(decoded); + if ( decoded == c7list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c7list[i], " got: ",decoded); + } + } +} + +type record of T8 RoT8; +testcase TC8() runs on CT { + var octetstring encoded; + var T8 decoded; + const RoT8 c8list := { c8a, c8b } + const RoOS d8list := { d8a, d8b } + const integer N := sizeof(c8list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T8(c8list[i]); + log(encoded); + f_compare_octetstring(encoded,d8list[i]); + + decoded := dec_ber_T8(encoded); + log(decoded); + if ( decoded == c8list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c8list[i], " got: ",decoded); + } + } +} + +type record of T10 RoT10; +testcase TC10() runs on CT { + var octetstring encoded; + var T10 decoded; + const RoT10 c10list := { c10a, c10b } + const RoOS d10list := { d10a, d10b } + const integer N := sizeof(c10list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T10(c10list[i]); + log(encoded); + f_compare_octetstring(encoded,d10list[i]); + + decoded := dec_ber_T10(encoded); + log(decoded); + if ( decoded == c10list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c10list[i], " got: ",decoded); + } + } +} + +type record of T11 RoT11; +testcase TC11_12() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_12a } + const RoOS d11list := { d11_12a } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_13() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_13a, c11_13b } + const RoOS d11list := { d11_13a, d11_13b } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_14() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_14a, c11_14b } + const RoOS d11list := { d11_14a, d11_14b } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_15() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_15a } + const RoOS d11list := { d11_15a } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_16() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_16a, c11_16b } + const RoOS d11list := { d11_16a, d11_16b } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_17() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_17a } + const RoOS d11list := { d11_17a } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_18() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_18a } + const RoOS d11list := { d11_18a } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_19() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_19a, c11_19b, c11_19c } + const RoOS d11list := { d11_19a, d11_19b, d11_19c } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_20() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_20a } + const RoOS d11list := { d11_20a } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_21() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_21a, c11_21b } + const RoOS d11list := { d11_21a, d11_21b } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +testcase TC11_22() runs on CT { + var octetstring encoded; + var T11 decoded; + const RoT11 c11list := { c11_22a } + const RoOS d11list := { d11_22a } + const integer N := sizeof(c11list); + for( var integer i := 0; i<N; i:=i+1){ + encoded := enc_ber_T11(c11list[i]); + log(encoded); + f_compare_octetstring(encoded,d11list[i]); + + decoded := dec_ber_T11(encoded); + log(decoded); + if ( decoded == c11list[i] ) { + setverdict(pass) + } else { + setverdict(fail, "Expected: ", c11list[i], " got: ",decoded); + } + } +} + +function check_enc_dec(integer int, octetstring expected) { + var octetstring encoded_pdu := enc_ber_int(int); + if (encoded_pdu == expected) {setverdict(pass);} + else {setverdict(fail, "Encoding failed, encoded_pdu is ", log2str(encoded_pdu));} + var integer decoded := dec_ber_int(encoded_pdu); + if (int == decoded) { setverdict(pass); } + else {setverdict(fail, "decoding failed, decoded is ", decoded);} +} with { + extension "transparent" +} + +testcase tc_int_enc_dec() runs on CT { + + check_enc_dec( 0, '020100'O); + + check_enc_dec(-1, '0201FF'O); + check_enc_dec( 1, '020101'O); + + check_enc_dec(-2, '0201FE'O); + check_enc_dec( 2, '020102'O); + check_enc_dec(-5, '0201FB'O); + check_enc_dec( 5, '020105'O); + + check_enc_dec(-254, '0202FF02'O); + check_enc_dec( 254, '020200FE'O); + check_enc_dec(-255, '0202FF01'O); + check_enc_dec( 255, '020200FF'O); + check_enc_dec(-256, '0202FF00'O); + check_enc_dec( 256, '02020100'O); + + check_enc_dec(-1234, '0202FB2E'O); + + // 2^16 + check_enc_dec(-65534, '0203FF0002'O); + check_enc_dec( 65534, '020300FFFE'O); + check_enc_dec(-65535, '0203FF0001'O); + check_enc_dec( 65535, '020300FFFF'O); + check_enc_dec(-65536, '0203FF0000'O); + check_enc_dec( 65536, '0203010000'O); + + // 2^24 + check_enc_dec(-16777215, '0204FF000001'O); + check_enc_dec( 16777215, '020400FFFFFF'O); + check_enc_dec(-16777216, '0204FF000000'O); + check_enc_dec( 16777216, '020401000000'O); + check_enc_dec(-16777217, '0204FEFFFFFF'O); + check_enc_dec( 16777217, '020401000001'O); + + // 2^32 + check_enc_dec(-4294967295, '0205FF00000001'O); + check_enc_dec( 4294967295, '020500FFFFFFFF'O); + check_enc_dec(-4294967296, '0205FF00000000'O); + check_enc_dec( 4294967296, '02050100000000'O); + check_enc_dec(-4294967297, '0205FEFFFFFFFF'O); + check_enc_dec( 4294967297, '02050100000001'O); + + // 8 bit min,max + check_enc_dec(-128, '020180'O); + check_enc_dec( 127, '02017F'O); + + // 32 bit min,max + check_enc_dec(-2147483648, '020480000000'O); + check_enc_dec( 2147483647, '02047FFFFFFF'O); + + // 40 bit min,max + check_enc_dec(-549755813888, '02058000000000'O); + check_enc_dec( 549755813887, '02057FFFFFFFFF'O); + + // 48 bit min,max + check_enc_dec(-140737488355328, '0206800000000000'O); + check_enc_dec( 140737488355327, '02067FFFFFFFFFFF'O); + + // 56 bit min,max + check_enc_dec(-36028797018963968, '020780000000000000'O); + check_enc_dec( 36028797018963967, '02077FFFFFFFFFFFFF'O); + + // 64 bit min,max + check_enc_dec(-9223372036854775808, '02088000000000000000'O); + check_enc_dec( 9223372036854775807, '02087FFFFFFFFFFFFFFF'O); + + check_enc_dec(-12345678910111213141516, '020AFD62BD49A976CD7441F4'O); + check_enc_dec( 12345678910111213141516, '020A029D42B65689328BBE0C'O); + +} + +control +{ + execute(TC0a()); + execute(TC1a()); + execute(TC2a()); + execute(TC2b()); + execute(TC3a()); + execute(TC3b()); + execute(TC3c()); + execute(TC4()); + execute(TC5()); + execute(TC6()); + execute(TC7()); + execute(TC8()); + execute(TC10()); + execute(TC11_12()); + execute(TC11_13()); + execute(TC11_14()); + execute(TC11_15()); + execute(TC11_16()); + execute(TC11_17()); + execute(TC11_18()); + execute(TC11_19()); + execute(TC11_20()); + execute(TC11_21()); + execute(TC11_22()); + execute(tc_int_enc_dec()); +} + +} diff --git a/regression_test/BER/Makefile b/regression_test/EncodeDecode/BER/Makefile similarity index 82% rename from regression_test/BER/Makefile rename to regression_test/EncodeDecode/BER/Makefile index f6afed7e01f95288ab0aae49a727828b1e7aa636..449d4ce735fa3fcb32319f666aec3a68d85cf6ca 100644 --- a/regression_test/BER/Makefile +++ b/regression_test/EncodeDecode/BER/Makefile @@ -16,7 +16,7 @@ # Szabo, Janos Zoltan – initial implementation # ############################################################################## -TOPDIR := .. +TOPDIR := ../.. include $(TOPDIR)/Makefile.regression .SUFFIXES: .ttcn .asn .hh @@ -24,8 +24,8 @@ include $(TOPDIR)/Makefile.regression TTCN3_LIB = ttcn3$(RT2_SUFFIX)$(DYNAMIC_SUFFIX) -TTCN3_MODULES = Regr.ttcn -ASN1_MODULES = Regr1.asn Regr2.asn +TTCN3_MODULES = BERTest.ttcn X682_Test.ttcn X682_simplified_Test.ttcn +ASN1_MODULES = BER1.asn BER2.asn X682.asn X682_simplified.asn GENERATED_SOURCES = $(TTCN3_MODULES:.ttcn=.cc) $(ASN1_MODULES:.asn=.cc) GENERATED_HEADERS = $(TTCN3_MODULES:.ttcn=.hh) $(ASN1_MODULES:.asn=.hh) @@ -39,12 +39,12 @@ GENERATED_SOURCES += $(GENERATED_SOURCES2) endif # Source & header files of Test Ports and your other modules: -USER_SOURCES = MyPort1.cc MyPort2.cc -USER_HEADERS = MyPort1.hh MyPort2.hh +USER_SOURCES = +USER_HEADERS = OBJECTS = $(GENERATED_SOURCES:.cc=.o) $(USER_SOURCES:.cc=.o) -TARGET = Regr$(EXESUFFIX) +TARGET = BER$(EXESUFFIX) all: $(TARGET) @@ -61,18 +61,9 @@ clean distclean: dep: $(GENERATED_SOURCES) makedepend $(CPPFLAGS) $(USER_SOURCES) $(GENERATED_SOURCES) -run: $(TARGET) Regr.cfg +run: $(TARGET) BER.cfg ./$^ -MyPort1.o: MyPort1.hh Regr.hh Regr2.hh Regr1.hh -MyPort1.o: MyPort2.hh -MyPort2.o: MyPort2.hh Regr.hh Regr2.hh Regr1.hh -MyPort2.o: MyPort1.hh -Regr.o: Regr.hh Regr2.hh Regr1.hh -Regr.o: MyPort1.hh MyPort2.hh -Regr1.o: Regr1.hh -Regr2.o: Regr2.hh Regr1.hh - ifdef SRCDIR $(foreach src, $(USER_SOURCES), $(eval vpath $(src) $(ABS_SRC))) endif diff --git a/regression_test/BER_x682/X682.asn b/regression_test/EncodeDecode/BER/X682.asn similarity index 100% rename from regression_test/BER_x682/X682.asn rename to regression_test/EncodeDecode/BER/X682.asn diff --git a/regression_test/EncodeDecode/BER/X682_Test.ttcn b/regression_test/EncodeDecode/BER/X682_Test.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..637f841855172c9d23bfaea6db6fdf67db13b892 --- /dev/null +++ b/regression_test/EncodeDecode/BER/X682_Test.ttcn @@ -0,0 +1,57 @@ +/****************************************************************************** +* Copyright (c) 2000-2020 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 +* +* Contributors: +* Balasko, Jeno +* Koppany, Csaba +* Szabo, Janos Zoltan – initial implementation +* +******************************************************************************/ +module X682_Test +{ +import from X682 language "ASN.1:1997" all + +//=== functions ==== +function f_compare_octetstring(in octetstring pl_val, in octetstring pl_expected) { + if ( pl_val == pl_expected ){ + setverdict(pass); + } else { + setverdict( fail, "expected:", pl_expected, " got: ", pl_val) + } +} with { extension "transparent"} +//==== types +type component CT { } + + +external function enc_ber_ErrorReturn(in ErrorReturn r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_ErrorReturn(in octetstring r) return ErrorReturn +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +testcase TC0a() runs on CT { + var octetstring d := enc_ber_ErrorReturn(errorReturn1); + f_compare_octetstring(d,ber_errorReturn1); + + +} + +testcase TC0b() runs on CT { + var ErrorReturn d := dec_ber_ErrorReturn(ber_errorReturn1); + if ( d==errorReturn1) { + setverdict(pass) + } else { + setverdict(fail, "expected: ", errorReturn1, " got: ", d); + } +} +control +{ + execute(TC0a()); + execute(TC0b()); +} + +} diff --git a/regression_test/BER_x682_wa/x682.asn b/regression_test/EncodeDecode/BER/X682_simplified.asn similarity index 91% rename from regression_test/BER_x682_wa/x682.asn rename to regression_test/EncodeDecode/BER/X682_simplified.asn index 46bda90a31eaef8f1ed6b8b79cb3b9124a798ac1..76377f0db4dabb94692a70da13c3b91f1502063e 100644 --- a/regression_test/BER_x682_wa/x682.asn +++ b/regression_test/EncodeDecode/BER/X682_simplified.asn @@ -11,7 +11,7 @@ -- Szabados, Kristof -- --///////////////////////////////////////////////////////////////////////////// -X682 +X682-simplified DEFINITIONS AUTOMATIC TAGS @@ -58,9 +58,9 @@ ErrorReturn ::= SEQUENCE errorInfo [99] CHOICE { iNTEGER [1] INTEGER, - visibleString [1] VisibleString, - printableString [1] PrintableString, - bOOLEAN [1] BOOLEAN + visibleString [2] VisibleString, + printableString [3] PrintableString, + bOOLEAN [4] BOOLEAN } /*#asn1_compiler# OPENTYPE @@ -89,6 +89,6 @@ errorReturn1 ErrorReturn ::= } } - ber-errorReturn1 OCTET STRING ::= '304D800141A148300C020101BF6306810401317DEC3038020102BF63328130496620552063616E206465636F646520746869732C20552063616E2062652068617070792E20536D696C6521203A2D29'H + ber-errorReturn1 OCTET STRING ::= '304D800141A148300C020101BF6306810401317DEC3038020102BF63328230496620552063616E206465636F646520746869732C20552063616E2062652068617070792E20536D696C6521203A2D29'H END diff --git a/regression_test/EncodeDecode/BER/X682_simplified_Test.ttcn b/regression_test/EncodeDecode/BER/X682_simplified_Test.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..f8985a9c88cb8dfd9f16b6b5b12d9dc94e190357 --- /dev/null +++ b/regression_test/EncodeDecode/BER/X682_simplified_Test.ttcn @@ -0,0 +1,57 @@ +/****************************************************************************** + * Copyright (c) 2000-2020 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 + * + * Contributors: + * Balasko, Jeno + * Forstner, Matyas + * + ******************************************************************************/ +module X682_simplified_Test { + +import from X682_simplified language "ASN.1:1997" all + +//=== functions ==== +function f_compare_octetstring(in octetstring pl_val, in octetstring pl_expected) { + if ( pl_val == pl_expected ){ + setverdict(pass); + } else { + setverdict( fail, "expected:", pl_expected, " got: ", pl_val) + } +} with { extension "transparent"} +//==== types === +type component CT { } + +//=== external functions ==== +external function enc_ber_ErrorReturn(in ErrorReturn r) return octetstring +with { extension "encode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +external function dec_ber_ErrorReturn(in octetstring r) return ErrorReturn +with { extension "decode(BER:BER_ENCODE_DER) prototype(convert) errorbehavior(ALL:WARNING)" } + +//=== Testcases === +testcase TC0a() runs on CT { + var octetstring d := enc_ber_ErrorReturn(errorReturn1); + f_compare_octetstring(d,ber_errorReturn1); + + +} + +testcase TC0b() runs on CT { + var ErrorReturn d := dec_ber_ErrorReturn(ber_errorReturn1); + if ( d==errorReturn1) { + setverdict(pass) + } else { + setverdict(fail, "expected: ", errorReturn1, " got: ", d); + } +} +control +{ + execute(TC0a()); + execute(TC0b()); +} + +} diff --git a/regression_test/EncodeDecode/Makefile b/regression_test/EncodeDecode/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..b57e4795eb390c9a64efab0e7ad9e00f8ef9dcaa --- /dev/null +++ b/regression_test/EncodeDecode/Makefile @@ -0,0 +1,33 @@ +############################################################################## +# Copyright (c) 2000-2020 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 +# +# Contributors: +# Balasko, Jeno +# +############################################################################## +TOPDIR := .. +include $(TOPDIR)/Makefile.regression + +unexport ABS_SRC +unexport SRCDIR + +DIRS := BER + +# List of fake targets: +.PHONY: all dep clean run $(DIRS) $(addsuffix /, $(DIRS)) profile + +all run dep clean distclean: + for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done + +# To run just one test, type "make dir" or "make "dir/" +$(DIRS) $(addsuffix /, $(DIRS)): + $(MAKE) -C $@ run + +# To run all tests, possibly in parallel +runall: $(DIRS) + + diff --git a/regression_test/Makefile b/regression_test/Makefile index 73260bbafd2b26a6c6e7a2d389313044ac890471..9081d5dce57a848db88e6f6af36684a56b609ac5 100644 --- a/regression_test/Makefile +++ b/regression_test/Makefile @@ -40,7 +40,7 @@ enumOper arrayOper anytypeOper templateInt templateBool templateFloat templateBi templateHexstr templateOctetstr templateChar templateCharstr templateUnicharstr \ templateRec templateRec_nolegacy templateRecof templateSet templateSetof templateUnion templateEnum modifiedTemplate \ basicStatem configOper commMessage commProcedure lostTimer controlTimer \ -BER BER_x682 ASN1 predefFunction ERC preCompilerFlags functionReference \ +EncodeDecode ASN1 predefFunction ERC preCompilerFlags functionReference \ nonMandatoryPar logFiles logger_control namedActualParameters \ assignmentNotation omitdef anytype RAW implicitMsgEncoding pattern_quadruples \ macros visibility hexstrOper ucharstrOper objidOper CRTR00015758 slider \