Fix earfcn deletion
* fix typo in arg index
* fix sign in error reporting
* add vty test
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index 3a699c4..85b8394 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -2802,11 +2802,11 @@
{
struct gsm_bts *bts = vty->index;
struct osmo_earfcn_si2q *e = &bts->si_common.si2quater_neigh_list;
- uint16_t arfcn = atoi(argv[1]);
+ uint16_t arfcn = atoi(argv[0]);
int r = osmo_earfcn_del(e, arfcn);
if (r < 0) {
vty_out(vty, "Unable to delete arfcn %u: %s%s", arfcn,
- strerror(r), VTY_NEWLINE);
+ strerror(-r), VTY_NEWLINE);
return CMD_WARNING;
}
diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
index 143ba5d..7f64a80 100644
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -231,6 +231,20 @@
self.assertEquals(self.vty.node(), 'config-mncc-int')
+ def testSi2Q(self):
+ self.vty.enable()
+ self.vty.command("configure terminal")
+ self.vty.command("network")
+ self.vty.command("bts 0")
+ before = self.vty.command("show running-config")
+ self.vty.command("si2quater neighbor-list add earfcn 1911 threshold 11 2")
+ self.vty.command("si2quater neighbor-list add earfcn 1924 threshold 11 3")
+ self.vty.command("si2quater neighbor-list add earfcn 2111 threshold 11")
+ self.vty.command("si2quater neighbor-list del earfcn 1911")
+ self.vty.command("si2quater neighbor-list del earfcn 1924")
+ self.vty.command("si2quater neighbor-list del earfcn 2111")
+ self.assertEquals(before, self.vty.command("show running-config"))
+
def testEnableDisablePeriodicLU(self):
self.vty.enable()
self.vty.command("configure terminal")