- Testing: fill a config file with values
cnf Templates: DBG: rendering osmo-nitb.cfg.tmpl
! Configuration rendered by osmo-gsm-tester
password foo
!
log stderr
 logging filter all 1
 logging color 1
 logging print category 1
 logging print extended-timestamp 1
 logging level set-all debug
!
line vty
 no login
 bind val_ip_address
!
e1_input
 e1_line 0 driver ipa
 ipa bind val_ip_address
network
 network country code val_mcc
 mobile network code val_mnc
 short name val_short_name
 long name val_long_name
 auth policy val_auth_policy
 location updating reject cause 13
 encryption val_encryption
 neci 1
 rrlp mode none
 mm info 1
 handover 0
 handover window rxlev averaging 10
 handover window rxqual averaging 1
 handover window rxlev neighbor averaging 10
 handover power budget interval 6
 handover power budget hysteresis 3
 handover maximum distance 9999
 bts 0
  type val_type_bts0
  band val_band_bts0
  cell_identity val_bts.cell_identity_bts0
  location_area_code val_bts.location_area_code_bts0
  training_sequence_code 7
  base_station_id_code val_bts.base_station_id_code_bts0
  ms max power 33
  cell reselection hysteresis 4
  rxlev access min 0
  channel allocator ascending
  rach tx integer 9
  rach max transmission 7
  ip.access unit_id val_bts.unit_id_bts0 0
  oml ip.access stream_id val_bts.stream_id_bts0 line 0
  gprs mode gprs
  gprs routing area val_bts.routing_area_code_bts0
  gprs network-control-order nc1
  gprs cell bvci val_bts.bvci_bts0
  gprs cell timer blocking-timer 3
  gprs cell timer blocking-retries 3
  gprs cell timer unblocking-retries 3
  gprs cell timer reset-timer 3
  gprs cell timer reset-retries 3
  gprs cell timer suspend-timer 10
  gprs cell timer suspend-retries 3
  gprs cell timer resume-timer 10
  gprs cell timer resume-retries 3
  gprs cell timer capability-update-timer 10
  gprs cell timer capability-update-retries 3
  gprs nsei val_bts.bvci_bts0
  gprs ns timer tns-block 3
  gprs ns timer tns-block-retries 3
  gprs ns timer tns-reset 3
  gprs ns timer tns-reset-retries 3
  gprs ns timer tns-test 30
  gprs ns timer tns-alive 3
  gprs ns timer tns-alive-retries 10
  gprs nsvc 0 nsvci val_bts.bvci_bts0
  gprs nsvc 0 local udp port 23020
  gprs nsvc 0 remote udp port 23000
  gprs nsvc 0 remote ip val_bts.sgsn_ip_addr_bts0
  trx 0
   rf_locked 0
   arfcn val_trx_arfcn_trx0
   nominal power val_trx_nominal_power_trx0
   max_power_red val_trx_max_power_red_trx0
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
  trx 1
   rf_locked 0
   arfcn val_trx_arfcn_trx1
   nominal power val_trx_nominal_power_trx1
   max_power_red val_trx_max_power_red_trx1
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
 bts 1
  type val_type_bts1
  band val_band_bts1
  cell_identity val_bts.cell_identity_bts1
  location_area_code val_bts.location_area_code_bts1
  training_sequence_code 7
  base_station_id_code val_bts.base_station_id_code_bts1
  ms max power 33
  cell reselection hysteresis 4
  rxlev access min 0
  channel allocator ascending
  rach tx integer 9
  rach max transmission 7
  ip.access unit_id val_bts.unit_id_bts1 0
  oml ip.access stream_id val_bts.stream_id_bts1 line 0
  gprs mode gprs
  gprs routing area val_bts.routing_area_code_bts1
  gprs network-control-order nc1
  gprs cell bvci val_bts.bvci_bts1
  gprs cell timer blocking-timer 3
  gprs cell timer blocking-retries 3
  gprs cell timer unblocking-retries 3
  gprs cell timer reset-timer 3
  gprs cell timer reset-retries 3
  gprs cell timer suspend-timer 10
  gprs cell timer suspend-retries 3
  gprs cell timer resume-timer 10
  gprs cell timer resume-retries 3
  gprs cell timer capability-update-timer 10
  gprs cell timer capability-update-retries 3
  gprs nsei val_bts.bvci_bts1
  gprs ns timer tns-block 3
  gprs ns timer tns-block-retries 3
  gprs ns timer tns-reset 3
  gprs ns timer tns-reset-retries 3
  gprs ns timer tns-test 30
  gprs ns timer tns-alive 3
  gprs ns timer tns-alive-retries 10
  gprs nsvc 0 nsvci val_bts.bvci_bts1
  gprs nsvc 0 local udp port 23020
  gprs nsvc 0 remote udp port 23000
  gprs nsvc 0 remote ip val_bts.sgsn_ip_addr_bts1
  trx 0
   rf_locked 0
   arfcn val_trx_arfcn_trx0
   nominal power val_trx_nominal_power_trx0
   max_power_red val_trx_max_power_red_trx0
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
  trx 1
   rf_locked 0
   arfcn val_trx_arfcn_trx1
   nominal power val_trx_nominal_power_trx1
   max_power_red val_trx_max_power_red_trx1
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
smpp
 local-tcp-ip val_ip_address 2775
 system-id test-nitb
 policy val_smsc_policy
 esme val_system_id_esme0
  password val_password_esme0
  default-route
 esme val_system_id_esme1
  no password
  default-route
ctrl
 bind val_ip_address

- Testing: expect to fail on invalid templates dir
success: setting non-existing templates dir raised RuntimeError
- Testing: template directory overlay (still can find default one?)
cnf Templates: DBG: rendering osmo-nitb.cfg.tmpl
! Configuration rendered by osmo-gsm-tester
password foo
!
log stderr
 logging filter all 1
 logging color 1
 logging print category 1
 logging print extended-timestamp 1
 logging level set-all debug
!
line vty
 no login
 bind val_ip_address
!
e1_input
 e1_line 0 driver ipa
 ipa bind val_ip_address
network
 network country code val_mcc
 mobile network code val_mnc
 short name val_short_name
 long name val_long_name
 auth policy val_auth_policy
 location updating reject cause 13
 encryption val_encryption
 neci 1
 rrlp mode none
 mm info 1
 handover 0
 handover window rxlev averaging 10
 handover window rxqual averaging 1
 handover window rxlev neighbor averaging 10
 handover power budget interval 6
 handover power budget hysteresis 3
 handover maximum distance 9999
 bts 0
  type val_type_bts0
  band val_band_bts0
  cell_identity val_bts.cell_identity_bts0
  location_area_code val_bts.location_area_code_bts0
  training_sequence_code 7
  base_station_id_code val_bts.base_station_id_code_bts0
  ms max power 33
  cell reselection hysteresis 4
  rxlev access min 0
  channel allocator ascending
  rach tx integer 9
  rach max transmission 7
  ip.access unit_id val_bts.unit_id_bts0 0
  oml ip.access stream_id val_bts.stream_id_bts0 line 0
  gprs mode gprs
  gprs routing area val_bts.routing_area_code_bts0
  gprs network-control-order nc1
  gprs cell bvci val_bts.bvci_bts0
  gprs cell timer blocking-timer 3
  gprs cell timer blocking-retries 3
  gprs cell timer unblocking-retries 3
  gprs cell timer reset-timer 3
  gprs cell timer reset-retries 3
  gprs cell timer suspend-timer 10
  gprs cell timer suspend-retries 3
  gprs cell timer resume-timer 10
  gprs cell timer resume-retries 3
  gprs cell timer capability-update-timer 10
  gprs cell timer capability-update-retries 3
  gprs nsei val_bts.bvci_bts0
  gprs ns timer tns-block 3
  gprs ns timer tns-block-retries 3
  gprs ns timer tns-reset 3
  gprs ns timer tns-reset-retries 3
  gprs ns timer tns-test 30
  gprs ns timer tns-alive 3
  gprs ns timer tns-alive-retries 10
  gprs nsvc 0 nsvci val_bts.bvci_bts0
  gprs nsvc 0 local udp port 23020
  gprs nsvc 0 remote udp port 23000
  gprs nsvc 0 remote ip val_bts.sgsn_ip_addr_bts0
  trx 0
   rf_locked 0
   arfcn val_trx_arfcn_trx0
   nominal power val_trx_nominal_power_trx0
   max_power_red val_trx_max_power_red_trx0
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
  trx 1
   rf_locked 0
   arfcn val_trx_arfcn_trx1
   nominal power val_trx_nominal_power_trx1
   max_power_red val_trx_max_power_red_trx1
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
 bts 1
  type val_type_bts1
  band val_band_bts1
  cell_identity val_bts.cell_identity_bts1
  location_area_code val_bts.location_area_code_bts1
  training_sequence_code 7
  base_station_id_code val_bts.base_station_id_code_bts1
  ms max power 33
  cell reselection hysteresis 4
  rxlev access min 0
  channel allocator ascending
  rach tx integer 9
  rach max transmission 7
  ip.access unit_id val_bts.unit_id_bts1 0
  oml ip.access stream_id val_bts.stream_id_bts1 line 0
  gprs mode gprs
  gprs routing area val_bts.routing_area_code_bts1
  gprs network-control-order nc1
  gprs cell bvci val_bts.bvci_bts1
  gprs cell timer blocking-timer 3
  gprs cell timer blocking-retries 3
  gprs cell timer unblocking-retries 3
  gprs cell timer reset-timer 3
  gprs cell timer reset-retries 3
  gprs cell timer suspend-timer 10
  gprs cell timer suspend-retries 3
  gprs cell timer resume-timer 10
  gprs cell timer resume-retries 3
  gprs cell timer capability-update-timer 10
  gprs cell timer capability-update-retries 3
  gprs nsei val_bts.bvci_bts1
  gprs ns timer tns-block 3
  gprs ns timer tns-block-retries 3
  gprs ns timer tns-reset 3
  gprs ns timer tns-reset-retries 3
  gprs ns timer tns-test 30
  gprs ns timer tns-alive 3
  gprs ns timer tns-alive-retries 10
  gprs nsvc 0 nsvci val_bts.bvci_bts1
  gprs nsvc 0 local udp port 23020
  gprs nsvc 0 remote udp port 23000
  gprs nsvc 0 remote ip val_bts.sgsn_ip_addr_bts1
  trx 0
   rf_locked 0
   arfcn val_trx_arfcn_trx0
   nominal power val_trx_nominal_power_trx0
   max_power_red val_trx_max_power_red_trx0
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
  trx 1
   rf_locked 0
   arfcn val_trx_arfcn_trx1
   nominal power val_trx_nominal_power_trx1
   max_power_red val_trx_max_power_red_trx1
   rsl e1 tei 0
   timeslot 0
    phys_chan_config val_phys_chan_config_0
   timeslot 1
    phys_chan_config val_phys_chan_config_1
   timeslot 2
    phys_chan_config val_phys_chan_config_2
   timeslot 3
    phys_chan_config val_phys_chan_config_3
smpp
 local-tcp-ip val_ip_address 2775
 system-id test-nitb
 policy val_smsc_policy
 esme val_system_id_esme0
  password val_password_esme0
  default-route
 esme val_system_id_esme1
  no password
  default-route
ctrl
 bind val_ip_address

- Testing: template directory overlay (present in both dirs)
cnf Templates: DBG: rendering osmo-bsc.cfg.tmpl
test-overlay-works-fine yes

- Testing: template directory overlay (present only on overlay dir)
cnf Templates: DBG: rendering mytemplate.cfg.tmpl
test-overlay-works-fine-only-available yes