Skip to content
Snippets Groups Projects
Commit 066e5f40 authored by Botond Baranyi's avatar Botond Baranyi
Browse files

Added more tests for 'out' parameters (#617)


Signed-off-by: default avatarBotond Baranyi <botond.baranyi@ericsson.com>
parent 3a212f9f
No related branches found
No related tags found
1 merge request!489Added more tests for 'out' parameters (#617)
......@@ -13,10 +13,12 @@
module paramOut {
type record Rec {
integer num,
integer num optional,
charstring str
}
type record of Rec RecList;
type component CT {
var integer cv := 2;
var template charstring cvt := "xy";
......@@ -99,10 +101,100 @@ testcase tc_param_out_empty_defval() runs on CT {
setverdict(pass);
}
testcase tc_param_out_expand() runs on CT {
var Rec x := { omit, "a" };
f1(-2, x.num);
if (x != { omit, "a" }) {
setverdict(fail, "#1: ", x);
}
f1(3, x.num);
if (x != { 3, "a" }) {
setverdict(fail, "#2: ", x);
}
var RecList y := { x };
f1(-2, y[1].num);
var RecList y_exp := { x };
if (log2str(y) != log2str(y_exp)) {
setverdict(fail, "#3: ", y);
}
f1(3, y[1].num);
y_exp := { x, { num := 3 } };
if (log2str(y) != log2str(y_exp)) {
setverdict(fail, "#4: ", y);
}
setverdict(pass);
}
altstep as(out integer p) runs on CT {
[] ctmr.timeout {
if (cv > 0) {
p := cv;
}
}
}
testcase tc_param_out_altstep() runs on CT {
var Rec x := { omit, "a" };
ctmr.start;
as(x.num);
if (x != { 2, "a" }) {
setverdict(fail, "#1: ", x);
}
cv := -4;
ctmr.start;
alt {
[] as(x.num);
}
if (x != { 2, "a" }) {
setverdict(fail, "#2: ", x);
}
cv := 3;
ctmr.start;
as();
ctmr.start;
alt {
[] as(-);
}
setverdict(pass);
}
testcase tc_param_out_testcase(in integer p1, out integer p2) runs on CT {
if (p1 > 0) {
p2 := p1;
}
setverdict(pass);
}
testcase tc_fail(charstring msg) runs on CT {
setverdict(fail, msg);
}
control {
execute(tc_param_out());
execute(tc_param_out_defval());
execute(tc_param_out_empty_defval());
execute(tc_param_out_expand());
execute(tc_param_out_altstep());
var integer x := 0;
execute(tc_param_out_testcase(-2, x));
if (x != 0) {
execute(tc_fail(log2str("#1: ", x)));
}
execute(tc_param_out_testcase(3, x));
if (x != 3) {
execute(tc_fail(log2str("#2: ", x)));
}
execute(tc_param_out_testcase(-2, -));
execute(tc_param_out_testcase(3));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment