Signed-off-by: IWASE Yusuke <iwase.yusu...@gmail.com> --- ryu/tests/unit/lib/test_ofctl.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/ryu/tests/unit/lib/test_ofctl.py b/ryu/tests/unit/lib/test_ofctl.py index 0c09464..a1af4bf 100644 --- a/ryu/tests/unit/lib/test_ofctl.py +++ b/ryu/tests/unit/lib/test_ofctl.py @@ -62,8 +62,8 @@ def _to_match_ip(value): return value, None -def _to_match_metadata(value): - if '/' in value: +def _to_match_masked_int(value): + if isinstance(value, str) and '/' in value: value = value.split('/') return _str_to_int(value[0]), _str_to_int(value[1]) else: @@ -270,17 +270,17 @@ class Test_ofctl(unittest.TestCase): elif key == 'vlan_vid': eq_(expected_value['vlan_vid'][value]['to_match'], field_value) return - elif key == 'metadata': - # Metadata - meta, mask = _to_match_metadata(value) + elif key == 'metadata' or key == 'ipv6_exthdr': + # Metadata or IPv6 Extension Header pseudo-field + value, mask = _to_match_masked_int(value) if mask is not None: # with mask - meta &= mask - eq_(meta, field_value[0]) + value &= mask + eq_(value, field_value[0]) eq_(mask, field_value[1]) else: # without mask - eq_(meta, field_value) + eq_(value, field_value) return else: eq_(value, field_value) @@ -348,18 +348,18 @@ class Test_ofctl(unittest.TestCase): elif key == 'dl_vlan': eq_(expected_value['vlan_vid'][value]['to_str'], field_value) return - elif key == 'metadata': - # Metadata - meta, mask = _to_match_metadata(value) + elif key == 'metadata' or key == 'ipv6_exthdr': + # Metadata or IPv6 Extension Header pseudo-field + value, mask = _to_match_masked_int(value) if mask is not None: # with mask field_value = field_value.split('/') - meta &= mask - eq_(str(meta), field_value[0]) + value &= mask + eq_(str(value), field_value[0]) eq_(str(mask), field_value[1]) else: # without mask - eq_(str(meta), field_value) + eq_(str(value), field_value) return else: eq_(value, field_value) @@ -617,6 +617,8 @@ class test_data_v1_3(test_data_v1_2): {'pbb_isid': 5, 'eth_type': 0x88E7}, {'tunnel_id': 7}, {'ipv6_exthdr': 3, 'eth_type': 0x86dd}, + {'ipv6_exthdr': "0x40", 'eth_type': 0x86dd}, + {'ipv6_exthdr': "0x40/0x1F0", 'eth_type': 0x86dd}, ] ) -- 1.9.1 ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Ryu-devel mailing list Ryu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ryu-devel