aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/VppApiCrc.py
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2023-07-17 12:47:30 +0200
committerVratko Polak <vrpolak@cisco.com>2023-07-17 12:47:30 +0200
commitc1ddda9b19f448c6c38ad3705f50b6fffe9cb80e (patch)
treee711085e39c9a9efec69983f682254078772f32a /resources/libraries/python/VppApiCrc.py
parent43bdc7469309d4860bb515056b38714e3a6e6b04 (diff)
feat(crc): print warnings in crc checker script
Robot already prints warnings when running tests, but not many people are looking at robot console output. This makes the warnings visible also in VPP API CRC job console log. Change-Id: I9044a2970f46e132ec80ae0faa2e0adacc889447 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'resources/libraries/python/VppApiCrc.py')
-rw-r--r--resources/libraries/python/VppApiCrc.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/resources/libraries/python/VppApiCrc.py b/resources/libraries/python/VppApiCrc.py
index 0cb8c2b7e7..761059f43e 100644
--- a/resources/libraries/python/VppApiCrc.py
+++ b/resources/libraries/python/VppApiCrc.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2023 Cisco and/or its affiliates.
# 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:
@@ -380,3 +380,18 @@ class VppApiCrcChecker:
if options:
self._reported[api_name] = crc
logger.console(f"{api_name} used but has options {options}")
+
+ def print_warnings(self):
+ """Call check_api_name for every API name in surviving collections.
+
+ Useful for VPP CRC checking job.
+
+ Even though there usually is only one surviving collection,
+ the implementation has to be prepared for multiple collections,
+ and it should de-duplicate api names.
+ """
+ api_name_to_crc_maps = self._expected.values()
+ api_name_sets = [set(n2c.keys()) for n2c in api_name_to_crc_maps]
+ api_names = set().union(*api_name_sets)
+ for api_name in sorted(api_names):
+ self.check_api_name(api_name)