enableInspections — require Disposable
authorVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Wed, 13 Jul 2016 08:09:27 +0000 (10:09 +0200)
committerVladimir Krivosheev <vladimir.krivosheev@jetbrains.com>
Wed, 13 Jul 2016 08:09:27 +0000 (10:09 +0200)
platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java
python/testSrc/com/jetbrains/python/fixtures/PyTestCase.java

index 893bb90e3a46df393ab9de7b94e707ce4ad306d8..4697d3876af9c58530a7b49d9dd84d8bb9d474fb 100644 (file)
@@ -379,7 +379,7 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
     enableInspectionTool(getProject(), InspectionToolRegistrar.wrapTool(tool), myTestRootDisposable);
   }
 
-  public static void enableInspectionTool(@NotNull Project project, @NotNull InspectionToolWrapper toolWrapper, @Nullable Disposable disposable) {
+  public static void enableInspectionTool(@NotNull Project project, @NotNull InspectionToolWrapper toolWrapper, @NotNull Disposable disposable) {
     InspectionProfileImpl profile = (InspectionProfileImpl)InspectionProjectProfileManager.getInstance(project).getCurrentProfile();
     final String shortName = toolWrapper.getShortName();
     final HighlightDisplayKey key = HighlightDisplayKey.find(shortName);
index fc80f8cbfbf5a37eed42e20d8296ad10522626f8..c5a7571e2002f5a3bfd61c44d9f778660fdb38cd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2000-2013 JetBrains s.r.o.
+ * Copyright 2000-2016 JetBrains s.r.o.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -143,13 +143,16 @@ public abstract class PyTestCase extends UsefulTestCase {
 
   @Override
   protected void tearDown() throws Exception {
-    setLanguageLevel(null);
-    myFixture.tearDown();
-    myFixture = null;
-    final PythonLanguageLevelPusher levelPusher = Extensions.findExtension(FilePropertyPusher.EP_NAME, PythonLanguageLevelPusher.class);
-    levelPusher.flushLanguageLevelCache();
-    super.tearDown();
-    clearFields(this);
+    try {
+      setLanguageLevel(null);
+      myFixture.tearDown();
+      myFixture = null;
+      Extensions.findExtension(FilePropertyPusher.EP_NAME, PythonLanguageLevelPusher.class).flushLanguageLevelCache();
+    }
+    finally {
+      super.tearDown();
+      clearFields(this);
+    }
   }
 
   @Nullable