From 4b752f21572ebd1989a4405f26a19c6916a3c772 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 12 Apr 2011 14:29:01 +0400 Subject: [PATCH] more robust tests --- .../codeInsight/daemon/impl/FileStatusMap.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/FileStatusMap.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/FileStatusMap.java index 2c5afda29564..f6f9725ec160 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/FileStatusMap.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/FileStatusMap.java @@ -150,13 +150,22 @@ public class FileStatusMap implements Disposable { } public void markAllFilesDirty() { - assert myAllowDirt; + assertAllowModifications(); LOG.debug("********************************* Mark all dirty"); synchronized (myDocumentToStatusMap) { myDocumentToStatusMap.clear(); } } + private void assertAllowModifications() { + try { + assert myAllowDirt; + } + finally { + myAllowDirt = true; //give next test a chance + } + } + public void markFileUpToDate(@NotNull Document document, @NotNull PsiFile file, int passId) { synchronized(myDocumentToStatusMap){ FileStatus status = myDocumentToStatusMap.get(document); @@ -204,7 +213,7 @@ public class FileStatusMap implements Disposable { } public void markFileScopeDirty(@NotNull Document document, int passId) { - assert myAllowDirt; + assertAllowModifications(); synchronized(myDocumentToStatusMap){ FileStatus status = myDocumentToStatusMap.get(document); if (status == null){ @@ -226,7 +235,7 @@ public class FileStatusMap implements Disposable { } public void markFileScopeDirtyDefensively(@NotNull PsiFile file) { - assert myAllowDirt; + assertAllowModifications(); if (LOG.isDebugEnabled()) { LOG.debug("********************************* Mark dirty file defensively: "+file.getName()); } @@ -242,7 +251,7 @@ public class FileStatusMap implements Disposable { } public void markFileScopeDirty(@NotNull Document document, @NotNull TextRange scope, int fileLength) { - assert myAllowDirt; + assertAllowModifications(); if (LOG.isDebugEnabled()) { LOG.debug("********************************* Mark dirty: "+scope); }