module FRNET_Tests { import from General_Types all; import from Osmocom_Types all; import from Osmocom_Gb_Types all; import from NS_Emulation all; import from BSSGP_Emulation all; modulepar { NSConfigurations mp_nsconfig := { { nsei := 123, role_sgsn := true, handle_sns := false, nsvc := { { provider := { fr := { netdev := "hdlc2", dlci := 123 } }, nsvci := 123 } } } }; } type record GbInstance { NS_CT vc_NS, BSSGP_CT vc_BSSGP, BssgpConfig cfg }; const integer NUM_GB := 1; type record length(NUM_GB) of GbInstance GbInstances; type record length(NUM_GB) of NSConfiguration NSConfigurations; type record length(NUM_GB) of BssgpCellId BssgpCellIds; type component test_CT { var GbInstances g_gb; }; private function f_init_gb(inout GbInstance gb, charstring id, integer offset) runs on test_CT { var charstring id_idx := id & int2str(offset); gb.vc_NS := NS_CT.create(id_idx & "-NSemu"); gb.vc_BSSGP := BSSGP_CT.create(id_idx & "-BSSGPemu"); connect(gb.vc_BSSGP:BSCP, gb.vc_NS:NS_SP); gb.vc_NS.start(NSStart(mp_nsconfig[offset], id_idx)); gb.vc_BSSGP.start(BssgpStart(gb.cfg, testcasename())); } testcase TC_foo() runs on test_CT { g_gb[0].cfg := { nsei := 123, sgsn_role := true, bvc := { { bvci := 1123, cell_id := { ra_id := { lai := { mcc_mnc := '262F42'H, lac := 11123 }, rac := 1 }, cell_id := 31123 }, depth := BSSGP_DECODE_DEPTH_LLC } } }; f_init_gb(g_gb[0], "gb", 0); while (true) { f_sleep(100.0); } } control { execute( TC_foo() ); } }