aboutsummaryrefslogtreecommitdiffstats
path: root/test/hook.py
diff options
context:
space:
mode:
authorKlement Sekera <klement.sekera@gmail.com>2022-04-26 19:02:15 +0200
committerOle Tr�an <otroan@employees.org>2022-05-10 18:52:08 +0000
commitd9b0c6fbf7aa5bd9af84264105b39c82028a4a29 (patch)
tree4f786cfd8ebc2443cb11e11b74c8657204068898 /test/hook.py
parentf90348bcb4afd0af2611cefc43b17ef3042b511c (diff)
tests: replace pycodestyle with black
Drop pycodestyle for code style checking in favor of black. Black is much faster, stable PEP8 compliant code style checker offering also automatic formatting. It aims to be very stable and produce smallest diffs. It's used by many small and big projects. Running checkstyle with black takes a few seconds with a terse output. Thus, test-checkstyle-diff is no longer necessary. Expand scope of checkstyle to all python files in the repo, replacing test-checkstyle with checkstyle-python. Also, fixstyle-python is now available for automatic style formatting. Note: python virtualenv has been consolidated in test/Makefile, test/requirements*.txt which will eventually be moved to a central location. This is required to simply the automated generation of docker executor images in the CI. Type: improvement Change-Id: I022a326603485f58585e879ac0f697fceefbc9c8 Signed-off-by: Klement Sekera <klement.sekera@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'test/hook.py')
-rw-r--r--test/hook.py66
1 files changed, 37 insertions, 29 deletions
diff --git a/test/hook.py b/test/hook.py
index 8033c9355cb..3429bdad1fe 100644
--- a/test/hook.py
+++ b/test/hook.py
@@ -33,19 +33,20 @@ class Hook:
if not isinstance(val, str):
return val
if len(val) == 6:
- return '{!s} ({!s})'.format(val, ':'.join(['{:02x}'.format(
- scapy.compat.orb(x)) for x in val]))
+ return "{!s} ({!s})".format(
+ val, ":".join(["{:02x}".format(scapy.compat.orb(x)) for x in val])
+ )
try:
# we don't call test_type(val) because it is a packed value.
- return '{!s} ({!s})'.format(val, str(
- ipaddress.ip_address(val)))
+ return "{!s} ({!s})".format(val, str(ipaddress.ip_address(val)))
except ValueError:
return val
- _args = ', '.join("{!s}={!r}".format(key, _friendly_format(val)) for
- (key, val) in api_args.items())
- self.logger.debug("API: %s (%s)" %
- (api_name, _args), extra={'color': RED})
+ _args = ", ".join(
+ "{!s}={!r}".format(key, _friendly_format(val))
+ for (key, val) in api_args.items()
+ )
+ self.logger.debug("API: %s (%s)" % (api_name, _args), extra={"color": RED})
def after_api(self, api_name, api_args):
"""
@@ -63,7 +64,7 @@ class Hook:
@param cli: CLI string
"""
- self.logger.debug("CLI: %s" % (cli), extra={'color': RED})
+ self.logger.debug("CLI: %s" % (cli), extra={"color": RED})
def after_cli(self, cli):
"""
@@ -73,14 +74,15 @@ class Hook:
class PollHook(Hook):
- """ Hook which checks if the vpp subprocess is alive """
+ """Hook which checks if the vpp subprocess is alive"""
def __init__(self, test):
super(PollHook, self).__init__(test)
def on_crash(self, core_path):
- self.logger.error("Core file present, debug with: gdb %s %s",
- config.vpp, core_path)
+ self.logger.error(
+ "Core file present, debug with: gdb %s %s", config.vpp, core_path
+ )
check_core_path(self.logger, core_path)
self.logger.error("Running `file %s':", core_path)
try:
@@ -90,17 +92,24 @@ class PollHook(Hook):
self.logger.error(
"Subprocess returned with error running `file' utility on "
"core-file, "
- "rc=%s", e.returncode)
+ "rc=%s",
+ e.returncode,
+ )
except OSError as e:
self.logger.error(
"Subprocess returned OS error running `file' utility on "
"core-file, "
- "oserror=(%s) %s", e.errno, e.strerror)
+ "oserror=(%s) %s",
+ e.errno,
+ e.strerror,
+ )
except Exception as e:
self.logger.error(
"Subprocess returned unanticipated error running `file' "
"utility on core-file, "
- "%s", e)
+ "%s",
+ e,
+ )
def poll_vpp(self):
"""
@@ -144,7 +153,7 @@ class PollHook(Hook):
class StepHook(PollHook):
- """ Hook which requires user to press ENTER before doing any API/CLI """
+ """Hook which requires user to press ENTER before doing any API/CLI"""
def __init__(self, test):
self.skip_stack = None
@@ -183,19 +192,18 @@ class StepHook(PollHook):
self.skip_count += 1
return True
else:
- print("%d API/CLI calls skipped in specified stack "
- "frame" % self.skip_count)
+ print("%d API/CLI calls skipped in specified stack frame" % self.skip_count)
self.skip_count = 0
self.skip_stack = None
self.skip_num = None
return False
def user_input(self):
- print('number\tfunction\tfile\tcode')
+ print("number\tfunction\tfile\tcode")
counter = 0
stack = traceback.extract_stack()
for e in stack:
- print('%02d.\t%s\t%s:%d\t[%s]' % (counter, e[2], e[0], e[1], e[3]))
+ print("%02d.\t%s\t%s:%d\t[%s]" % (counter, e[2], e[0], e[1], e[3]))
counter += 1
print(single_line_delim)
print("You may enter a number of stack frame chosen from above")
@@ -203,9 +211,11 @@ class StepHook(PollHook):
print("Alternatively, enter a test function name to stop at")
print(single_line_delim)
while True:
- print("Enter your choice, if any, and press ENTER to continue "
- "running the testcase...")
- choice = sys.stdin.readline().rstrip('\r\n')
+ print(
+ "Enter your choice, if any, and press ENTER to continue "
+ "running the testcase..."
+ )
+ choice = sys.stdin.readline().rstrip("\r\n")
if choice == "":
choice = None
try:
@@ -229,7 +239,7 @@ class StepHook(PollHook):
self.skip_num = num
def before_cli(self, cli):
- """ Wait for ENTER before executing CLI """
+ """Wait for ENTER before executing CLI"""
if self.skip():
print("Skip pause before executing CLI: %s" % cli)
else:
@@ -240,14 +250,12 @@ class StepHook(PollHook):
super(StepHook, self).before_cli(cli)
def before_api(self, api_name, api_args):
- """ Wait for ENTER before executing API """
+ """Wait for ENTER before executing API"""
if self.skip():
- print("Skip pause before executing API: %s (%s)"
- % (api_name, api_args))
+ print("Skip pause before executing API: %s (%s)" % (api_name, api_args))
else:
print(double_line_delim)
- print("Test paused before executing API: %s (%s)"
- % (api_name, api_args))
+ print("Test paused before executing API: %s (%s)" % (api_name, api_args))
print(single_line_delim)
self.user_input()
super(StepHook, self).before_api(api_name, api_args)