Mercurial > hg > mercurial
view mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/DagFeaturesTest.java @ 312:8deb526363f5
TW-17882 report changes from the merged named branches
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Thu, 15 Sep 2011 10:06:59 +0400 |
parents | |
children | dd6f4af39b54 |
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial; import com.intellij.openapi.diagnostic.Logger; import jetbrains.buildServer.TempFiles; import jetbrains.buildServer.log.Log4jFactory; import jetbrains.buildServer.vcs.CheckoutRules; import jetbrains.buildServer.vcs.ModificationData; import jetbrains.buildServer.vcs.impl.VcsRootImpl; import org.jmock.Mockery; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.io.File; import java.util.List; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; /** * @author dmitry.neverov */ @Test public class DagFeaturesTest { static { Logger.setFactory(new Log4jFactory()); } private TempFiles myTempFiles = new TempFiles(); private MercurialVcsSupport myHg; private String myRepository; @BeforeMethod public void setUp() throws Exception { ServerPluginConfig config = new ServerPluginConfigBuilder() .cachesDir(myTempFiles.createTempDir()) .pluginDataDir(myTempFiles.createTempDir()) .build(); myHg = Util.createMercurialServerSupport(new Mockery(), config); File original = new File("mercurial-tests/testData/rep2"); File copy = new File(myTempFiles.createTempDir(), "rep2"); LocalRepositoryUtil.copyRepository(original, copy); myRepository = copy.getAbsolutePath(); } public void tearDown() { myTempFiles.cleanup(); } //TW-17882 public void should_detect_changes_from_named_branches() throws Exception { VcsRootImpl root = new VcsRootBuilder().repository(myRepository).hgPath("/home/nd/sandbox/3rdparty/mercurial/hg").build(); List<ModificationData> changes = myHg.collectChanges(root, "8:b6e2d176fe8e", "12:1e620196c4b6", CheckoutRules.DEFAULT); assertEquals(4, changes.size()); for (ModificationData change : changes) { assertFalse(change.getParentRevisions().isEmpty()); } changes = myHg.collectChanges(root, "12:1e620196c4b6", "18:df04faa7575a", CheckoutRules.DEFAULT); assertEquals(6, changes.size()); for (ModificationData change : changes) { assertFalse(change.getParentRevisions().isEmpty()); } } //TW-17882 public void should_report_changes_only_from_merged_named_branches() throws Exception { VcsRootImpl root = new VcsRootBuilder().repository(myRepository).hgPath("/home/nd/sandbox/3rdparty/mercurial/hg").build(); List<ModificationData> changes = myHg.collectChanges(root, "1e620196c4b6", "505c5b9d01e6", CheckoutRules.DEFAULT); assertEquals(2, changes.size()); } }