module STP_Tests_Common {

/* Osmocom STP test suite in in TTCN-3
 * (C) 2019 Harald Welte <laforge@gnumonks.org>
 * All rights reserved.
 *
 * Released under the terms of GNU General Public License, Version 2 or
 * (at your option) any later version.
 *
 * SPDX-License-Identifier: GPL-2.0-or-later
 */

friend module STP_Tests;
friend module STP_Tests_M3UA;
friend module STP_Tests_IPA;

import from TELNETasp_PortType all;
import from Osmocom_VTY_Functions all;

import from IPL4asp_Types all;

type component Test_CT {
	port TELNETasp_PT VTY;
	timer g_Tguard := 30.0;
	var boolean g_test_initialized := false;
}

private altstep as_gTguard() runs on Test_CT {
	[] g_Tguard.timeout {
		setverdict(fail, "Global guard timer timed out");
		mtc.stop;
		}
}

friend function f_init_common() runs on Test_CT {
	if (g_test_initialized) {
		return;
	}
	g_test_initialized := true;

	map(self:VTY, system:VTY);
	f_vty_set_prompts(VTY);
	f_vty_transceive(VTY, "enable");

	activate(as_gTguard());
	g_Tguard.start;
}



}
