summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEisukeTAKAHASHI <takahashi.eisuke@po.ntts.co.jp>2013-02-27 15:15:57 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2013-02-27 19:52:41 +0900
commit22dbaa1b86773292cccc5b6a50ad61bbaf635a65 (patch)
tree2cfacfe03e591e02b7fb6cf6efef5a2758c530bd
parent817baee386fc22c7235f8062ce2d54dcaa9d97af (diff)
lib/mac: fix raise ValueError
Traceback (most recent call last): File "/home/openflow/ryu/.venv/local/lib/python2.7/site-packages/nose/tools/nontrivial.py", line 67, in newfunc raise AssertionError(message) AssertionError: test_mac_haddr_to_bin_true() did not raise ValueError Signed-off-by: EisukeTAKAHASHI <takahashi.eisuke@po.ntts.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/lib/mac.py2
-rw-r--r--ryu/tests/unit/lib/__init__.py0
-rw-r--r--ryu/tests/unit/lib/test_mac.py96
3 files changed, 97 insertions, 1 deletions
diff --git a/ryu/lib/mac.py b/ryu/lib/mac.py
index d6c4bf1b..2c128773 100644
--- a/ryu/lib/mac.py
+++ b/ryu/lib/mac.py
@@ -46,7 +46,7 @@ def haddr_to_bin(string):
internal representation"""
hexes = string.split(':')
if len(hexes) != _HADDR_LEN:
- ValueError('Invalid format for mac address: %s' % string)
+ raise ValueError('Invalid format for mac address: %s' % string)
return ''.join(chr(int(h, 16)) for h in hexes)
diff --git a/ryu/tests/unit/lib/__init__.py b/ryu/tests/unit/lib/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/ryu/tests/unit/lib/__init__.py
diff --git a/ryu/tests/unit/lib/test_mac.py b/ryu/tests/unit/lib/test_mac.py
new file mode 100644
index 00000000..8b5e62b1
--- /dev/null
+++ b/ryu/tests/unit/lib/test_mac.py
@@ -0,0 +1,96 @@
+# Copyright (C) 2012 Nippon Telegraph and Telephone Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+import unittest
+import logging
+import struct
+import netaddr
+from struct import *
+from nose.tools import *
+from nose.plugins.skip import Skip, SkipTest
+
+from ryu.lib import mac
+
+LOG = logging.getLogger('test_mac')
+
+
+class Test_mac(unittest.TestCase):
+ """ Test case for mac
+ """
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def test_mac_is_multicast(self):
+ addr = '\x01\x23\x45\x67\x89\x0a'
+ val = True
+
+ res = mac.is_multicast(addr)
+
+ eq_(val, res)
+
+ def test_mac_haddr_to_str(self):
+ addr = 'aa:aa:aa:aa:aa:aa'
+ val = '\xaa\xaa\xaa\xaa\xaa\xaa'
+
+ res = mac.haddr_to_str(val)
+
+ eq_(addr, res)
+
+ def test_mac_haddr_to_str_none(self):
+ """ addr is None
+ """
+ addr = None
+ val = 'None'
+ res = mac.haddr_to_str(addr)
+
+ eq_(val, res)
+
+ @raises(AssertionError)
+ def test_mac_haddr_to_str_assert(self):
+ val = '\xaa\xaa\xaa\xaa\xaa'
+
+ res = mac.haddr_to_str(val)
+
+ def test_mac_haddr_to_bin_false(self):
+ """ len(hexes) = 6 (False)
+ """
+ addr = 'aa:aa:aa:aa:aa:aa'
+ val = '\xaa\xaa\xaa\xaa\xaa\xaa'
+
+ res = mac.haddr_to_bin(addr)
+
+ eq_(val, res)
+
+ @raises(ValueError)
+ def test_mac_haddr_to_bin_true(self):
+ """ len(hexes) != 6 (True)
+ """
+ addr = 'aa:aa:aa:aa:aa'
+ res = mac.haddr_to_bin(addr)
+
+ def test_mac_haddr_bitand(self):
+ addr = '\xaa\xaa\xaa\xaa\xaa\xaa'
+ mask = '\xff\xff\xff\x00\x00\x00'
+ val = '\xaa\xaa\xaa\x00\x00\x00'
+
+ res = mac.haddr_bitand(addr, mask)
+
+ eq_(val, res)