f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * CDDL HEADER START
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * The contents of this file are subject to the terms of the
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * Common Development and Distribution License (the "License").
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * You may not use this file except in compliance with the License.
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * See LICENSE.txt included in this distribution for the specific
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * language governing permissions and limitations under the License.
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * When distributing Covered Code, include this CDDL HEADER in each
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * file and include the License file at LICENSE.txt.
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * If applicable, add the following below this CDDL HEADER, with the
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * fields enclosed by brackets "[]" replaced with your own identifying
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * information: Portions Copyright [yyyy] [name of copyright owner]
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * CDDL HEADER END
f5adbc0c900c7c5db642a75278e7511808faf146Lubos Kosco * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakariaimport org.opensolaris.opengrok.history.BazaarRepository;
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakariaimport org.opensolaris.opengrok.history.CVSRepository;
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakariaimport org.opensolaris.opengrok.history.GitRepository;
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakariaimport org.opensolaris.opengrok.history.MercurialRepository;
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakariaimport org.opensolaris.opengrok.history.PerforceRepository;
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakariaimport org.opensolaris.opengrok.history.Repository;
c299ab30469f021ec01d54bb058b300e3f5051a7Farid Zakariaimport org.opensolaris.opengrok.history.SubversionRepository;
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria * A template {@link org.opensolaris.opengrok.condition.RunCondition} that will disable certain tests
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria * if the repository is not working - generally means not available through the CLI.
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria * Each run condition can be forced on with the system property <b>junit-force-{name}=true</b> or <b>junit-force-all=true</b>
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakariapublic abstract class RepositoryInstalled implements RunCondition {
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria static final String FORCE_ALL_PROPERTY = "junit-force-all";
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria public RepositoryInstalled(String name, Repository repository) {
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria if (Boolean.getBoolean(forceSystemProperty())) {
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria public static class MercurialInstalled extends RepositoryInstalled {
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria super("mercurial", new MercurialRepository());
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria public static class GitInstalled extends RepositoryInstalled {
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria public static class BazaarInstalled extends RepositoryInstalled {
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria public static class CvsInstalled extends RepositoryInstalled {
d622a041594a53bdca784d41ee6af964cca3a17bFarid Zakaria public static class PerforceInstalled extends RepositoryInstalled {
c299ab30469f021ec01d54bb058b300e3f5051a7Farid Zakaria public static class SubvsersionInstalled extends RepositoryInstalled {