[PATCH] osmo-gsm-tester[master]: Use unique incrementing value for BTS LAC

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Mon Nov 6 17:52:12 UTC 2017


Review at  https://gerrit.osmocom.org/4704

Use unique incrementing value for BTS LAC

Change-Id: I9f864bac05e39ec2fc305f774194799c3d8fe1b0
---
M example/defaults.conf
M src/osmo_gsm_tester/bts_octphy.py
M src/osmo_gsm_tester/bts_osmotrx.py
M src/osmo_gsm_tester/bts_sysmo.py
M src/osmo_gsm_tester/resource.py
M src/osmo_gsm_tester/schema.py
M src/osmo_gsm_tester/suite.py
7 files changed, 24 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/04/4704/1

diff --git a/example/defaults.conf b/example/defaults.conf
index e2921a4..d555ab0 100644
--- a/example/defaults.conf
+++ b/example/defaults.conf
@@ -28,7 +28,6 @@
     authentication: optional
 
 bsc_bts:
-  location_area_code: 23
   base_station_id_code: 63
   stream_id: 255
   osmobsc_bts_type: sysmobts
diff --git a/src/osmo_gsm_tester/bts_octphy.py b/src/osmo_gsm_tester/bts_octphy.py
index ae2e249..7fa58a5 100644
--- a/src/osmo_gsm_tester/bts_octphy.py
+++ b/src/osmo_gsm_tester/bts_octphy.py
@@ -158,6 +158,9 @@
     def conf_for_bsc(self):
         values = config.get_defaults('bsc_bts')
         config.overlay(values, config.get_defaults('osmo_bts_octphy'))
+        config.overlay(values, {
+                        'location_area_code': self.suite_run.lac(),
+        })
         config.overlay(values, self.conf)
         self.dbg(conf=values)
         return values
diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py
index f53b8a3..3aa39b1 100644
--- a/src/osmo_gsm_tester/bts_osmotrx.py
+++ b/src/osmo_gsm_tester/bts_osmotrx.py
@@ -136,6 +136,9 @@
     def conf_for_bsc(self):
         values = config.get_defaults('bsc_bts')
         config.overlay(values, config.get_defaults('osmo_bts_trx'))
+        config.overlay(values, {
+                        'location_area_code': self.suite_run.lac(),
+        })
         config.overlay(values, self.conf)
         self.dbg(conf=values)
         return values
diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py
index e8ac7c2..69c5610 100644
--- a/src/osmo_gsm_tester/bts_sysmo.py
+++ b/src/osmo_gsm_tester/bts_sysmo.py
@@ -143,6 +143,9 @@
     def conf_for_bsc(self):
         values = config.get_defaults('bsc_bts')
         config.overlay(values, config.get_defaults('osmo_bts_sysmo'))
+        config.overlay(values, {
+                        'location_area_code': self.suite_run.lac(),
+        })
         config.overlay(values, self.conf)
         self.dbg(conf=values)
         return values
diff --git a/src/osmo_gsm_tester/resource.py b/src/osmo_gsm_tester/resource.py
index 278fe4f..3b65f09 100644
--- a/src/osmo_gsm_tester/resource.py
+++ b/src/osmo_gsm_tester/resource.py
@@ -22,6 +22,7 @@
 import copy
 import atexit
 import pprint
+import math
 
 from . import log
 from . import config
@@ -211,6 +212,8 @@
     def next_msisdn(self, origin):
         return self.next_persistent_value('msisdn', '1000', schema.msisdn, util.msisdn_inc, origin)
 
+    def next_lac(self, origin):
+        return self.next_persistent_value('lac', '1', schema.uint16, lambda x: str(int((int(x)+1) %  math.pow(2,16))), origin)
 
 class NoResourceExn(log.Error):
     pass
diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py
index 9b142d3..21193ed 100644
--- a/src/osmo_gsm_tester/schema.py
+++ b/src/osmo_gsm_tester/schema.py
@@ -71,6 +71,13 @@
     if n < 0:
         raise ValueError('Positive value expected instead of %d' % n)
 
+def uint16(val):
+    n = int(val)
+    if n < 0:
+        raise ValueError('Positive value expected instead of %d' % n)
+    if n > 65535:
+        raise ValueError('Value %d too big, max value is 65535' % n)
+
 def times(val):
     n = int(val)
     if n < 1:
diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py
index 28bdd69..3800d5e 100644
--- a/src/osmo_gsm_tester/suite.py
+++ b/src/osmo_gsm_tester/suite.py
@@ -370,6 +370,11 @@
         self.log('using MSISDN', msisdn)
         return msisdn
 
+    def lac(self):
+        lac = self.resources_pool.next_lac(self)
+        self.log('using LAC', lac)
+        return lac
+
     def poll(self):
         if self._processes:
             for process in self._processes:

-- 
To view, visit https://gerrit.osmocom.org/4704
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f864bac05e39ec2fc305f774194799c3d8fe1b0
Gerrit-PatchSet: 1
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>



More information about the gerrit-log mailing list