[PATCH 5/6] vty: Remove duplicated 'exit' and 'end' commands

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/OpenBSC@lists.osmocom.org/.

Jacob Erlbeck jerlbeck at sysmocom.de
Fri Aug 30 16:34:02 UTC 2013


Since 'exit' and 'end' are added automatically to each node, the
explicit registrations of these commands are removed by this patch.

The related test succeed now without work-arounds (except for the
'config' node itself which is part of libosmocore).
---
 openbsc/src/gprs/gb_proxy_vty.c           |    2 --
 openbsc/src/gprs/sgsn_vty.c               |    2 --
 openbsc/src/libbsc/abis_nm_vty.c          |    1 -
 openbsc/src/libbsc/abis_om2000_vty.c      |    1 -
 openbsc/src/libbsc/bsc_vty.c              |    8 --------
 openbsc/src/libmgcp/mgcp_vty.c            |    4 ----
 openbsc/src/libmsc/vty_interface_layer3.c |    2 --
 openbsc/src/osmo-bsc_nat/bsc_nat_vty.c    |    6 ------
 openbsc/tests/vty_test_runner.py          |   15 ++++++---------
 9 files changed, 6 insertions(+), 35 deletions(-)

diff --git a/openbsc/src/gprs/gb_proxy_vty.c b/openbsc/src/gprs/gb_proxy_vty.c
index ccbeead..63546d3 100644
--- a/openbsc/src/gprs/gb_proxy_vty.c
+++ b/openbsc/src/gprs/gb_proxy_vty.c
@@ -83,8 +83,6 @@ int gbproxy_vty_init(void)
 	install_element(CONFIG_NODE, &cfg_gbproxy_cmd);
 	install_node(&gbproxy_node, config_write_gbproxy);
 	bsc_install_default(GBPROXY_NODE);
-	install_element(GBPROXY_NODE, &ournode_exit_cmd);
-	install_element(GBPROXY_NODE, &ournode_end_cmd);
 	install_element(GBPROXY_NODE, &cfg_nsip_sgsn_nsei_cmd);
 
 	return 0;
diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c
index 1acaae7..8106b7d 100644
--- a/openbsc/src/gprs/sgsn_vty.c
+++ b/openbsc/src/gprs/sgsn_vty.c
@@ -419,8 +419,6 @@ int sgsn_vty_init(void)
 	install_element(CONFIG_NODE, &cfg_sgsn_cmd);
 	install_node(&sgsn_node, config_write_sgsn);
 	bsc_install_default(SGSN_NODE);
-	install_element(SGSN_NODE, &ournode_exit_cmd);
-	install_element(SGSN_NODE, &ournode_end_cmd);
 	install_element(SGSN_NODE, &cfg_sgsn_bind_addr_cmd);
 	install_element(SGSN_NODE, &cfg_ggsn_remote_ip_cmd);
 	//install_element(SGSN_NODE, &cfg_ggsn_remote_port_cmd);
diff --git a/openbsc/src/libbsc/abis_nm_vty.c b/openbsc/src/libbsc/abis_nm_vty.c
index 6ac931a..5db667d 100644
--- a/openbsc/src/libbsc/abis_nm_vty.c
+++ b/openbsc/src/libbsc/abis_nm_vty.c
@@ -184,7 +184,6 @@ int abis_nm_vty_init(void)
 	install_node(&oml_node, dummy_config_write);
 
 	bsc_install_default(OML_NODE);
-	install_element(OML_NODE, &ournode_exit_cmd);
 	install_element(OML_NODE, &oml_chg_adm_state_cmd);
 	install_element(OML_NODE, &oml_opstart_cmd);
 
diff --git a/openbsc/src/libbsc/abis_om2000_vty.c b/openbsc/src/libbsc/abis_om2000_vty.c
index 57bed8a..eb8f4d5 100644
--- a/openbsc/src/libbsc/abis_om2000_vty.c
+++ b/openbsc/src/libbsc/abis_om2000_vty.c
@@ -446,7 +446,6 @@ int abis_om2k_vty_init(void)
 	install_node(&om2k_node, dummy_config_write);
 
 	bsc_install_default(OM2K_NODE);
-	install_element(OM2K_NODE, &ournode_exit_cmd);
 	install_element(OM2K_NODE, &om2k_reset_cmd);
 	install_element(OM2K_NODE, &om2k_start_cmd);
 	install_element(OM2K_NODE, &om2k_status_cmd);
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index ca6ff4c..5748945 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -3003,8 +3003,6 @@ int bsc_vty_init(const struct log_info *cat)
 	install_element(CONFIG_NODE, &cfg_net_cmd);
 	install_node(&net_node, config_write_net);
 	bsc_install_default(GSMNET_NODE);
-	install_element(GSMNET_NODE, &ournode_exit_cmd);
-	install_element(GSMNET_NODE, &ournode_end_cmd);
 	install_element(GSMNET_NODE, &cfg_net_ncc_cmd);
 	install_element(GSMNET_NODE, &cfg_net_mnc_cmd);
 	install_element(GSMNET_NODE, &cfg_net_name_short_cmd);
@@ -3041,8 +3039,6 @@ int bsc_vty_init(const struct log_info *cat)
 	install_element(GSMNET_NODE, &cfg_bts_cmd);
 	install_node(&bts_node, config_write_bts);
 	bsc_install_default(BTS_NODE);
-	install_element(BTS_NODE, &ournode_exit_cmd);
-	install_element(BTS_NODE, &ournode_end_cmd);
 	install_element(BTS_NODE, &cfg_bts_type_cmd);
 	install_element(BTS_NODE, &cfg_description_cmd);
 	install_element(BTS_NODE, &cfg_no_description_cmd);
@@ -3103,8 +3099,6 @@ int bsc_vty_init(const struct log_info *cat)
 	install_element(BTS_NODE, &cfg_trx_cmd);
 	install_node(&trx_node, dummy_config_write);
 	bsc_install_default(TRX_NODE);
-	install_element(TRX_NODE, &ournode_exit_cmd);
-	install_element(TRX_NODE, &ournode_end_cmd);
 	install_element(TRX_NODE, &cfg_trx_arfcn_cmd);
 	install_element(TRX_NODE, &cfg_description_cmd);
 	install_element(TRX_NODE, &cfg_no_description_cmd);
@@ -3117,8 +3111,6 @@ int bsc_vty_init(const struct log_info *cat)
 	install_element(TRX_NODE, &cfg_ts_cmd);
 	install_node(&ts_node, dummy_config_write);
 	bsc_install_default(TS_NODE);
-	install_element(TS_NODE, &ournode_exit_cmd);
-	install_element(TS_NODE, &ournode_end_cmd);
 	install_element(TS_NODE, &cfg_ts_pchan_cmd);
 	install_element(TS_NODE, &cfg_ts_pchan_compat_cmd);
 	install_element(TS_NODE, &cfg_ts_tsc_cmd);
diff --git a/openbsc/src/libmgcp/mgcp_vty.c b/openbsc/src/libmgcp/mgcp_vty.c
index ccb9c26..9421f4f 100644
--- a/openbsc/src/libmgcp/mgcp_vty.c
+++ b/openbsc/src/libmgcp/mgcp_vty.c
@@ -787,8 +787,6 @@ int mgcp_vty_init(void)
 	install_node(&mgcp_node, config_write_mgcp);
 
 	bsc_install_default(MGCP_NODE);
-	install_element(MGCP_NODE, &ournode_exit_cmd);
-	install_element(MGCP_NODE, &ournode_end_cmd);
 	install_element(MGCP_NODE, &cfg_mgcp_local_ip_cmd);
 	install_element(MGCP_NODE, &cfg_mgcp_bts_ip_cmd);
 	install_element(MGCP_NODE, &cfg_mgcp_bind_ip_cmd);
@@ -821,8 +819,6 @@ int mgcp_vty_init(void)
 	install_element(MGCP_NODE, &cfg_mgcp_trunk_cmd);
 	install_node(&trunk_node, config_write_trunk);
 	bsc_install_default(TRUNK_NODE);
-	install_element(TRUNK_NODE, &ournode_exit_cmd);
-	install_element(TRUNK_NODE, &ournode_end_cmd);
 	install_element(TRUNK_NODE, &cfg_trunk_payload_number_cmd);
 	install_element(TRUNK_NODE, &cfg_trunk_payload_name_cmd);
 	install_element(TRUNK_NODE, &cfg_trunk_payload_number_cmd_old);
diff --git a/openbsc/src/libmsc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
index ce06837..19c78ea 100644
--- a/openbsc/src/libmsc/vty_interface_layer3.c
+++ b/openbsc/src/libmsc/vty_interface_layer3.c
@@ -976,8 +976,6 @@ int bsc_vty_init_extra(void)
 	install_element(CONFIG_NODE, &cfg_mncc_int_cmd);
 	install_node(&mncc_int_node, config_write_mncc_int);
 	bsc_install_default(MNCC_INT_NODE);
-	install_element(MNCC_INT_NODE, &ournode_exit_cmd);
-	install_element(MNCC_INT_NODE, &ournode_end_cmd);
 	install_element(MNCC_INT_NODE, &mnccint_def_codec_f_cmd);
 	install_element(MNCC_INT_NODE, &mnccint_def_codec_h_cmd);
 
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
index 5699223..511d62a 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
@@ -1193,8 +1193,6 @@ int bsc_nat_vty_init(struct bsc_nat *nat)
 	install_element(CONFIG_NODE, &cfg_nat_cmd);
 	install_node(&nat_node, config_write_nat);
 	bsc_install_default(NAT_NODE);
-	install_element(NAT_NODE, &ournode_exit_cmd);
-	install_element(NAT_NODE, &ournode_end_cmd);
 	install_element(NAT_NODE, &cfg_nat_msc_ip_cmd);
 	install_element(NAT_NODE, &cfg_nat_msc_port_cmd);
 	install_element(NAT_NODE, &cfg_nat_auth_time_cmd);
@@ -1236,8 +1234,6 @@ int bsc_nat_vty_init(struct bsc_nat *nat)
 	install_element(NAT_NODE, &cfg_nat_no_pgroup_cmd);
 	install_node(&pgroup_node, config_write_pgroup);
 	bsc_install_default(PGROUP_NODE);
-	install_element(PGROUP_NODE, &ournode_exit_cmd);
-	install_element(PGROUP_NODE, &ournode_end_cmd);
 	install_element(PGROUP_NODE, &cfg_pgroup_lac_cmd);
 	install_element(PGROUP_NODE, &cfg_pgroup_no_lac_cmd);
 
@@ -1245,8 +1241,6 @@ int bsc_nat_vty_init(struct bsc_nat *nat)
 	install_element(NAT_NODE, &cfg_bsc_cmd);
 	install_node(&bsc_node, config_write_bsc);
 	bsc_install_default(NAT_BSC_NODE);
-	install_element(NAT_BSC_NODE, &ournode_exit_cmd);
-	install_element(NAT_BSC_NODE, &ournode_end_cmd);
 	install_element(NAT_BSC_NODE, &cfg_bsc_token_cmd);
 	install_element(NAT_BSC_NODE, &cfg_bsc_lac_cmd);
 	install_element(NAT_BSC_NODE, &cfg_bsc_no_lac_cmd);
diff --git a/openbsc/tests/vty_test_runner.py b/openbsc/tests/vty_test_runner.py
index 725eb10..7783189 100644
--- a/openbsc/tests/vty_test_runner.py
+++ b/openbsc/tests/vty_test_runner.py
@@ -83,7 +83,7 @@ class TestVTYGenericBTS(TestVTYBase):
         self.vty.enable()
         self.assertTrue(self.vty.verify("configure terminal",['']))
         self.assertEquals(self.vty.node(), 'config')
-        # self.checkForEndAndExit()
+        self.ignoredCheckForEndAndExit()
         self.assertTrue(self.vty.verify("network",['']))
         self.assertEquals(self.vty.node(), 'config-net')
         self.checkForEndAndExit()
@@ -128,10 +128,7 @@ class TestVTYNITB(TestVTYGenericBTS):
         self.assertEquals(self.vty.node(), 'config-smpp')
         self.ignoredCheckForEndAndExit()
         self.assertTrue(self.vty.verify("exit", ['']))
-        if self.notIgnoredTest():
-            self.assertEquals(self.vty.node(), 'config')
-        else:
-            self.assertTrue(self.vty.verify("configure terminal", ['']))
+        self.assertEquals(self.vty.node(), 'config')
         self.assertTrue(self.vty.verify("exit", ['']))
         self.assertTrue(self.vty.node() is None)
 
@@ -248,7 +245,7 @@ class TestVTYNAT(TestVTYGenericBTS):
         self.vty.enable()
         self.assertTrue(self.vty.verify('configure terminal', ['']))
         self.assertEquals(self.vty.node(), 'config')
-        # self.checkForEndAndExit()
+        self.ignoredCheckForEndAndExit()
         self.assertTrue(self.vty.verify('mgcp', ['']))
         self.assertEquals(self.vty.node(), 'config-mgcp')
         self.checkForEndAndExit()
@@ -408,8 +405,8 @@ if __name__ == '__main__':
     os.chdir(workdir)
     print "Running tests for specific VTY commands"
     suite = unittest.TestSuite()
-    #suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestVTYNITB))
-    #add_bsc_test(suite, workdir)
-    #add_nat_test(suite, workdir)
+    suite.addTest(unittest.TestLoader().loadTestsFromTestCase(TestVTYNITB))
+    add_bsc_test(suite, workdir)
+    add_nat_test(suite, workdir)
     res = unittest.TextTestRunner(verbosity=verbose_level).run(suite)
     sys.exit(len(res.errors) + len(res.failures))
-- 
1.7.9.5





More information about the OpenBSC mailing list