gbproxy: Add flush_ll test without new bvci

Depends: Ic33d08992ea84af006d133db6aec508a7b7c7f28 (osmo-ttcn3-hacks)
Change-Id: I9af6f0829bf10031b86e587529b86706fea3a413
Related: OS#5332
diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index f569eaf..5f5d835 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -2357,7 +2357,7 @@
  * FLUSH-LL procedure
  ***********************************************************************/
 
-private function f_TC_flush_ll(charstring id) runs on BSSGP_ConnHdlr {
+private function f_TC_flush_ll_bvci_new(charstring id) runs on BSSGP_ConnHdlr {
 	var BssgpBvci bvci := g_pars.pcu[0].cfg.bvc[0].bvci;
 	var integer i;
 	for (i := 0; i < 10; i := i+1) {
@@ -2367,18 +2367,46 @@
 
 		f_sgsn2pcu(pdu_tx, pdu_rx, use_sig := true);
 
-		pdu_tx := ts_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(0, 1), 23, bvci_new := bvci);
+		pdu_tx := ts_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(1, 1), 23, bvci_new := bvci);
 		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
-		pdu_rx := tr_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(0, 1), 23, bvci_new := bvci);
+		pdu_rx := tr_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(1, 1), 23, bvci_new := bvci);
 
 		f_pcu2sgsn(pdu_tx, pdu_rx, use_sig := true);
 	}
 	setverdict(pass);
 }
-testcase TC_flush_ll() runs on test_CT
+
+testcase TC_flush_ll_bvci_new() runs on test_CT
 {
 	f_init();
-	f_start_handlers(refers(f_TC_flush_ll), testcasename(), 6);
+	f_start_handlers(refers(f_TC_flush_ll_bvci_new), testcasename(), 6);
+	/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
+	f_cleanup();
+}
+
+private function f_TC_flush_ll_no_bvci_new(charstring id) runs on BSSGP_ConnHdlr {
+	var BssgpBvci bvci := g_pars.pcu[0].cfg.bvc[0].bvci;
+	var integer i;
+	for (i := 0; i < 10; i := i+1) {
+		var template (value) PDU_BSSGP pdu_tx := ts_BSSGP_FLUSH_LL(g_pars.tlli, bvci);
+		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+		var template (present) PDU_BSSGP pdu_rx := tr_BSSGP_FLUSH_LL(g_pars.tlli, bvci);
+
+		f_sgsn2pcu(pdu_tx, pdu_rx, use_sig := true);
+
+		pdu_tx := ts_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(0, 1), 23);
+		/* we cannot use pdu_tx as there are some subtle differences in the length field :/ */
+		pdu_rx := tr_BSSGP_FLUSH_LL_ACK(g_pars.tlli, int2oct(0, 1), 23);
+
+		f_pcu2sgsn(pdu_tx, pdu_rx, use_sig := true);
+	}
+	setverdict(pass);
+}
+
+testcase TC_flush_ll_no_bvci_new() runs on test_CT
+{
+	f_init();
+	f_start_handlers(refers(f_TC_flush_ll_no_bvci_new), testcasename(), 6);
 	/* TODO: start multiple handlers (UEs) on various cells on same and other NSEs */
 	f_cleanup();
 }
@@ -3643,7 +3671,12 @@
 	execute( TC_rim_from_eutran() );
 
 
-	execute( TC_flush_ll() );
+	execute( TC_flush_ll_bvci_new() );
+
+	/* Depends on osmo-gbproxy > 0.2.0 */
+	if (Misc_Helpers.f_osmo_repo_is("nightly")) {
+		execute( TC_flush_ll_no_bvci_new() );
+	}
 	execute( TC_fc_bvc() );
 	execute( TC_fc_ms() );
 	execute( TC_ms_reg_enq() );