From 6c28282a7ebdb9447422861b88bb1c85d23ca02f Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sat, 14 Jul 2012 11:05:20 +0200 Subject: [PATCH] added system property to skip mercurial tests --- .../repository/HgRepositoryHandlerTest.java | 7 +- .../java/sonia/scm/repository/HgTestUtil.java | 66 +++++++++++++++++++ .../spi/AbstractHgCommandTestBase.java | 8 +-- 3 files changed, 69 insertions(+), 12 deletions(-) create mode 100644 scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgTestUtil.java diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgRepositoryHandlerTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgRepositoryHandlerTest.java index ab052525fe..9a99fedcfc 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgRepositoryHandlerTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgRepositoryHandlerTest.java @@ -95,12 +95,7 @@ public class HgRepositoryHandlerTest extends SimpleRepositoryHandlerTestBase handler.init(contextProvider); handler.getConfig().setRepositoryDirectory(directory); - // skip tests if hg not in path - if (!handler.isConfigured()) - { - System.out.println("WARNING could not find hg, skipping test"); - assumeTrue(false); - } + HgTestUtil.checkForSkip(handler); return handler; } diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgTestUtil.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgTestUtil.java new file mode 100644 index 0000000000..1ef99a5a1a --- /dev/null +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/HgTestUtil.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2010, Sebastian Sdorra All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. 2. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. 3. Neither the name of SCM-Manager; + * nor the names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * http://bitbucket.org/sdorra/scm-manager + * + */ + + + +package sonia.scm.repository; + +//~--- non-JDK imports -------------------------------------------------------- + +import org.junit.Assume; + +/** + * + * @author Sebastian Sdorra + */ +public class HgTestUtil +{ + + /** + * Method description + * + * + * @param handler + */ + public static void checkForSkip(HgRepositoryHandler handler) + { + // skip tests if hg not in path + if (!handler.isConfigured()) + { + System.out.println("WARNING could not find hg, skipping test"); + Assume.assumeTrue(false); + } + + if (Boolean.getBoolean("sonia.scm.test.skip.hg")) + { + System.out.println("WARNING mercurial test are disabled"); + Assume.assumeTrue(false); + } + } +} diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/AbstractHgCommandTestBase.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/AbstractHgCommandTestBase.java index 0dda35751e..3e274915d4 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/AbstractHgCommandTestBase.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/repository/spi/AbstractHgCommandTestBase.java @@ -43,6 +43,7 @@ import sonia.scm.SCMContext; import sonia.scm.io.FileSystem; import sonia.scm.repository.HgContextProvider; import sonia.scm.repository.HgRepositoryHandler; +import sonia.scm.repository.HgTestUtil; import sonia.scm.repository.TempSCMContextProvider; import sonia.scm.store.MemoryStoreFactory; @@ -96,12 +97,7 @@ public class AbstractHgCommandTestBase extends ZippedRepositoryTestBase fileSystem, new HgContextProvider()); this.handler.init(context); - // skip tests if hg not in path - if (!handler.isConfigured()) - { - System.out.println("WARNING could not find hg, skipping test"); - Assume.assumeTrue(false); - } + HgTestUtil.checkForSkip(handler); cmdContext = new HgCommandContext(handler.getConfig(), repositoryDirectory); }