X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Futil.py;h=f6c6acd41e997a8db8c2de2fe4997e14e3bb9061;hb=16a14cdb160160573e2d1ed69a52998cc30ce34f;hp=8d7c9202a41ca11275adbe6f8ec925fe8f006977;hpb=f62ae1288a776527c7f7ba3951531fbd07bc63da;p=vpp.git diff --git a/test/util.py b/test/util.py index 8d7c9202a41..f6c6acd41e9 100644 --- a/test/util.py +++ b/test/util.py @@ -1,8 +1,43 @@ -from logging import * +import socket +import sys +from abc import abstractmethod, ABCMeta +from cStringIO import StringIO -class TestHost(object): - """ Generic test host "connected" to VPP. """ +def ppp(headline, packet): + """ Return string containing the output of scapy packet.show() call. """ + o = StringIO() + old_stdout = sys.stdout + sys.stdout = o + print(headline) + packet.show() + sys.stdout = old_stdout + return o.getvalue() + + +class NumericConstant(object): + __metaclass__ = ABCMeta + + desc_dict = {} + + @abstractmethod + def __init__(self, value): + self._value = value + + def __int__(self): + return self._value + + def __long__(self): + return self._value + + def __str__(self): + if self._value in self.desc_dict: + return self.desc_dict[self._value] + return "" + + +class Host(object): + """ Generic test host "connected" to VPPs interface. """ @property def mac(self): @@ -14,6 +49,11 @@ class TestHost(object): """ IPv4 address """ return self._ip4 + @property + def ip4n(self): + """ IPv4 address """ + return socket.inet_pton(socket.AF_INET, self._ip4) + @property def ip6(self): """ IPv6 address """