package org.testng.eclipse.launch; import org.testng.eclipse.TestNGPlugin; /** * Constants used to pass information from the launch manager to the launcher. * * @author cbeust */ public abstract class TestNGLaunchConfigurationConstants { public static final String ID_TESTNG_APPLICATION = "org.testng.eclipse.launchconfig"; //$NON-NLS-1$ private static String make(String s) { return TestNGPlugin.PLUGIN_ID + "." + s; } /** * Root directory of the tests. If this property is set, * TestNG will run all the tests contained in this directory. */ public static final String DIRECTORY_TEST_LIST = make("DIRECTORY_TEST_LIST"); //$NON-NLS-1$ /** * List of classes */ public static final String CLASS_TEST_LIST = make("CLASS_TEST_LIST"); //$NON-NLS-1$ /** * List of methods. This is replaced by {@link #ALL_METHODS_LIST}. */ public static final String METHOD_TEST_LIST = make("METHOD_TEST_LIST"); //$NON-NLS-1$ public static final String ALL_METHODS_LIST = make("ALL_CLASS_METHODS"); //$NON-NLS-1$ /** * List of packages */ public static final String PACKAGE_TEST_LIST = make("PACKAGE_TEST_LIST"); //$NON-NLS-1$ /** * List of sources */ public static final String SOURCE_TEST_LIST = make("SOURCE_TEST_LIST"); //$NON-NLS-1$ /** * List of groups */ public static final String GROUP_LIST = make("GROUP_LIST"); //$NON-NLS-1$ public static final String GROUP_CLASS_LIST = make("GROUP_LIST_CLASS"); /** * default log level for nothing */ public static final int DEFAULT_LOG_LEVEL = 2; /** * List of suites */ public static final String SUITE_TEST_LIST = make("SUITE_TEST_LIST"); //$NON-NLS-1$ /** * Port of the launcher */ public static final String PORT = make("PORT"); //$NON-NLS-1$ /** * Name of the project */ public static final String PROJECT_NAME = make("PROJECT_NAME"); //$NON-NLS-1$ public static final String TESTNG_RUN_NAME_ATTR = make("SUBNAME"); //$NON-NLS-1$ public static final String TEMP_SUITE_LIST = make("TEMP_SUITE_LIST"); //$NON-NLS-1$ public static final String TYPE = make("TYPE"); //$NON-NLS-1$ public static final String LOG_LEVEL = make("LOG_LEVEL"); //$NON-NLS-1$ public static final String VERBOSE = make("VERBOSE"); //$NON-NLS-1$ public static final String DEBUG = make("DEBUG"); //$NON-NLS-1$ public static final String PROTOCOL = make("PROTOCOL"); //$NON-NLS-1$ public static final String RUNTIME_TESTNG_VERSION = make("RUNTIME_TESTNG_VERSION"); //$NON-NLS-1$ public static final String VM_ENABLEASSERTION_OPTION = "-ea"; public static final String PRE_DEFINED_LISTENERS = make("PRE_DEFINED_LISTENERS"); // What kind of run we are doing // This would be a nice place for an enum when jdk1.5 or later can be // required. static public enum LaunchType { UNDEFINED(-1), CLASS(1), GROUP(2), SUITE(3), METHOD(4), PACKAGE(5); private int m_type; LaunchType(int type) { m_type = type; } public static LaunchType fromInt(int result) { for (LaunchType lt : values()) { if (lt.m_type == result) return lt; } return null; } } public static final Protocols[] SERIALIZATION_PROTOCOLS = {Protocols.JSON, Protocols.OBJECT, Protocols.STRING}; public static final Protocols DEFAULT_SERIALIZATION_PROTOCOL = SERIALIZATION_PROTOCOLS[0]; public static enum Protocols { OBJECT("object"), STRING("string"), JSON("json"); private final String text; /** * @param text */ private Protocols(final String text) { this.text = text; } public static Protocols get(String text) { switch (text) { case "object": return OBJECT; case "string": return STRING; case "json": return JSON; default: throw new IllegalArgumentException("Unrecognized protocol: " + text); } } @Override public String toString() { return text; } } }