Osmocom_VTY_Functions: Generalize to handle multiple VTY ports
The existing Osmocom_VTY_Functions code was centered around a global
module parameter specifying the prompt prefix. This prevented a
single test to use multiple VTY connections to different Osmocom
programs.
This patch generalize the code by widening the prompt matching
in f_vty_wait_for_prompt() and by allowing the caller to specify
the prompt prefix to override the modulepar.
Change-Id: I574b56c42fe95540af44a2c43d0fb469938c0e65
diff --git a/library/Osmocom_VTY_Functions.ttcn b/library/Osmocom_VTY_Functions.ttcn
index 427bd5c..b822645 100644
--- a/library/Osmocom_VTY_Functions.ttcn
+++ b/library/Osmocom_VTY_Functions.ttcn
@@ -12,24 +12,24 @@
template charstring t_vty_unknown := pattern "*% Unknown command.";
/* configure prompts in TELNETasp module */
- function f_vty_set_prompts(TELNETasp_PT pt) {
+ function f_vty_set_prompts(TELNETasp_PT pt, charstring prompt_prefix := mp_prompt_prefix) {
var ASP_TelnetDynamicConfig vty_prompt[3] := {
{
prompt := {
id := 1,
- prompt := mp_prompt_prefix & VTY_VIEW_SUFFIX,
+ prompt := prompt_prefix & VTY_VIEW_SUFFIX,
has_wildcards := false
}
}, {
prompt := {
id := 2,
- prompt := mp_prompt_prefix & VTY_ENABLE_SUFFIX,
+ prompt := prompt_prefix & VTY_ENABLE_SUFFIX,
has_wildcards := false
}
}, {
prompt := {
id := 3,
- prompt := mp_prompt_prefix & VTY_CFG_SUFFIX,
+ prompt := prompt_prefix & VTY_CFG_SUFFIX,
has_wildcards := true
}
}
@@ -51,9 +51,9 @@
T.start;
alt {
- [] pt.receive(mp_prompt_prefix & VTY_VIEW_SUFFIX) { };
- [] pt.receive(mp_prompt_prefix & VTY_ENABLE_SUFFIX) { };
- [] pt.receive(pattern mp_prompt_prefix & VTY_CFG_SUFFIX) { };
+ [] pt.receive(pattern "\w+" & VTY_VIEW_SUFFIX) { };
+ [] pt.receive(pattern "\w+\# ") { };
+ [] pt.receive(pattern "\w+" & VTY_CFG_SUFFIX) { };
[] pt.receive(t_vty_unknown) {
testcase.stop(fail, "VTY: Unknown Command");
};