Author: Artem Dergachev Date: 2020-05-13T14:13:00+03:00 New Revision: 8cbd3f431a919e3398683bb5b72fdd781798bcc8
URL: https://github.com/llvm/llvm-project/commit/8cbd3f431a919e3398683bb5b72fdd781798bcc8 DIFF: https://github.com/llvm/llvm-project/commit/8cbd3f431a919e3398683bb5b72fdd781798bcc8.diff LOG: [analyzer] SATestBuild.py: Be defensive against corrupt plist files. Added: Modified: clang/utils/analyzer/SATestBuild.py Removed: ################################################################################ diff --git a/clang/utils/analyzer/SATestBuild.py b/clang/utils/analyzer/SATestBuild.py index 347f1e2dd5e0..42b2658f5303 100755 --- a/clang/utils/analyzer/SATestBuild.py +++ b/clang/utils/analyzer/SATestBuild.py @@ -58,6 +58,7 @@ import sys import threading import time +from xml.parsers.expat import ExpatError try: import queue except ImportError: @@ -485,10 +486,14 @@ def CleanUpEmptyPlists(SBOutputDir): for F in glob.glob(SBOutputDir + "/*/*.plist"): P = os.path.join(SBOutputDir, F) - Data = plistlib.readPlist(P) - # Delete empty reports. - if not Data['files']: - os.remove(P) + try: + Data = plistlib.readPlist(P) + # Delete empty reports. + if not Data['files']: + os.remove(P) + continue + except ExpatError as e: + print('Error parsing plist file %s: %s' % (P, str(e))) continue _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits