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
This commit is contained in:
Harald Welte 2018-09-10 10:21:44 +02:00
parent 43c5464370
commit a266325929
1 changed files with 7 additions and 7 deletions

View File

@ -12,24 +12,24 @@ module Osmocom_VTY_Functions {
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 @@ module Osmocom_VTY_Functions {
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");
};