diff --git a/share/analysis-scripts/list_files.py b/share/analysis-scripts/list_files.py index 37e5a8bc7ffba6a2ebac8897df3aed5efa6dd32b..20727d9d98f51f5361c06c4f0bf5b38a3cc2754b 100755 --- a/share/analysis-scripts/list_files.py +++ b/share/analysis-scripts/list_files.py @@ -80,13 +80,17 @@ print("") files_defining_main = set() re_main = re.compile(r"(int|void)\s+main\s*\([^)]*\)\s*\{") -for fname, file_for_fcmake in files: - assert os.path.exists(fname), "file does not exist: %s" % fname - with open(fname, "r") as content_file: - content = content_file.read() - res = re.search(re_main, content) - if res is not None: - files_defining_main.add(file_for_fcmake) +for fname, file_for_fcmake in sorted(files): + try: + with open(fname, "r") as content_file: + content = content_file.read() + res = re.search(re_main, content) + if res is not None: + files_defining_main.add(file_for_fcmake) + except OSError: + print( + f"warning: could not read file '{fname}', mentioned in '{arg}'. Skipping check of 'main' function." + ) if files_defining_main != []: print("")