diff options
author | EisukeTAKAHASHI <takahashi.eisuke@po.ntts.co.jp> | 2013-02-27 15:15:57 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2013-02-27 19:52:41 +0900 |
commit | 22dbaa1b86773292cccc5b6a50ad61bbaf635a65 (patch) | |
tree | 2cfacfe03e591e02b7fb6cf6efef5a2758c530bd | |
parent | 817baee386fc22c7235f8062ce2d54dcaa9d97af (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.py | 2 | ||||
-rw-r--r-- | ryu/tests/unit/lib/__init__.py | 0 | ||||
-rw-r--r-- | ryu/tests/unit/lib/test_mac.py | 96 |
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) |