From cd9cb6436975cff6572ef0fd007399f809bc2298 Mon Sep 17 00:00:00 2001 From: Botond Baranyi <botond.baranyi@ericsson.com> Date: Wed, 17 Jan 2018 17:51:36 +0100 Subject: [PATCH] Changed ttcn2string to no longer display the charstring value of printable octetstrings (bug 529655) Change-Id: Iec73dd7ed079bec08414fd1947cce86701d0fa61 Signed-off-by: Botond Baranyi <botond.baranyi@ericsson.com> --- core/Octetstring.cc | 2 +- .../octetstrOper/ToctetstrOper.ttcn | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/core/Octetstring.cc b/core/Octetstring.cc index 204203d7e..bb50c2239 100644 --- a/core/Octetstring.cc +++ b/core/Octetstring.cc @@ -509,7 +509,7 @@ OCTETSTRING::operator const unsigned char*() const void OCTETSTRING::log() const { if (val_ptr != NULL) { - boolean only_printable = TRUE; + boolean only_printable = TTCN_Logger::get_log_format() == TTCN_Logger::LF_LEGACY; TTCN_Logger::log_char('\''); for (int i = 0; i < val_ptr->n_octets; i++) { unsigned char octet = val_ptr->octets_ptr[i]; diff --git a/regression_test/octetstrOper/ToctetstrOper.ttcn b/regression_test/octetstrOper/ToctetstrOper.ttcn index 78c38e688..bdc72b1b8 100644 --- a/regression_test/octetstrOper/ToctetstrOper.ttcn +++ b/regression_test/octetstrOper/ToctetstrOper.ttcn @@ -517,6 +517,34 @@ testcase tc_simple_octetstring_unbound() runs on octetstrOper_comptype { if(isbound(vl_o3)) {setverdict(pass)} else {setverdict(fail)} } +const octetstring c_printable := '616263'O; // "abc" + +// Testing log2str on a printable octetstring. +// In this case the charstring value is displayed in brackets after the octetstring value. +testcase tc_printable_octetstring_log2str() runs on octetstrOper_comptype { + var charstring res := log2str(c_printable); + var charstring exp := "'616263'O (\"abc\")"; + if (res != exp) { + setverdict(fail, "Expected: ", exp, ", got: ", res); + } + else { + setverdict(pass); + } +} + +// Testing ttcn2string on a printable octetstring. +// In this case the charstring value is not displayed. +testcase tc_printable_octetstring_ttcn2string() runs on octetstrOper_comptype { + var charstring res := ttcn2string(c_printable); + var charstring exp := "'616263'O"; + if (res != exp) { + setverdict(fail, "Expected: ", exp, ", got: ", res); + } + else { + setverdict(pass); + } +} + control { const octetstring cl_1:='AA11'O; var octetstring vl_1; @@ -564,5 +592,7 @@ control { execute(octetstrIsvalue()); execute(octetstrIsbound()); execute(tc_simple_octetstring_unbound()); + execute(tc_printable_octetstring_log2str()); + execute(tc_printable_octetstring_ttcn2string()); } } -- GitLab