pcu: Introduce test TC_nacc_outbound_pkt_cell_chg_notif_nonassigned_dl_tbf

Triggers osmo-pcu assert in nacc_fsm.c due to scheduler not checking if
tbf has TFI assigned before deciding to transmit NACC related messages.

Related: osmo-pcu.git Change-Id I72b2dff28aacdb04909c098c94834ff79f55b31d
Related: SYS#4909
Change-Id: Id293e41e6b4380f2794007779ad430544bbe578a
diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn
index 34406b9..5266743 100644
--- a/pcu/GPRS_Components.ttcn
+++ b/pcu/GPRS_Components.ttcn
@@ -819,6 +819,22 @@
 }
 
 
+private function f_ms_gtfi_tmpl(inout GprsMS ms)
+runs on MS_BTS_IFACE_CT return template (present) GlobalTfi {
+	var template (present) GlobalTfi gtfi;
+	if (ispresent(ms.ul_tbf) and ispresent(ms.dl_tbf)) {
+		gtfi := ({ is_dl_tfi := false, tfi := ms.ul_tbf.tfi },
+			 { is_dl_tfi := true, tfi := ms.dl_tbf.tfi });
+	} else if (ispresent(ms.ul_tbf)) {
+		gtfi := { is_dl_tfi := false, tfi := ms.ul_tbf.tfi };
+	} else if (ispresent(ms.dl_tbf)) {
+		gtfi := { is_dl_tfi := true, tfi := ms.dl_tbf.tfi };
+	} else {
+		gtfi := ?;
+	}
+	return gtfi;
+}
+
 altstep as_ms_rx_pkt_neighbor_cell_data(inout GprsMS ms, octetstring exp_si,
 					inout uint5_t exp_container_idx /* := 0 */,
 					inout integer si_offset /* := 0 */,
@@ -827,7 +843,7 @@
 runs on MS_BTS_IFACE_CT {
 	var integer len;
 	var octetstring exp_si_chunk;
-	var GlobalTfi gtfi := { is_dl_tfi := false, tfi := ms.ul_tbf.tfi };
+	var template (present) GlobalTfi gtfi := f_ms_gtfi_tmpl(ms);
 	var BTS_PDTCH_Block data_msg;
 	var boolean do_repeat := true;