Merge "Fix OVSBridge.get_port_ofport to handle empty output"

This commit is contained in:
Jenkins 2014-07-02 11:08:03 +00:00 committed by Gerrit Code Review
commit a698f88b3a
2 changed files with 11 additions and 12 deletions

View File

@ -182,7 +182,7 @@ class OVSBridge(BaseOVS):
try: try:
int(ofport) int(ofport)
return ofport return ofport
except ValueError: except (ValueError, TypeError):
return constants.INVALID_OFPORT return constants.INVALID_OFPORT
def get_datapath_id(self): def get_datapath_id(self):

View File

@ -319,23 +319,22 @@ class OVS_Lib_Test(base.BaseTestCase):
process_input=None, process_input=None,
root_helper=self.root_helper) root_helper=self.root_helper)
def test_get_port_ofport(self): def _test_get_port_ofport(self, ofport, expected_result):
pname = "tap99" pname = "tap99"
ofport = "6"
self.execute.return_value = ofport self.execute.return_value = ofport
self.assertEqual(self.br.get_port_ofport(pname), ofport) self.assertEqual(self.br.get_port_ofport(pname), expected_result)
self.execute.assert_called_once_with( self.execute.assert_called_once_with(
["ovs-vsctl", self.TO, "get", "Interface", pname, "ofport"], ["ovs-vsctl", self.TO, "get", "Interface", pname, "ofport"],
root_helper=self.root_helper) root_helper=self.root_helper)
def test_get_port_ofport_non_int(self): def test_get_port_ofport_succeeds_for_valid_ofport(self):
pname = "tap99" self._test_get_port_ofport("6", "6")
ofport = "[]"
self.execute.return_value = ofport def test_get_port_ofport_returns_invalid_ofport_for_non_int(self):
self.assertEqual(self.br.get_port_ofport(pname), const.INVALID_OFPORT) self._test_get_port_ofport("[]", const.INVALID_OFPORT)
self.execute.assert_called_once_with(
["ovs-vsctl", self.TO, "get", "Interface", pname, "ofport"], def test_get_port_ofport_returns_invalid_ofport_for_none(self):
root_helper=self.root_helper) self._test_get_port_ofport(None, const.INVALID_OFPORT)
def test_get_datapath_id(self): def test_get_datapath_id(self):
datapath_id = '"0000b67f4fbcc149"' datapath_id = '"0000b67f4fbcc149"'