blob: 4c06f3de106aff07cfb330bf2eeee1bf906c31af [file] [log] [blame]
module STOMPTest {
import from STOMP_Types all;
type component EmptyCT {
}
//*******************************************************************************************
//Templates
//Rev: R1B
template STOMPFrame t_message:=
{
command:=MESSAGE,
headers:={ {header_name:="foo", header_value:="Hello"}, {header_name:="foo", header_value:="World"}},
payload:=omit
}
template STOMPFrame t_send:=
{
command:=SEND,
headers:={ {header_name:="destination", header_value:="/queue/a"}, {header_name:="receipt", header_value:="message-12345"}},
payload:=char2oct("hello queue a")
}
template STOMPFrame t_connect:=
{
command:=CONNECT,
headers:={ {header_name:="accept-version", header_value:="1.2"}, {header_name:="host", header_value:="stomp.github.org"}},
payload:=omit
}
template STOMPFrame t_connected:=
{
command:=CONNECTED,
headers:={ {header_name:="version", header_value:="1.2"}},
payload:=omit
}
template STOMPFrame t_error:=
{
command:=ERROR,
headers:={ {header_name:="version", header_value:="1.2,2.1"},{header_name:="content-type", header_value:="text/plain"} },
payload:=char2oct("Supported protocol versions are 1.2 2.1")
}
template STOMPFrame t_subscribe:=
{
command:=SUBSCRIBE,
headers:={ {header_name:="id", header_value:="0"},{header_name:="destination", header_value:="/queue/foo"},{header_name:="ack", header_value:="client"} },
payload:=omit
}
template STOMPFrame t_unsubscribe:=
{
command:=UNSUBSCRIBE,
headers:={ {header_name:="id", header_value:="0"} },
payload:=omit
}
template STOMPFrame t_begin:=
{
command:=BEGIN,
headers:={ {header_name:="transaction", header_value:="tx1"} },
payload:=omit
}
template STOMPFrame t_ack:=
{
command:=ACK,
headers:={{header_name:="id", header_value:="0"}, {header_name:="transaction", header_value:="tx1"} },
payload:=omit
}
template STOMPFrame t_nack:=
{
command:=NACK,
headers:={{header_name:="id", header_value:="0"}, {header_name:="transaction", header_value:="tx1"} },
payload:=omit
}
template STOMPFrame t_commit:=
{
command:=COMMIT,
headers:={ {header_name:="transaction", header_value:="tx1"} },
payload:=omit
}
template STOMPFrame t_abort:=
{
command:=ABORT,
headers:={ {header_name:="transaction", header_value:="tx1"} },
payload:=omit
}
template STOMPFrame t_disconnect:=
{
command:=DISCONNECT,
headers:={ {header_name:="receipt", header_value:="77"} },
payload:=omit
}
template STOMPFrame t_receipt:=
{
command:=RECEIPT,
headers:={ {header_name:="receipt-id", header_value:="77"} },
payload:=omit
}
template STOMPFrame t_message1:=
{
command:=MESSAGE,
headers:={ {header_name:="subscription", header_value:="0"}, {header_name:="message-id", header_value:="007"},{header_name:="destination", header_value:="/queue/a"}, {header_name:="content-type", header_value:="text/plain"}},
payload:=char2oct("hello queue a")
}
template STOMPFrame t_error1:=
{
command:=ERROR,
headers:={ {header_name:="receipt-id", header_value:="message@12345"},{header_name:="content-type", header_value:="text/plain"}, /*{header_name:="content-length", header_value:="171"},*/{header_name:="message", header_value:="malformed frame received"} },
payload:=char2oct("The message:
-----
MESSAGE
destined:/queue/a
receipt:message@12345
Hello queue a!
-----
Did not contain a destination header, which is REQUIRED
for message propagation.")
}
testcase tc_encdec() runs on EmptyCT {
var octetstring v_oct
var STOMPFrame v_stomp
var integer v_ret
v_ret:=f_STOMP_enc(valueof(t_message), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_send), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_connect), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_connected), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_error), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_subscribe), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_unsubscribe), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_begin), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_ack), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_nack), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_commit), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_abort), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_disconnect), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_receipt), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_message1), v_oct)
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_ret:=f_STOMP_enc(valueof(t_error1), v_oct)
log(v_oct)
log(char2oct("The message:
-----
MESSAGE
destined:/queue/a
receipt:message@12345
Hello queue a!
-----
Did not contain a destination header, which is REQUIRED
for message propagation."))
v_ret:=f_STOMP_dec(v_oct,v_stomp )
log(v_stomp)
v_oct:=char2oct("MESSAGE\nsubscription:0\nmessage-id:007\r\ndestination:/queue/a\ncontent-type:text/plain\n\r\nhello queue a")
log(f_STOMP_dec(v_oct, v_stomp))
log(v_stomp)
}
testcase tc_test() runs on EmptyCT {
var STOMPFrame frame1, result;
var octetstring os;
var integer res;
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "a ", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SUBSCRIBE,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := UNSUBSCRIBE,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := BEGIN,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := COMMIT,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := ABORT,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := ACK,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := NACK,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := DISCONNECT,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := CONNECTED,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := CONNECT,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := STOMP,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := MESSAGE,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := RECEIPT,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := ERROR,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "abc", header_value := "def"},
{ header_name := "ñ\n\r\\:ñ\t", header_value := "ñ\n\r\\:ñ\t"},
{ header_name := "A, Á, B, C, Cs, D, Dz, Dzs, E, É, F, G, Gy, H, I, Í, J, K, L, Ly, M, N, Ny, O, Ó, Ö, Ő, P, R, S, Sz, T, Ty, U, Ú, Ü, Ű, V, Z, Zs", header_value := "A, Á, B, C, Cs, D, Dz, Dzs, E, É, F, G, Gy, H, I, Í, J, K, L, Ly, M, N, Ny, O, Ó, Ö, Ő, P, R, S, Sz, T, Ty, U, Ú, Ü, Ű, V, Z, Zs"}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "abc", header_value := "def"},
{ header_name := "content-length", header_value := "4"}
},
payload := 'AAAA00AA'O
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "abc", header_value := "def"},
{ header_name := "content-length", header_value := "4"},
{ header_name := "content-length", header_value := "8"}
},
payload := 'AAAA00AA'O
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "", header_value := ""}
},
payload := 'AAAAAAAAAA'O
}
var STOMPFrame frame6 := {
command := SEND,
headers := {
{ header_name := "", header_value := ""},
{ header_name := "content-length", header_value := "5" }
},
payload := 'AAAAAAAAAA'O
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame6)) {
setverdict(fail, match(result, frame6));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "", header_value := ""}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "", header_value := ""}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "", header_value := ""}
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
},
payload := omit
}
res := f_STOMP_enc(frame1, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
var STOMPFrame frame2 := {
headers := {
{ header_name := "", header_value := ""}
},
payload := omit
}
var boolean errors := false;
@try {
res := f_STOMP_enc(frame2, os);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
var STOMPFrame frame3 := {
command := SEND,
payload := omit
}
errors := false;
@try {
res := f_STOMP_enc(frame3, os);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
var STOMPFrame frame4 := {
command := SEND,
headers := {
}
}
errors := false;
@try {
res := f_STOMP_enc(frame4, os);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
os := '53AA454E440A613A620A0AAAAAAAAA00'O;
errors := false;
@try {
res := f_STOMP_dec(os, result);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := 'AAAAAAAA'O
}
os := '53454E440A613A620A0AAAAAAAAA000A'O;
errors := false;
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := 'AAAAAAAA'O
}
os := '53454E440A613A620A0AAAAAAAAA000D0A'O;
errors := false;
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := 'AAAAAAAA'O
}
os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D0A'O;
errors := false;
res := f_STOMP_dec(os, result);
if (not match(result, frame1)) {
setverdict(fail, match(result, frame1));
}
/////////////////////////////////////////////////////////////
os := '53454E440A613A620A0AAAAAAAAA00AA'O;
errors := false;
@try {
res := f_STOMP_dec(os, result);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D0A11'O;
errors := false;
@try {
res := f_STOMP_dec(os, result);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D150A'O;
errors := false;
@try {
res := f_STOMP_dec(os, result);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
os := '53454E440A613A620A0AAAAAAAAA000D0A0A0A0D0A0D0A0D'O;
errors := false;
@try {
res := f_STOMP_dec(os, result);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
os := '53454E440A613A625C740A0AAAAAAAAA00'O;
errors := false;
@try {
res := f_STOMP_dec(os, result);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
frame2 := {
command := CONNECT,
headers := {
{ header_name := "a\\\ra", header_value := "a\\\ra" }
},
payload := 'AAAAAAAA'O
}
frame6 := {
command := CONNECT,
headers := {
{ header_name := "a\\\ra", header_value := "a\\\ra" },
{ header_name := "content-length", header_value := "4" }
},
payload := 'AAAAAAAA'O
}
res := f_STOMP_enc(frame2, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame6)) {
setverdict(fail, match(result, frame6));
}
/////////////////////////////////////////////////////////////
frame2 := {
command := CONNECTED,
headers := {
{ header_name := "a\\\ra", header_value := "a\\\ra" }
},
payload := 'AAAAAAAA'O
}
frame6 := {
command := CONNECTED,
headers := {
{ header_name := "a\\\ra", header_value := "a\\\ra" },
{ header_name := "content-length", header_value := "4" }
},
payload := 'AAAAAAAA'O
}
res := f_STOMP_enc(frame2, os);
res := f_STOMP_dec(os, result);
if (not match(result, frame6)) {
setverdict(fail, match(result, frame6));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "abc", header_value := "def"},
{ header_name := "content-length", header_value := "5"}
},
payload := 'AAAA00AA'O
}
errors := false;
res := f_STOMP_enc(frame1, os);
@try {
res := f_STOMP_dec(os, result);
} @catch(e) {
setverdict(pass);
errors := true;
}
if (errors == false) {
setverdict(fail, "No error");
}
/////////////////////////////////////////////////////////////
os := '53454E440A613A620A0AAAAAAAAA00'O;
res := f_STOMP_dec(os, result);
frame6 := {
command := SEND,
headers := {
{ header_name := "a", header_value := "b"}
},
payload := 'AAAAAAAA'O
}
if (not match(result, frame6)) {
setverdict(fail, match(result, frame6));
}
/////////////////////////////////////////////////////////////
frame1 := {
command := SEND,
headers := {
{ header_name := "abc", header_value := "def"},
{ header_name := "content-length", header_value := "5"}
},
payload := 'AAAA00AA'O
}
res := f_STOMP_enc(frame1, os);
var integer len := f_GetSTOMPmsgLength(os);
if (len != 36) {
setverdict(fail, match(len, 36));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350A0AAAAA00AA000A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 37) {
setverdict(fail, match(len, 37));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350A0AAAAA00AA000D0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 38) {
setverdict(fail, match(len, 38));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350A0AAAAA00AA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 39) {
setverdict(fail, match(len, 39));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350D0A0AAAAA00AA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 40) {
setverdict(fail, match(len, 40));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660A636F6E74656E742D6C656E6774683A350D0A0D0AAAAA00AA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 41) {
setverdict(fail, match(len, 41));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660D0A636F6E74656E742D6C656E6774683A350A6162633A6465660D0A0D0AAAAA00AA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 50) {
setverdict(fail, match(len, 50));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660D0A636F6E74656E742D6C656E6774683A350D0A6162633A6465660D0A0D0AAAAA00AA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 51) {
setverdict(fail, match(len, 51));
}
/////////////////////////////////////////////////////////////
os := '53454E440A6162633A6465660D0A636F6E74656E742D6C656E6774683A350D0A6162633A6465660D0A0D0AAAAA00AA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 51) {
setverdict(fail, match(len, 51));
}
/////////////////////////////////////////////////////////////
os := '53454E440A613A620A0AAAAAAAAA00'O;
len := f_GetSTOMPmsgLength(os);
if (len != 15) {
setverdict(fail, match(len, 15));
}
/////////////////////////////////////////////////////////////
os := '53454E440D0A613A620A0AAAAAAAAA00'O;
len := f_GetSTOMPmsgLength(os);
if (len != 16) {
setverdict(fail, match(len, 16));
}
/////////////////////////////////////////////////////////////
os := '53454E440D0A613A620A0AAAAAAAAA000A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 17) {
setverdict(fail, match(len, 17));
}
/////////////////////////////////////////////////////////////
os := '53454E440D0A613A620A0AAAAAAAAA000D0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 18) {
setverdict(fail, match(len, 18));
}
/////////////////////////////////////////////////////////////
os := '53454E440D0A613A620D0A0AAAAAAAAA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 20) {
setverdict(fail, match(len, 20));
}
/////////////////////////////////////////////////////////////
os := '53454E440D0A613A620D0A0D0AAAAAAAAA000D0A0A'O;
len := f_GetSTOMPmsgLength(os);
if (len != 21) {
setverdict(fail, match(len, 21));
}
/////////////////////////////////////////////////////////////
os := '53454E440D0A613A620D0A0D0AAAAAAAAA000D0A0A1231BB'O;
len := f_GetSTOMPmsgLength(os);
if (len != 21) {
setverdict(fail, match(len, 21));
}
setverdict(pass);
}
control {
execute(tc_test());
execute(tc_encdec());
}
}