[Lldb-commits] [lldb] r246870 - Sleep-and-retry after a failure to delete a log file, which may be because antimalware is holding the handle to the just-created file.
Adrian McCarthy via lldb-commits
lldb-commits at lists.llvm.org
Fri Sep 4 13:48:48 PDT 2015
Author: amccarth
Date: Fri Sep 4 15:48:48 2015
New Revision: 246870
URL: http://llvm.org/viewvc/llvm-project?rev=246870&view=rev
Log:
Sleep-and-retry after a failure to delete a log file, which may be because antimalware is holding the handle to the just-created file.
Differential Revision: http://reviews.llvm.org/D12641
Modified:
lldb/trunk/test/lldbtest.py
Modified: lldb/trunk/test/lldbtest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=246870&r1=246869&r2=246870&view=diff
==============================================================================
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Fri Sep 4 15:48:48 2015
@@ -1791,7 +1791,17 @@ class Base(unittest2.TestCase):
else:
# success! (and we don't want log files) delete log files
for log_file in log_files_for_this_test:
- os.unlink(log_file)
+ try:
+ os.unlink(log_file)
+ except:
+ # We've seen consistent unlink failures on Windows, perhaps because the
+ # just-created log file is being scanned by anti-virus. Empirically, this
+ # sleep-and-retry approach allows tests to succeed much more reliably.
+ # Attempts to figure out exactly what process was still holding a file handle
+ # have failed because running instrumentation like Process Monitor seems to
+ # slow things down enough that the problem becomes much less consistent.
+ time.sleep(0.5)
+ os.unlink(log_file)
# ====================================================
# Config. methods supported through a plugin interface
More information about the lldb-commits
mailing list