diff options
author | Max Hohenegger | 2015-05-16 12:26:58 +0000 |
---|---|---|
committer | Max Hohenegger | 2015-05-18 12:00:34 +0000 |
commit | 4558da7a8d900efe2e2c434ef4dac1685d12eca0 (patch) | |
tree | 9ce3d2342fa446f29889f8e1bb9f34713236703c /org.eclipse.egit.gitflow.test | |
parent | d9e1cd1f26f7a636c700b18ca9a94f6b9b101d13 (diff) | |
download | egit-4558da7a8d900efe2e2c434ef4dac1685d12eca0.tar.gz egit-4558da7a8d900efe2e2c434ef4dac1685d12eca0.tar.xz egit-4558da7a8d900efe2e2c434ef4dac1685d12eca0.zip |
[gitflow] fixed unnecessary locking of resources
Bug: 348610
Change-Id: I370109d91e55719a3850cab4a7bb054fcfaa82a9
Signed-off-by: Max Hohenegger <eclipse@hohenegger.eu>
Diffstat (limited to 'org.eclipse.egit.gitflow.test')
4 files changed, 71 insertions, 8 deletions
diff --git a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java index 62a8fab98e..5380c936b6 100644 --- a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java +++ b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/GitFlowRepositoryTest.java @@ -14,10 +14,14 @@ import static org.eclipse.egit.gitflow.GitFlowDefaults.HOTFIX_PREFIX; import static org.eclipse.egit.gitflow.GitFlowDefaults.RELEASE_PREFIX; import static org.eclipse.egit.gitflow.GitFlowDefaults.VERSION_TAG; import static org.eclipse.jgit.lib.Constants.R_HEADS; +import static org.eclipse.jgit.lib.Constants.DOT_GIT; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; +import java.io.File; + +import org.eclipse.egit.core.test.TestRepository; import org.eclipse.egit.gitflow.op.AbstractDualRepositoryTestCase; import org.eclipse.egit.gitflow.op.FeatureStartOperation; import org.eclipse.egit.gitflow.op.HotfixStartOperation; @@ -29,6 +33,15 @@ import org.eclipse.jgit.lib.Repository; import org.junit.Test; public class GitFlowRepositoryTest extends AbstractDualRepositoryTestCase { + @Test(expected = WrongGitFlowStateException.class) + public void testFindHeadFailOnEmptyRepository() throws Exception { + File workdir3 = testUtils.createTempDir("Repository3"); + TestRepository repository3 = new TestRepository(new File(workdir3, DOT_GIT)); + GitFlowRepository gfRepo = new GitFlowRepository(repository3.getRepository()); + + gfRepo.findHead(); + } + @Test public void testIsMaster() throws Exception { repository1.createInitialCommit("testIsMaster\n\nfirst commit\n"); diff --git a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureStartOperationTest.java b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureStartOperationTest.java index 55771a7118..1fd6aa03f5 100644 --- a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureStartOperationTest.java +++ b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/FeatureStartOperationTest.java @@ -8,7 +8,7 @@ *******************************************************************************/ package org.eclipse.egit.gitflow.op; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.*; import org.eclipse.core.runtime.CoreException; import org.eclipse.egit.core.op.BranchOperation; @@ -22,7 +22,9 @@ public class FeatureStartOperationTest extends AbstractFeatureOperationTest { Repository repository = testRepository.getRepository(); GitFlowRepository gfRepo = init("testFeatureStart\n\nfirst commit\n"); - new FeatureStartOperation(gfRepo, MY_FEATURE).execute(null); + FeatureStartOperation featureStartOperation = new FeatureStartOperation(gfRepo, MY_FEATURE); + assertNull(featureStartOperation.getSchedulingRule()); + featureStartOperation.execute(null); assertEquals(gfRepo.getConfig().getFullFeatureBranchName(MY_FEATURE), repository.getFullBranch()); diff --git a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/HotfixStartOperationTest.java b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/HotfixStartOperationTest.java index 77ea7da9ec..a46799b3a3 100644 --- a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/HotfixStartOperationTest.java +++ b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/HotfixStartOperationTest.java @@ -9,6 +9,7 @@ package org.eclipse.egit.gitflow.op; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import org.eclipse.egit.gitflow.GitFlowRepository; import org.eclipse.jgit.lib.Repository; @@ -23,7 +24,9 @@ public class HotfixStartOperationTest extends AbstractGitFlowOperationTest { new InitOperation(repository).execute(null); GitFlowRepository gfRepo = new GitFlowRepository(repository); - new HotfixStartOperation(gfRepo, MY_HOTFIX).execute(null); + HotfixStartOperation hotfixStartOperation = new HotfixStartOperation(gfRepo, MY_HOTFIX); + assertNull(hotfixStartOperation.getSchedulingRule()); + hotfixStartOperation.execute(null); assertEquals(gfRepo.getConfig().getFullHotfixBranchName(MY_HOTFIX), repository.getFullBranch()); diff --git a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/ReleaseStartOperationTest.java b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/ReleaseStartOperationTest.java index 53f9a0f2e2..2fc3724621 100644 --- a/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/ReleaseStartOperationTest.java +++ b/org.eclipse.egit.gitflow.test/src/org/eclipse/egit/gitflow/op/ReleaseStartOperationTest.java @@ -8,8 +8,7 @@ *******************************************************************************/ package org.eclipse.egit.gitflow.op; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; import org.eclipse.core.runtime.CoreException; import org.eclipse.egit.core.op.TagOperation; @@ -23,19 +22,65 @@ public class ReleaseStartOperationTest extends AbstractGitFlowOperationTest { @Test public void testReleaseBranchCreated() throws Exception { testRepository - .createInitialCommit("testReleaseStart\n\nfirst commit\n"); + .createInitialCommit("testReleaseBranchCreated\n\nfirst commit\n"); Repository repository = testRepository.getRepository(); new InitOperation(repository).execute(null); GitFlowRepository gfRepo = new GitFlowRepository(repository); - new ReleaseStartOperation(gfRepo, MY_RELEASE).execute(null); + ReleaseStartOperation releaseStartOperation = new ReleaseStartOperation( + gfRepo, MY_RELEASE); + releaseStartOperation.execute(null); + + assertNull(releaseStartOperation.getSchedulingRule()); + + assertEquals(gfRepo.getConfig().getFullReleaseBranchName(MY_RELEASE), + repository.getFullBranch()); + } + + @Test + public void testReleaseBranchCreatedFromHeadCommit() throws Exception { + RevCommit initialCommit = testRepository + .createInitialCommit("testReleaseBranchCreatedFromHeadCommit\n\nfirst commit\n"); + + Repository repository = testRepository.getRepository(); + new InitOperation(repository).execute(null); + GitFlowRepository gfRepo = new GitFlowRepository(repository); + + ReleaseStartOperation releaseStartOperation = new ReleaseStartOperation( + gfRepo, initialCommit.getName(), MY_RELEASE); + releaseStartOperation.execute(null); + + assertNull(releaseStartOperation.getSchedulingRule()); assertEquals(gfRepo.getConfig().getFullReleaseBranchName(MY_RELEASE), repository.getFullBranch()); } @Test + public void testReleaseBranchCreatedFromCommit() throws Exception { + RevCommit initialCommit = testRepository + .createInitialCommit("testReleaseBranchCreatedFromCommit\n\nfirst commit\n"); + testRepository + .createInitialCommit("testReleaseBranchCreatedFromCommit\n\nsecond commit\n"); + + Repository repository = testRepository.getRepository(); + new InitOperation(repository).execute(null); + GitFlowRepository gfRepo = new GitFlowRepository(repository); + + ReleaseStartOperation releaseStartOperation = new ReleaseStartOperation( + gfRepo, initialCommit.getName(), MY_RELEASE); + releaseStartOperation.execute(null); + + assertNotNull(releaseStartOperation.getSchedulingRule()); + + assertEquals(gfRepo.getConfig().getFullReleaseBranchName(MY_RELEASE), + repository.getFullBranch()); + + assertEquals(initialCommit, gfRepo.findHead()); + } + + @Test public void testReleaseStartWithContent() throws Exception { testRepository .createInitialCommit("testReleaseStartWithContent\n\nfirst commit\n"); |