diff options
Diffstat (limited to 'resources')
-rw-r--r-- | resources/libraries/python/VppApiCrc.py | 17 | ||||
-rw-r--r-- | resources/tools/integrated/check_crc.py | 3 |
2 files changed, 18 insertions, 2 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) diff --git a/resources/tools/integrated/check_crc.py b/resources/tools/integrated/check_crc.py index 6baa7a190d..01a557c30c 100644 --- a/resources/tools/integrated/check_crc.py +++ b/resources/tools/integrated/check_crc.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: @@ -47,6 +47,7 @@ def main(): checker = VppApiCrcChecker(api_dir) try: checker.report_initial_conflicts(report_missing=True) + checker.print_warnings() except RuntimeError as err: stderr_lines = [ f"{err!r}", |