VPP-1508 python3 tests: python3 repr.

Use six.reprlib.  Uses repr for python 2 and reprlib for python 3.

Change-Id: Ia343a492d533bd511ed57166381e10a37e452d36
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This commit is contained in:
Paul Vinciguerra
2018-11-25 12:47:04 -08:00
parent 61e63bf4e1
commit 00671cf9cf
5 changed files with 34 additions and 20 deletions

View File

@ -1,10 +1,13 @@
#!/usr/bin/env python
import inspect
import os
import unittest
import inspect
from multiprocessing import Process, Pipe
from pickle import dumps, PicklingError
from pickle import dumps
import six
from framework import VppTestCase
@ -99,7 +102,7 @@ class RemoteClass(Process):
self._pipe = Pipe() # pipe for input/output arguments
def __repr__(self):
return repr(RemoteClassAttr(self, None))
return six.reprlib(RemoteClassAttr(self, None))
def __str__(self):
return str(RemoteClassAttr(self, None))
@ -191,7 +194,7 @@ class RemoteClass(Process):
def _get_local_repr(self, path):
try:
obj = self._get_local_object(path)
return repr(obj)
return six.reprlib(obj)
except AttributeError:
return None

View File

@ -2,26 +2,30 @@
""" BFD tests """
from __future__ import division
import unittest
import hashlib
import binascii
import hashlib
import time
from struct import pack, unpack
import unittest
from random import randint, shuffle, getrandbits
from socket import AF_INET, AF_INET6, inet_ntop
from scapy.packet import Raw
from scapy.layers.l2 import Ether
from struct import pack, unpack
import six
from scapy.layers.inet import UDP, IP
from scapy.layers.inet6 import IPv6
from scapy.layers.l2 import Ether
from scapy.packet import Raw
from bfd import VppBFDAuthKey, BFD, BFDAuthType, VppBFDUDPSession, \
BFDDiagCode, BFDState, BFD_vpp_echo
from framework import VppTestCase, VppTestRunner, running_extended_tests
from vpp_pg_interface import CaptureTimeoutError, is_ipv6_misc
from vpp_lo_interface import VppLoInterface
from util import ppp
from vpp_papi_provider import UnexpectedApiReturnValueError
from vpp_ip import DpoProto
from vpp_ip_route import VppIpRoute, VppRoutePath
from vpp_lo_interface import VppLoInterface
from vpp_papi_provider import UnexpectedApiReturnValueError
from vpp_pg_interface import CaptureTimeoutError, is_ipv6_misc
USEC_IN_SEC = 1000000
@ -602,7 +606,7 @@ def verify_udp(test, packet):
def verify_event(test, event, expected_state):
""" Verify correctness of event values. """
e = event
test.logger.debug("BFD: Event: %s" % repr(e))
test.logger.debug("BFD: Event: %s" % six.reprlib(e))
test.assert_equal(e.sw_if_index,
test.vpp_session.interface.sw_if_index,
"BFD interface index")

View File

@ -1,5 +1,7 @@
from abc import abstractmethod, ABCMeta
import socket
from abc import abstractmethod, ABCMeta
import six
from util import Host, mk_ll_addr, mactobinary
@ -238,7 +240,7 @@ class VppInterface(object):
raise Exception(
"Could not find interface with sw_if_index %d "
"in interface dump %s" %
(self.sw_if_index, repr(r)))
(self.sw_if_index, six.reprlib(r)))
self._local_ip6_ll = mk_ll_addr(self.local_mac)
self._local_ip6n_ll = socket.inet_pton(socket.AF_INET6,
self.local_ip6_ll)

View File

@ -2,6 +2,8 @@
from abc import ABCMeta, abstractmethod
import six
class VppObject(object):
""" Abstract vpp object """
@ -81,6 +83,6 @@ class VppObjectRegistry(object):
if failed:
logger.error("REG: Couldn't remove configuration for object(s):")
for obj in failed:
logger.error(repr(obj))
logger.error(six.reprlib(obj))
raise Exception("Couldn't remove configuration for object(s): %s" %
(", ".join(str(x) for x in failed)))

View File

@ -1,9 +1,12 @@
import os
import fnmatch
import os
import time
from hook import Hook
from collections import deque
import six
from hook import Hook
# Sphinx creates auto-generated documentation by importing the python source
# files and collecting the docstrings from them. The NO_VPP_PAPI flag allows
# the vpp_papi_provider.py file to be importable without having to build
@ -184,14 +187,14 @@ class VppPapiProvider(object):
if hasattr(reply, 'retval') and reply.retval >= 0:
msg = "API call passed unexpectedly: expected negative "\
"return value instead of %d in %s" % \
(reply.retval, repr(reply))
(reply.retval, six.reprlib(reply))
self.test_class.logger.info(msg)
raise UnexpectedApiReturnValueError(msg)
elif self._expect_api_retval == self._zero:
if hasattr(reply, 'retval') and reply.retval != expected_retval:
msg = "API call failed, expected %d return value instead "\
"of %d in %s" % (expected_retval, reply.retval,
repr(reply))
six.reprlib(reply))
self.test_class.logger.info(msg)
raise UnexpectedApiReturnValueError(msg)
else: