summaryrefslogtreecommitdiff
path: root/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/git4idea/tests/git4idea/test/GitPlatformTest.java')
-rw-r--r--plugins/git4idea/tests/git4idea/test/GitPlatformTest.java100
1 files changed, 58 insertions, 42 deletions
diff --git a/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java b/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java
index ef3f963c9c7e..c02ec553dd8f 100644
--- a/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java
+++ b/plugins/git4idea/tests/git4idea/test/GitPlatformTest.java
@@ -19,6 +19,7 @@ import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.*;
import com.intellij.openapi.vcs.changes.ChangeListManager;
import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager;
@@ -51,19 +52,19 @@ public abstract class GitPlatformTest extends UsefulTestCase {
private static final Logger LOG = Logger.getInstance(GitPlatformTest.class);
- @NotNull protected Project myProject;
- @NotNull protected VirtualFile myProjectRoot;
- @NotNull protected String myProjectPath;
- @NotNull protected GitRepositoryManager myGitRepositoryManager;
- @NotNull protected GitVcsSettings myGitSettings;
- @NotNull protected GitPlatformFacade myPlatformFacade;
- @NotNull protected Git myGit;
- @NotNull protected GitVcs myVcs;
+ protected Project myProject;
+ protected VirtualFile myProjectRoot;
+ protected String myProjectPath;
+ protected GitRepositoryManager myGitRepositoryManager;
+ protected GitVcsSettings myGitSettings;
+ protected GitPlatformFacade myPlatformFacade;
+ protected Git myGit;
+ protected GitVcs myVcs;
- @NotNull protected TestDialogManager myDialogManager;
- @NotNull protected TestVcsNotifier myVcsNotifier;
+ protected TestDialogManager myDialogManager;
+ protected TestVcsNotifier myVcsNotifier;
- @NotNull private IdeaProjectTestFixture myProjectFixture;
+ private IdeaProjectTestFixture myProjectFixture;
private String myTestStartedIndicator;
@SuppressWarnings({"JUnitTestCaseWithNonTrivialConstructors", "UnusedDeclaration"})
@@ -86,35 +87,41 @@ public abstract class GitPlatformTest extends UsefulTestCase {
throw e;
}
- myProject = myProjectFixture.getProject();
- myProjectRoot = myProject.getBaseDir();
- myProjectPath = myProjectRoot.getPath();
-
- myGitSettings = GitVcsSettings.getInstance(myProject);
- myGitSettings.getAppSettings().setPathToGit(GitExecutor.PathHolder.GIT_EXECUTABLE);
-
- myDialogManager = (TestDialogManager)ServiceManager.getService(DialogManager.class);
- myVcsNotifier = (TestVcsNotifier)ServiceManager.getService(myProject, VcsNotifier.class);
-
- myGitRepositoryManager = GitUtil.getRepositoryManager(myProject);
- myPlatformFacade = ServiceManager.getService(myProject, GitPlatformFacade.class);
- myGit = ServiceManager.getService(myProject, Git.class);
- myVcs = ObjectUtils.assertNotNull(GitVcs.getInstance(myProject));
- myVcs.doActivate();
-
- GitTestUtil.assumeSupportedGitVersion(myVcs);
- initChangeListManager();
- addSilently();
- removeSilently();
+ try {
+ myProject = myProjectFixture.getProject();
+ myProjectRoot = myProject.getBaseDir();
+ myProjectPath = myProjectRoot.getPath();
+
+ myGitSettings = GitVcsSettings.getInstance(myProject);
+ myGitSettings.getAppSettings().setPathToGit(GitExecutor.PathHolder.GIT_EXECUTABLE);
+
+ myDialogManager = (TestDialogManager)ServiceManager.getService(DialogManager.class);
+ myVcsNotifier = (TestVcsNotifier)ServiceManager.getService(myProject, VcsNotifier.class);
+
+ myGitRepositoryManager = GitUtil.getRepositoryManager(myProject);
+ myPlatformFacade = ServiceManager.getService(myProject, GitPlatformFacade.class);
+ myGit = ServiceManager.getService(myProject, Git.class);
+ myVcs = ObjectUtils.assertNotNull(GitVcs.getInstance(myProject));
+ myVcs.doActivate();
+
+ GitTestUtil.assumeSupportedGitVersion(myVcs);
+ initChangeListManager();
+ addSilently();
+ removeSilently();
+ }
+ catch (Exception e) {
+ tearDown();
+ throw e;
+ }
}
@Override
@NotNull
public String getTestName(boolean lowercaseFirstLetter) {
String name = super.getTestName(lowercaseFirstLetter);
- name = name.trim().replace(' ', '_');
- if (name.length() > 50) {
- name = name.substring(0, 50);
+ name = StringUtil.shortenTextWithEllipsis(name.trim().replace(" ", "_"), 12, 6, "_");
+ if (name.startsWith("_")) {
+ name = name.substring(1);
}
return name;
}
@@ -127,16 +134,25 @@ public abstract class GitPlatformTest extends UsefulTestCase {
@Override
protected void tearDown() throws Exception {
try {
- myDialogManager.cleanup();
- myVcsNotifier.cleanup();
- myProjectFixture.tearDown();
-
- String tempTestIndicator = myTestStartedIndicator;
- clearFields(this);
- myTestStartedIndicator = tempTestIndicator;
+ if (myDialogManager != null) {
+ myDialogManager.cleanup();
+ }
+ if (myVcsNotifier != null) {
+ myVcsNotifier.cleanup();
+ }
+ if (myProjectFixture != null) {
+ myProjectFixture.tearDown();
+ }
}
finally {
- super.tearDown();
+ try {
+ String tempTestIndicator = myTestStartedIndicator;
+ clearFields(this);
+ myTestStartedIndicator = tempTestIndicator;
+ }
+ finally {
+ super.tearDown();
+ }
}
}