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 <[email protected]>
---
 ryu/lib/mac.py                 |    2 +-
 ryu/tests/unit/lib/test_mac.py |   96 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 97 insertions(+), 1 deletion(-)
 create mode 100644 ryu/tests/unit/lib/__init__.py
 create mode 100644 ryu/tests/unit/lib/test_mac.py

diff --git a/ryu/lib/mac.py b/ryu/lib/mac.py
index d6c4bf1..2c12877 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 0000000..e69de29
diff --git a/ryu/tests/unit/lib/test_mac.py b/ryu/tests/unit/lib/test_mac.py
new file mode 100644
index 0000000..8b5e62b
--- /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)
-- 
1.7.9.5



------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to