# HG changeset patch # User eugene.petrenko@jetbrains.com # Date 1390486570 -3600 # Node ID 1e4021519ff3bc1c304dfdb14b69e6f84867d26a # Parent 73364919b7cc917bb025780978f4b5cd96609f12 fix subrepo infos parsing in CommitsInfoBuilder + test diff -r 73364919b7cc -r 1e4021519ff3 mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgSubs.java --- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgSubs.java Wed Jan 22 14:00:16 2014 +0100 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/HgSubs.java Thu Jan 23 15:16:10 2014 +0100 @@ -61,7 +61,7 @@ return readSubrepositories( readHgsub(Arrays.asList(StringUtil.splitByLines(hgsubText))), - readHgsub(Arrays.asList(StringUtil.splitByLines(hgsubstateText))) + readHgsubstate(Arrays.asList(StringUtil.splitByLines(hgsubstateText))) ); } diff -r 73364919b7cc -r 1e4021519ff3 mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CommitsInfoBuilderSupportTest.java --- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CommitsInfoBuilderSupportTest.java Wed Jan 22 14:00:16 2014 +0100 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CommitsInfoBuilderSupportTest.java Thu Jan 23 15:16:10 2014 +0100 @@ -27,6 +27,7 @@ import java.io.File; import java.io.IOException; import java.util.*; +import java.util.concurrent.atomic.AtomicBoolean; import static jetbrains.buildServer.buildTriggers.vcs.mercurial.MercurialSupportBuilder.mercurialSupport; import static jetbrains.buildServer.buildTriggers.vcs.mercurial.Util.copyRepository; @@ -119,19 +120,43 @@ } } - @Test(enabled = false) - public void should_return_graphcommits() throws Exception { - VcsRoot root = vcsRoot().withLocalRepository(new File("F:\\Work\\ReSharper")).build(); + @Test + public void should_return_subrepos_graphcommits() throws Exception { + myRemoteRepo = myTempFiles.createTempDir(); + copyRepository(new File("mercurial-tests/testData/subrepos/r1"), myRemoteRepo); + VcsRoot root = vcsRoot().withUrl(myRemoteRepo).build(); + + final AtomicBoolean hasSubRepo = new AtomicBoolean(false); final long start = System.currentTimeMillis(); mySupport.collectCommits(root, CheckoutRules.DEFAULT, new CommitsInfoBuilder.CommitsConsumer() { public void consumeCommit(@NotNull CommitInfo commit) { - + if (commit.getMountPoints().size() > 0) hasSubRepo.set(true); } }); final long actual = System.currentTimeMillis() - start; System.out.println("computed in " + actual + " ms"); + + Assert.assertTrue(hasSubRepo.get(), "Must have sub-repos"); + } + + @Test(enabled = false) + public void should_return_graphcommits() throws Exception { + VcsRoot root = vcsRoot().withLocalRepository(new File("F:\\Work\\ReSharper")).build(); + + final AtomicBoolean hasSubRepo = new AtomicBoolean(false); + final long start = System.currentTimeMillis(); + mySupport.collectCommits(root, CheckoutRules.DEFAULT, new CommitsInfoBuilder.CommitsConsumer() { + public void consumeCommit(@NotNull CommitInfo commit) { + if (commit.getMountPoints().size() > 0) hasSubRepo.set(true); + } + }); + + final long actual = System.currentTimeMillis() - start; + System.out.println("computed in " + actual + " ms"); + + Assert.assertTrue(hasSubRepo.get(), "Must have sub-repos"); }